非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

Excel/VBAでパックマンを作る–壁と点数付け

   

前回に続き、Excel方眼紙を使ったパックマンを製作中です。

今回は壁を作って迷路上をパックマンが動くようにしたことと、ポイントを食べて点数が上がるようになっています。前回同様、パックマンはパソコンの矢印キーで動きます。

[ad#top-1]

ソースコードはGitHubにて公開しております。順次更新していきますが、現時点のソースコードは「packman_main_20170923.bas」となります。

GitHub: satoshi71/ExcelPackman

あと、動画をYoutubeにアップしましたので動きをご覧ください。

 

動作説明

今回よりプレイするステージを選択できるようにしております。今時点では「Stage1」の1つしかありません。

 

こんな風にステージのフォーマットは別シートに作られています。プレイ開始時に指定ステージがコピペされるわけです。シート名の先頭を「Stage」であれば認識してリストに入ります。

 

ゲームプレイ開始前にExcelのリボンを閉じてください。ステージが画面に入りきらないので。(プレイ中はスクロールできません。)

 

「Start」ボタンを押せばプレイ開始です。青いポイントを食べて点数を上げていってください。(まだ敵キャラはいません。)

 

左上に以下のようなダイアログが現れるので、こいつをダブルクリックするとプレイが終了します。

 

敵キャラをどうやって作るかが課題

あとは敵キャラだけです。

ただ、敵キャラは今まで以上に難易度は高く、少なくとも以下をクリアしなければなりません。

  1. スレッドを使って自動で動かす。
  2. プレイヤーには意図しない動きをさせる。
  3. 敵キャラが通った後でも青ポイントは残す。

1はパソコン能力的に大丈夫か心配なのですが、実は一番難解なのは3です。

パックマンのようにキャラが通った後に青ポイントを消す方がはるかに楽で、それを残すとなると、通る前に青ポイントの座標を記憶しておいて、通り過ぎたら再描画するというプログラムを組まなければなりません。

うまくやらないと動きが渋くなりそうです。どうやってやろうか…? ちょっと考えます。

 

■GitHubにて公開中■

GitHub: satoshi71/ExcelPackman

 

[ad#ad-1]

スポンサーリンク

 - Excel, VBA