ハイスコアを記録しよう
ゲーム後にスコアを表示。倒した敵の数・経過ターンから点数を算出。max で過去最高と比べてハイスコア更新を表示。
🧠 できるようになること
- スコアの計算ロジックを設計できる
maxでハイスコア比較ができる- リプレイ性のあるゲームに進化させる
🧰 用意するもの
- パソコン
- ブラウザ(Chrome / Edge / Safari)
- インターネット接続
- Trinket(https://trinket.io/python)
🖼 できあがり
クリア後に「スコア:N点 / ハイスコア:M点」が表示されます。新記録なら「🏆 ハイスコア更新!」
📺 実行結果
🏆 全ステージクリア! 倒した敵の数:3 経過ターン:15 スコア:85点 ハイスコア:100点
🚀 やりかた
- 戦闘でターン数
total_turnsを数える。 - 倒した敵の数
enemies_defeatedを数える。 - スコア計算
score = enemies_defeated * 50 - total_turns * 2。 - ハイスコアと比較して新記録判定。
🐍 きょうのコード
Python
main.py
high_score = 100 # 過去のハイスコア(仮)
# 仮のゲーム結果
enemies_defeated = 3
total_turns = 15
remaining_hp = 60
score = enemies_defeated * 50 - total_turns * 2 + remaining_hp // 2
print("🏆 全ステージクリア!")
print(f"倒した敵の数:{enemies_defeated}")
print(f"経過ターン:{total_turns}")
print(f"残りHP:{remaining_hp}")
print(f"スコア:{score}点")
print(f"ハイスコア:{max(score, high_score)}点")
if score > high_score:
print("🎉 ハイスコア更新!")
上のコードをコピーして、Trinketの左のエリアに貼り付け、Runボタン(▶)を押すと動きます。
💡 きょうのポイント
スコア計算式を自分で決められるのがプログラミングの面白さ。何を評価するかで「上手い」の基準が変わります。max(a, b) で大きい方を返す。
🎮 チャレンジ
- クリア時間を
timeで計測してスコアに反映 - ターン数が少ないほどボーナス
- 難易度別ハイスコアを管理(dict使用)
🔁 ふりかえり
- 「うまく遊んだ」の基準をどう決める?
- ハイスコアの保存はTrinketだとできない(実行ごとにリセット)
- 次回はテストプレイ
👨👩👧 おうちの人・先生へ
- 準備:なし。
- つまずきポイント:なし。
- 声かけ例:「ゲームバランスを設計する」プロデューサー視点を養う回。