読者です 読者をやめる 読者になる 読者になる

たぶん週刊「今週の進捗」

1週間に勉強したことや実装したことをネタに、週に1回(主に土日に)更新していく予定です。「多分」なので、臨時休刊があってもご海容ください。

プログラムで何か作ろう計画 7週目

略して「プロつく計画」(定着しない)

  • 項目の選択をマウスとキーボードで出来るようにしました
  • コマンド実行時に何かしら動くようになりました(わかりにくいので実行時に色が変わるようにしてみた)

これで大体メニュー画面のプロトタイプは完成です。
さて、次はどのあたりを作るかねぇ…。

まぁ、オプションやチュートリアルは今後の拡張として実装するつもりだったので
本編しかないわけですが。

本番で修正したいところ

  • コマンドクラスは描画だけを行うようにする
  • 描画するメソッドに、左上の座標を指定するものと、中央の座標を指定するものの2種類があるので後者に統一する

現時点での仕様満足度

現時点でどの程度仕様を満たしているか振り返ってみよう。(赤が満たした項目)

  • .exeファイルを実行して起動
  • 起動するとタイトル画面を表示
  • タイトル画面に表示されるSTARTボタンクリックか、Spaceキーを押すとゲーム画面へ
  • 消す対象のオブジェクトをブロック、消すべきブロックが表示される領域をフィールドと呼ぶ
  • フィールド上のブロックをクリックorカーソルを合わせてSpaceキーでブロックを消す
  • 消したブロックの数に応じてスコアが加算される
  • ブロックの種類は5種類、フィールドの大きさは縦10×横20
  • ゲーム画面にはブロックの種類別に残りのブロックの数を表示
  • ブロックは図形描画で描く(画像を使うこともできるように拡張性を持たせたい)
    • タイトル画面から、オプションでブロックの柄を選べるようにしたい
  • 効果音やBGM、消した時のアニメーションはつけないが、拡張できるようにしておきたい。
  • 消せるブロックがなくなったらゲームオーバー、最終スコアを表示
  • ゲームオーバーになったら、もう一度・タイトルへ・終了からクリックor矢印キー+Spaceキーで選択。

(斜字は実装はしないが拡張性を持たせたいところ)

とりあえずメニュー画面に関することは大体出来るかな?
それ以前に仕様が大雑把すぎるんだよ!