トップQs
タイムライン
チャット
視点

Crobots

ウィキペディアから

Remove ads

Crobots』(シーロボッツ)は、1985年12月にTom Poindexterより初版がリリースされたプログラミングゲーム。ロボットC言語風のプログラムでコントロールし、同時に実行されている他のロボットを探し出して破壊し、自身は生き残るのがゲームの目的である。ロボットに対しては、戦場を動き回る、索敵する、大砲を放つという指示ができる。[1][2]

概要 作者, 初版 ...
Remove ads

概要

競技場を舞台にロボット同士が戦う。競技場の広さは1000メートル×1000メートル。同時に登場できるロボットは4台まで。ロボットは移動、索敵、砲撃を行うことができ、砲撃を受けたロボットはダメージを受ける。ダメージが100を超えると破壊されたとみなされ競技場から退場する。最後まで競技場に残ったロボットが勝者となる[2]

ロボットの動作は、C言語風のプログラムで記述する。言語機能としてはC言語と比べると浮動小数点数、構造体、共用体、ポインタ、一部の制御構文などがない。ロボット制御用ライブラリとしてscan(索敵)、cannon(砲撃)、drive(移動)、damane(ダメージ取得)、speed(スピード制御)、loc_x/loc_y(現在位置取得)の各関数が提供される。その他にrand、sqrt、sin、cos、tan、atanの各関数が使用できる[2]

プログラムは独自の32bitスタックアーキテクチャCPUのコードにコンパイルされて実行される。1台のロボットに割り当てられるコード領域は1000命令、スタック領域は500ワードまでとなっている[2]

Crobotsはシェアウェアであるがソースコードは公開されており、その解説が月刊アスキー1988年2月号から3回にわたって掲載された。[3]

Remove ads

クローン

多くのCrobotsクローンが作成された。しかしながら、コンパイラとバーチャルマシンが揃ったものは、JavaクローンとJava VMやマイクロソフトコンパイラを使用したC++クローンなどごく一部である。

正式なクローンは、Tom Poindexterのオリジナル版と同じ機能を持つが、標準Cライブラリの三角関数に合わせるため、しばしば角度の向きが変えられる。直近のクローンはCrobots64とNetrobotsである。Marco ZoraによるcrobotsはC++サブセットコンパイラとバーチャルマシンに加え、優れたグラフィックインターフェイスを持つ[4]。このクローンの重要な点は、同種のCrobotsとの新しい協調性があり、Crobotsの数が無制限であり、浮動小数点による演算と仮想CPUの速度です。一方、Netrobotsはネットワーク越しに実行することができ、それぞれのロボットは別々のプロセスで動作し、異なる言語で記述することができる[5]

CrobotsはApple IIで動作するen:RobotWarからコンセプトを得ている[3]。RobotWarはプロプライエタリソフトウェアであり、言語も独自の言語であった。また、リアルタイムビューを含んでいた。

Remove ads

日本での普及

オリジナルのCrobotsはIBM PC上のMS-DOSで動作するが、これをアスキー編集部ICWS(International Core Wars Society、Core Warsについてはコア戦争を参照)日本支部がPC-9801FM-16βなどの国産MS-DOSパソコンに移植し、月刊アスキーディスクサービスやASCII-NET(PCS)で公開された[2]。また、有志によりPC-88VAのMSE上で動作するパッチも公開された[6]

ICWS日本支部では日本CROBOTSトーナメントを開催した。第1回は1987年10月3日に南青山で18台のロボットが参加して行われた[7]

脚注

関連項目

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads