これを学ぶよ
わざ「リスト」に複数のスコアを記録して、後から順番に発表できる仕組みを作ろう。リストへの追加・取り出し・長さの取得という3つの基本操作、リストという新しいデータ型の考え方、そして緑の旗で初期化・S キーで記録後にリセットする「再プレイ可能化」パターンを学ぶ。
つかうブロック
動画を見て、自分でも作ってみよう
やってみよう!1スコアを稼ぐ仕組みを作ろう
まずスコアを稼ぐ仕組みを作りましょう。スコア変数を 0 で初期化して、スペースキーを押すたびに 1 ずつ増やします。連打で一気に増えすぎないように、少しだけ待つブロックを入れましょう。
↑上のならべ方も見てね
使うブロック
ヒント
2S キーでリストにスコアを追加しよう
「変数」の引き出しから「リストを作る」をクリックして「ランキング」というリストを作りましょう。Sキーを押したら今のスコアをリストに追加します。リストはステージに表示されるので、追加されたことが目で見えます。何回もプレイすると、スコアがどんどん溜まっていきます!
使うブロック
ヒント
3追加したスコアを発表しよう
スコアを追加したときに、「スコア: 〇〇」と話すようにしましょう。文字と数字をくっつけるには「○と○」(つなげる)ブロックを使います。これで追加したスコアがすぐに分かります。
使うブロック
ヒント
4再プレイ可能にしよう(ランキング初期化 + スコアリセット)
ここまでで遊べますが、緑の旗をもう一度押すと前のスコアがランキングに残ったままで、しかも S キーを押すたびに同じスコアが追加されてしまいます。何度でも遊べるゲームにするには「初期化」と「ラウンド終了時のリセット」が必要です。 (1) ランキングの初期化: 新しく『緑の旗が押されたとき → ランキングのすべてを削除する』というスクリプトを 1 本追加します(既存の「緑の旗 → スコア初期化」とは別の独立したスクリプト)。これで緑の旗を押すたびにランキングが空になります。 (2) ラウンド終了時のスコアリセット: S キーのスクリプトの最後(『○と○秒言う』の下)に『スコアを 0 にする』を追加します。これで記録した直後にスコアが 0 に戻り、次のラウンドを 0 から数え直せます。 ポイント: 初期化と更新は対称になっています。緑の旗 = ラウンド開始 = すべてリセット、S キー = ラウンド終了 = スコアだけリセット。
使うブロック
ヒント
5R キーでランキングを順番に発表しよう
R キーを押したらランキングをすべて発表する仕組みを作ります。「番号」変数を 1 から始めて、リストの長さの分だけくり返します。「○の○番目」でリストの番号目の中身を取り出して話します。番号を 1 ずつ増やせば、最初から最後まで順番に発表できます!
使うブロック
ヒント
AI チャットを使うには、ログインが必要だよ。
ログイン・登録するはじめての方はこちら