ようご集
読んでいて知らない言葉が出てきたら、ここで探してください。 右上の検索(Ctrl + K)でも引けます。
やさしい 言いかえ
Section titled “やさしい 言いかえ”むずかしい 言葉が 出てきたら、この 表の ように 読みかえて ください。 (かんたんブロックで 遊ぶときは、右の 言葉だけ 知っていれば だいじょうぶです)
| 出てくる言葉 | やさしい 言いかえ |
|---|---|
| bot(ボット) | じぶんの 戦車の 作戦(戦車の あたまの なか) |
state(ステート) | 戦車の センサーが 見ている、まわりの ようす(敵の 場所や HP など) |
| tick(ティック)・フレーム | 0.1 秒ごとの、考える じかん |
update(アップデート) | 0.1 秒ごとに 呼ばれる、作戦の 本体 |
| 引数(ひきすう)・戻り値(もどりち) | ブロックでは 出てきません。「決めた 4 つの 行動」と 考えて OK |
| 偏差射撃(へんさしゃげき) | 先読み射撃(うごく 敵の 少し 前を ねらうこと) |
| 命令数(めいれいすう) | 1 回に 考える 量。多すぎると 止められる |
| リプレイ(保存した 試合) | 何回 見ても、ぜったいに 同じ 試合に なる。いつでも コマ送りや 巻きもどしが できる |
ゲームの言葉
Section titled “ゲームの言葉”| 言葉 | 説明 |
|---|---|
| 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 秒から、まわりが鉄の壁に変わって戦う場所がせまくなること。 壁になるマスにいるとその場で負けです。 |
| リプレイ | 試合の記録。動画ではなく**数字の列**で保存されていて、再生のたびに計算し直しています。 |
プログラムの言葉
Section titled “プログラムの言葉”| 言葉 | 説明 |
|---|---|
| 関数 | 名前をつけた処理のまとまり。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 です。ふつうに書いていれば、まず届きません。 |
算数・数学の言葉
Section titled “算数・数学の言葉”| 言葉 | 説明 |
|---|---|
| 角度 | 向きを表す数。このゲームでは 0 = 右、90 = 下、180 = 左、270 = 上。 算数のグラフと違って、下に行くほど Y が大きくなります。 |
| ベクトル | 「向きと大きさ」を持った数。 と の 2 つ組で書きます。 太字の のように書かれていたら、それはベクトルです。 |
| 内積 | 2 つのベクトルの「向きの近さ」を表す数。。 同じ向きなら大きく、直角なら 0、逆向きならマイナスになります。 |
| 法線ベクトル | 面に垂直な向き。壁で弾がはね返る計算に使います。 → 跳弾のしくみ |
| 三平方の定理 | 直角三角形で が成り立つこと。 2 点の距離はこれで求まります。 distance() が中でやっているのはこれです。 |
エンジンの言葉(上級)
Section titled “エンジンの言葉(上級)”| 言葉 | 説明 |
|---|---|
| 決定論 | 同じ入力からは、どの端末でも**まったく同じ結果**が出ること。 このゲームのいちばん大事な約束です。 → 決定論と固定小数点 |
| シード | マップや乱数のもとになる数字ひとつ。同じシードなら同じマップができます。 |
| 固定小数点 | 小数を使わずに、整数だけで小数を表すやりかた。 このゲームは 1 マスを 65536 に分けて数えています。 |
| LUT(ルックアップテーブル・表引き表) | 計算するかわりに、答えを並べておいて引く方法。 このゲームの sin は、1024 個の数字の表です。 |
| タイブレーク | 「どちらでもよい」場面で、先に決めておく規則。 例:弾が角に当たったら **X 軸の反転を優先**する。 |
| DDA | 直線が通るマスを、1 つも飛ばさずにたどる方法。 「壁ごしに見えているか」の判定に使います。 → 視線判定と DDA |
| BFS(幅優先探索) | 近いところから順に、波紋のように広げて道を探す方法。 → 経路探索と計算量 |
| DNCL・共通テスト用プログラム表記 | 大学入学共通テスト『情報Ⅰ』で使われる日本語の書きかた。 このアプリは同じコードをこの表記で表示できます。 → 対訳表 |
- まずゲームのしくみから → タンクのうごかしかた
- 読む順番に迷ったら → はじめて読む人へ