単純タワーディフェンス

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
klang

単純タワーディフェンス

#1

投稿記事 by klang » 6年前

作りながら学ぶべきだ、とりあえず作りたいものを作るべきだ
と言われたので自分が一番作りたい、「タワーディフェンス」を作ろうと思います。
なるべく、短く簡単な内容にすべきだということで以下のようにしたいと思います。(はじめてなので)

・敵のすすめるところは一本の道にする。(曲がるのはあり)
・味方の攻撃は四方一マスのみ。
・敵5体に城へたどり着かれたらゲームオーバー。
・時間内(3分?5分?)守りきったら勝ち。
・攻撃力、防御力は計算せず、直接体力からダメージを引き、0になったら敵は倒れる。

といった感じなのですが、
もっと簡単にしたらいいところや、もう少し必要なところを教えてください。

また、味方に関して迷っていることがあります。
お金を払って場所を指定して味方を配置するのが一番なのですが、はじめてなのでより簡単にしようと思います。
ですが、どこまで簡単にすべきでしょうか。はじめから配置するとゲーム要素がなくなる気がして・・・笑

なお、ここでの簡単については作る上での難易度としての簡単にします。プレイする上での難易度ではありません。

ゲーム内の攻撃について教えてください。

質問ばかりですみません。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: 単純タワーディフェンス

#2

投稿記事 by softya(ソフト屋) » 6年前

まだ、あやふやな所が有るので明確にして行きましょう。
今回の場合は機能を継ぎ足しながら完成形に近づけるで良いと思いますが、何回かソースの組み直しが起こるかもしれません。

・敵のすすめるところは一本の道にする。(曲がるのはあり)
 敵の出来る行動を書きだしてみましょう。注意点は条件と行動をセットで書くことです。
 道など仕様がややこしいものは無いほうが良いので削ったほうが良いでしょう。

・味方の攻撃は四方一マスのみ。
 マスがあるんでしょうか? マスはどういう機能を持つ単位ですか?
 味方の行動も書きだしてみましょう。

・敵5体に城へたどり着かれたらゲームオーバー。
 これは良いと思います。まぁ、絵は始めはないと思うので城じゃなく陣地(ゾーン)ぐらいにしときましょう。

・時間内(3分?5分?)守りきったら勝ち。
 これも問題ないと思います。

・攻撃力、防御力は計算せず、直接体力からダメージを引き、0になったら敵は倒れる。
 攻撃の回数ということでしょうか? この場合は、攻撃の周期とかも考えないといけませんね。

>お金を払って場所を指定して味方を配置するのが一番なのですが、はじめてなのでより簡単にしようと思います。

回数制限とか個数制限とか手はあります。
これはあとで考えれば良いので、はじめから完成形は考えなくて良いです。

みなさん、最初から完成物を作ろうとするので難しくて挫折するので、バージョン1はスッカスカで良いんです。
次に足らない機能を足してバージョン2、3と自分の作りたかったものを目指せばよいのですから。

まぁ、最初はですね。
1.地形を表示する
2.ゾーンを表示する。
3.味方を表示する。アニメーションする。
4.敵を表示する。アニメーションする。
 : つづく
って具合に手を加えていくんですね。
仕様をガチガチに固めるのも自分を縛ることになり後で困りそうなので、だいたい作るものだけを決めて上に書いた1.から始めて見るって感じてどうでしょうか?
3.ぐらいからだとファイル分割が出てくるので、ここで一度プログラムを全部組み直すことになると思います。構造体やポインタも出てくるかも。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
usao
記事: 1564
登録日時: 6年前

Re: 単純タワーディフェンス

#3

投稿記事 by usao » 6年前

最初の最初のバージョンでは
味方(タワー)が存在しない状態,すなわち
 実行開始→なんか敵が数体出てきて→進んで行って→ゲームオーバー条件を満たす→終わる
が動くようにして,タワーの配置や攻撃のような要素は次の段階で良いと思います.

「進んでいって」の部分は,最終的にはMAP毎に決まった経路上を進むことになるわけですが,
最初は例えば「画面左からでてきて→右方向に進む」とかでもよいと思います.
(当然,画面右側に 城(到達されたら困るゾーン)が設けられている状態)

>表示
何か描画しないと動作確認もできないので,何かしら描くべきですが,
グラフィック面に下手に先に手を付けるのは死亡フラグだと思うので,
ゲームロジック全体が完成するあたりまでは,例えば,
・敵:塗りつぶした円とか正方形とか
・城(到達されたら困るゾーン):他の箇所とは違う色で塗りつぶし
・敵の経路(道):他の箇所とは違う色で塗りつぶし
・タワーからの攻撃:タワーと敵との間に線を引くだけ
みたいな,最低限起こっていることが確認できる記号的要素で済ませておくと良いと思います.
(もちろん音なんかは無し)

閉鎖

“C言語何でも質問掲示板” へ戻る