コンテンツにスキップ

ようご集

読(よ)んでいて知(し)らない言葉(ことば)が出(で)てきたら、ここで探(さが)してください。 右上(みぎうえ)の検索(けんさく)(Ctrl + K)でも引(ひ)けます。

むずかしい 言葉が 出てきたら、この 表の ように 読みかえて ください。 (かんたんブロックで 遊ぶときは、右の 言葉だけ 知っていれば だいじょうぶです)

出てくる言葉やさしい 言いかえ
bot(ボット)じぶんの 戦車の 作戦(戦車の あたまの なか)
プログラムならべた ブロック(作戦)。戦車は この とおりに 動く
CPU(シーピーユー)コンピューターが 動かす あいての 戦車
state(ステート)戦車の センサーが 見ている、まわりの ようす(敵の 場所や HP など)
tick(ティック)・フレーム0.1 秒ごとの、考える じかん
update(アップデート)0.1 秒ごとに 呼ばれる、作戦の 本体
引数(ひきすう)・戻り値(もどりち)ブロックでは 出てきません。「決めた 4 つの 行動」と 考えて OK
偏差射撃(へんさしゃげき)先読み射撃(うごく 敵の 少し 前を ねらうこと)
命令数(めいれいすう)1 回に 考える 量。多すぎると 止められる
リプレイ(保存した 試合)何回 見ても、ぜったいに 同じ 試合に なる。いつでも コマ送りや 巻きもどしが できる
言葉説明
bot(ボット)あなたが書(か)いたプログラム。タンクの頭脳(ずのう)です。
自分(じぶん)ではタンクを操作(そうさ)しません。かわりに bot が戦(たたか)います。
タンク戦車(せんしゃ)のこと。あなたの bot が動(うご)かすものです。
マス距離(きょり)の単位(たんい)。フィールドの四角(しかく) 1 つ分(ぶん)です。フィールドは 20 × 15 マス。
フレーム時間(じかん)の単位(たんい)。1 フレーム = 1/60 秒(びょう)。画面(がめん)は 1 秒に 60 枚(まい)描(えが)かれます。
tick(ティック)bot が考(かんが)える 1 回(かい)ぶん。6 フレームに 1 回= 1 秒に 10 回です。
考(かんが)えていないあいだ、タンクは前(まえ)に言(い)われたことを続(つづ)けます。
HP(エイチピー)体力(たいりょく)。3 から始(はじ)まり、当(あ)たるたびに 1 減(へ)ります。0 で負(ま)けです。
リロード次(つぎ)の弾(たま)をこめること。このゲームでは 1.2 秒かかります。
バリア正面(しょうめん)だけを守(まも)る盾(たて)。左右(さゆう) 45 度(ど)のあいだだけ防(ふせ)ぎます。
後(うし)ろと横(よこ)は守(まも)りません。
サプライ試合(しあい)の途中(とちゅう)でまん中(なか)に落(お)ちてくる補給物資(ほきゅうぶっし)。
拾(ひろ)うとバリアが 1 増(ふ)え、10 秒だけリロードが速(はや)くなります。
縮小(しゅくしょう)エリア残(のこ)り 20 秒から、まわりが鉄(てつ)の壁(かべ)に変(か)わって戦(たたか)う場所(ばしょ)がせまくなること。
壁(かべ)になるマスにいるとその場(ば)で負(ま)けです。
リプレイ試合(しあい)の記録(きろく)。動画(どうが)ではなく**数字(すうじ)の列(れつ)**で保存(ほぞん)されていて、再生(さいせい)のたびに計算(けいさん)し直(なお)しています。
言葉説明
関数(かんすう)名前(なまえ)をつけた処理(しょり)のまとまり。def で作(つく)ります。
あなたが必(かなら)ず書(か)くのは update という関数ひとつです。
引数(ひきすう)関数(かんすう)に渡(わた)す材料(ざいりょう)。update(state) の state がそれです。
戻(もど)り値(ち)関数が返(かえ)す答(こた)え。return のうしろに書(か)きます。
state(ステート)いまの試合(しあい)の状況(じょうきょう)がぜんぶ入(はい)っている入(い)れ物(もの)。
→ state リファレンス
dict(ディクト・辞書(じしょ))「名前(なまえ)と値(あたい)」の組(くみ)をまとめたもの。{"fire": True} のような形(かたち)です。
update はこの形で答(こた)えを返(かえ)します。
list(リスト)順番(じゅんばん)のあるならび。[1, 2, 3] の形。len() で個数(こすう)が分(わ)かります。
PyLite(パイライト)このゲーム専用(せんよう)に作(つく)られた Python。本物(ほんもの)の Python の**一部(いちぶ)だけ**が使(つか)えます。
→ Sub-Python の構文(こうぶん)
命令数(めいれいすう)バジェット1 回(かい)の update で使(つか)える計算(けいさん)の量(りょう)の上限(じょうげん)。150,000 です。
ふつうに書(か)いていれば、まず届(とど)きません。
言葉説明
角度(かくど)向(む)きを表(あらわ)す数(かず)。このゲームでは 0 = 右(みぎ)、90 = 下(した)、180 = 左(ひだり)、270 = 上(うえ)。
算数(さんすう)のグラフと違(ちが)って、下(した)に行(い)くほど Y が大(おお)きくなります。
ベクトル「向(む)きと大(おお)きさ」を持(も)った数(かず)。xx と yy の 2 つ組(くみ)で書(か)きます。
太字(ふとじ)の p\mathbf{p} のように書(か)かれていたら、それはベクトルです。
内積(ないせき)2 つのベクトルの「向(む)きの近(ちか)さ」を表(あらわ)す数(かず)。a⋅b=axbx+ayby\mathbf{a} \cdot \mathbf{b} = a_x b_x + a_y b_y。
同(おな)じ向きなら大(おお)きく、直角(ちょっかく)なら 0、逆(ぎゃく)向きならマイナスになります。
法線(ほうせん)ベクトル面(めん)に垂直(すいちょく)な向(む)き。壁(かべ)で弾(たま)がはね返(かえ)る計算(けいさん)に使(つか)います。
→ 跳弾(ちょうだん)のしくみ
三平方(さんへいほう)の定理(ていり)直角三角形(ちょっかくさんかくけい)で a2+b2=c2a^2 + b^2 = c^2 が成(な)り立(た)つこと。
2 点(てん)の距離(きょり)はこれで求(もと)まります。distance() が中(なか)でやっているのはこれです。
言葉説明
決定論(けっていろん)同(おな)じ入力(にゅうりょく)からは、どの端末(たんまつ)でも**まったく同じ結果(けっか)**が出(で)ること。
このゲームのいちばん大事(だいじ)な約束(やくそく)です。
→ 決定論(けっていろん)と固定小数点(こていしょうすうてん)
シードマップや乱数(らんすう)のもとになる数字(すうじ)ひとつ。同(おな)じシードなら同(おな)じマップができます。
固定小数点(こていしょうすうてん)小数(しょうすう)を使(つか)わずに、整数(せいすう)だけで小数(しょうすう)を表(あらわ)すやりかた。
このゲームは 1 マスを 65536 に分(わ)けて数(かぞ)えています。
LUT(ルックアップテーブル・表引(ひょうび)き表(ひょう))計算(けいさん)するかわりに、答(こた)えを並(なら)べておいて引(ひ)く方法(ほうほう)。
このゲームの sin は、1024 個(こ)の数字(すうじ)の表(ひょう)です。
タイブレーク「どちらでもよい」場面(ばめん)で、先(さき)に決(き)めておく規則(きそく)。
例(れい):弾(たま)が角(かど)に当(あ)たったら **X 軸(じく)の反転(はんてん)を優先(ゆうせん)**する。
DDA直線(ちょくせん)が通(とお)るマスを、1 つも飛(と)ばさずにたどる方法(ほうほう)。
「壁(かべ)ごしに見(み)えているか」の判定(はんてい)に使(つか)います。
→ 視線判定(しせんはんてい)と DDA
BFS(幅優先探索(はばゆうせんたんさく))近(ちか)いところから順(じゅん)に、波紋(はもん)のように広(ひろ)げて道(みち)を探(さが)す方法(ほうほう)。
→ 経路探索(けいろたんさく)と計算量(けいさんりょう)
DNCL・共通(きょうつう)テスト用(よう)プログラム表記(ひょうき)大学入学(だいがくにゅうがく)共通(きょうつう)テスト『情報(じょうほう)Ⅰ』で使(つか)われる日本語(にほんご)の書(か)きかた。
このアプリは同(おな)じコードをこの表記(ひょうき)で表示(ひょうじ)できます。
→ 対訳表(たいやくひょう)