← ゲームをひらく

CodeTank Arena を授業で使う

戦車を動かすプログラムを書いて戦わせる、無料のプログラミング教材です。 小学生が絵のカードを並べるところから、高校「情報Ⅰ」で扱うアルゴリズムと計算量まで、 同じ 1 つの画面の中で地続きにつながっています。 登録もインストールも要りません。

生徒が、自分から考えはじめる理由

プログラミングの授業でいちばん難しいのは、「やってみたい」という気持ちを起こすことです。 この教材は、それを「勝ちたい」に任せます。

作戦が、その場で戦車の動きになる

並べたブロックがそのまま戦車の動きになります。1 試合は数秒から 1 分ほど。 「置く → 見る → 直す」を、授業の中で何度も回せます。

負けたときに、答えでなく問いが返ってくる

試合のあとの分析画面は、正解を示しません。「どの距離なら当たっている?」と問い、仮説を書かせます。 勝った試合でも開けるので、「負けた子だけが振り返る」形になりません。

つまずいても、置き去りにされない

ステージごとのヒントがあり、エラーは行番号つきの平易な日本語で出ます。 ボスは 3 本勝負なので、まぐれ勝ちも、1 回の負けで終わることもありません。

ブロックから Python まで、書き直さない

かんたんブロックで作った作戦は、そのまま Python として読めます。 進度のちがう生徒が 1 つの教室にいても、みな同じ画面の中で、自分の段に合わせて進められます。

学校段階を選んで、45 分の授業案を見る

学年ごとに、ねらい・準備・分刻みの進め方・つまずきへの声かけ・評価の観点をまとめました。 どれも ぼうけんの実際のステージに沿っています。

授業案の分数は、目安です。教室では、ステージを選ぶ数や、ふりかえりの長さで調整してください。 ゲーム内の試合そのものは短く、下の表のとおりです。

授業計画の目安になる、試合の長さ

授業案の分数を決める材料として、模範解答で実際に試合を走らせて、ゲーム内の秒数を測りました。 (生徒が考える時間は含みません。再生は早送りできます。)

種類1 試合の長さ
🎯 れんしゅう4〜23 秒(最長は 5-3 の 60 秒)1-1 はじめの一歩 4 秒/3-1 よける 20 秒
⚔ バトル4〜43 秒2-4 はじめての撃ち合い 7 秒/4-3 かたいまもり 43 秒
👑 ボス3 本勝負で、合計 30 秒〜2 分ほど2-5 スナイパー 41・43・41 秒

試合の待ち時間はほとんどありません。授業の時間を決めるのは、生徒が作戦を考えて直す時間です。

授業の前に、先生がしておくこと(3 分)

  1. 端末でこのサイトを開き、初回の質問(プログラムを作ったことがあるか)に答えられることを確認します。答えは、ガレージであとから変えられます。
  2. ガレージの「もっと見る」にある 「🔓 かんたんブロックの部品をぜんぶ出す」は、先生・経験者向けの設定です。授業の前に先生が試すときに使います。生徒は、ぼうけんで部品を 1 つずつ手に入れます。
  3. ブラウザのデータを消すと、作ったものも消えます。共用端末では、授業の終わりにガレージの「📤 書き出し」でファイルに保存するよう伝えます。

3 つの見え方で、同じ作戦を読む

生徒が書いたものは、いつでも 3 つの見え方で並べて確認できます。書き直しではなく読み替えなので、 前の段でつくったものが無駄になりません。

見え方想定
第 1 段かんたんブロック(絵のカードを並べる。文字も数字も打たない)小学生・はじめて
第 2 段ブロック(Python と 1 対 1 で対応する。値や変数名はプルダウンで選ぶ)中学生・Scratch 経験者
第 3 段Python(直接書く)高校生・情報Ⅰ
読む専用共通テスト用プログラム表記(DNCL)共通テスト「情報」の読解練習

共通テスト用プログラム表記(DNCL)に対応しています

