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

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

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

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

前回までのあらすじ

「適当な何かをプログラミングできちんと設計して作りたい」と思い立った新聞屋、
彼は「素材作ったり集めたりするのダルいし、作るならそういうの必要なさそうなゲームがいい」との理由でさめがめを作ることにした。
しかしそんな安直に選択した彼の前に仕様決定の壁が立ちはだかる。
果たして彼は本当にゲームを作る気があるのか?!

仕様

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

斜字は拡張性として考えたいところ。

今後の方針

まぁ仕様は決まったので、次は設計ですね。
というとUMLとかですか?(よくわからない)
設計自体はほぼ経験はないので、果たしてどのくらいかかるやら。
…心が折れてオミットされることを考えたら、
もっと大風呂敷を広げた仕様にすべきだったかも知れない。

あ、あとマウスで操作するからには、ブロックの大きさも気をつけなければ。
To be continued...