書いた Python を、大学入学共通テスト「情報」で使われる書き方に並べて表示できます。 自分が考えた作戦が試験の表記でどう書かれるのかを、問題集ではなく自分のコードで確かめられます。

この表示は読む専用です(この表記で書いて動かすことはできません)。 記法は現行の「共通テスト用プログラム表記」に合わせてあります。

計算量を「重さ」として体験できます

1 回の思考(0.1 秒ごと)で使える命令数に上限があります。画面の「命令数メーター」が、 その回に何命令使ったかをその場で数字にします。

最短経路を探す関数のような重い処理も、この命令数に加算されます。 つまり「重い処理は重い」ことが、説明ではなく手ざわりとして分かります。 上限を超え続けると戦車は動きを止めるので、生徒は自分で軽い書き方を探すことになります。

データの活用に、そのまま使えます

試合のあと、6 種類のグラフが出ます(すべてブラウザの中だけで動きます)。

  • 被弾ヒートマップ:どのマスでやられているか
  • 射撃距離の散布図:どの距離なら当たるか(○=命中/✕=失敗)
  • 距離別の命中率:1 マス刻みのヒストグラム
  • HP の推移:どの時間帯に打たれているか
  • 命令数の消費:思考ごとの計算量
  • 移動の軌跡:両者の動き

画面は答えを出しません。問いを出します(「どの距離なら当たっている?」)。 仮説を書く欄があり、書いてからもう一度戦って確かめる流れになっています。 勝った試合でも開けるので、「負けたときだけ振り返る」形にはなりません。

学習指導要領との対応

単元該当する機能
(2) コミュニケーションと情報デザイン バトル分析でのグラフの選び方、思考の可視化
(3) コンピュータとプログラミング 変数・分岐・反復・関数/幅優先探索による最短経路/計算量(命令数メーター)/モデル化とシミュレーション(試合の物理計算そのものが題材)
(4) 情報通信ネットワークとデータの活用 散布図・ヒストグラム・標本の大きさ・仮説検証/ハッシュと再現性(同じ入力なら同じ結果になることの確認)

上の表は高等学校「情報Ⅰ」の区分です。小学校・中学校での位置づけは、それぞれの授業案のページに書きました。

学校の端末・ネットワークの条件

項目状態
アカウント不要。作る画面そのものがありません
インストール不要。ブラウザだけで動きます
外部 CDN一切使いません。フォントも部品も、すべてこのサイトから配っています
通信最初の読み込みだけ。開いたあとはサーバーと通信しません
画面1280 × 800(GIGA 端末の標準的な画面)で 3 ペインが並びます。タブレットは 2 ペイン+タブ切りかえ
タッチ操作ブロックは指でドラッグできます。タップと ↑↓ ボタンでも同じことができます
通信が切れたとき一度ひらいていれば、そのまま最後まで遊べます(ページを読み直すには通信が要ります)

安全とプライバシー

  • 生徒の氏名・メールアドレスなど、個人情報を一切集めません(入力する欄がありません)
  • 書いたプログラムと遊んだ記録は、その端末のブラウザの中だけに残ります
  • アクセス解析ツールを入れていません。閲覧の様子を外部のサービスへ送ることはありません
  • ブラウザのデータを消すと作ったものも消えます。ガレージの「書き出し」でファイルに保存できます

保護者に配るお知らせや、家庭への説明は 保護者向けのページにまとめてあります。

これから作るもの

授業でお使いになる前に、次の機能はまだ無いことをご確認ください(開発中です)。

  • コードを配って、クラス単位で参加できるようにするしくみ
  • 先生が生徒の進み具合や提出物を見られる画面
  • 全国のプレイヤーと毎日戦う対戦モード

いまの形でも、1 人 1 台の端末でそれぞれが遊び、画面を見せ合う使い方であれば授業で使えます。 進み具合は、ぼうけんの一覧(「進み具合 ○ / 26 ステージ」が出ます)を見せてもらって確かめます。 提出は、ガレージの「書き出し」で作ったファイルを集める形になります。

🛡️ ゲームをひらく