• ベストアンサー

C言語を使ったドラクエの簡単な戦闘シーンの作成

こんにちわ。 C言語を使ってドラゴンクエストと同じ戦闘シーンを作成している最中なんですが、戦闘シーンで敵をラリホーで眠らせてから、敵が約3ターンで目を覚ますようにプログラムを組み込みたいんですが。 プログラムで3ターンで目を覚ますようにする方法ってなんですか? 解答をお待ちしております。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

状態異常に眠りというもの作り、カウンタ変数を用いて眠りの状態なら毎ターン1加算していき、3になったらカウンタ変数を0にすると共に眠りを解除したらいいのでは。

zeruden0905
質問者

お礼

分かりました。要するに、カウント関数を使ってターンをカウントするってことですね。 分かりやすい説明有難うございました^^

関連するQ&A

  • ドラクエ風の戦闘画面の実装

    現在ドラゴンクエスト風のRPGを製作中です。 大体の部分は完成してきたのですが、 戦闘画面の実装で躓いてしまいました。 今のところ、戦闘画面の ・行動の決定 ・メッセージウィンドウ(設定した文字列が順番に表示されるだけのもの) ・ステータス画面の表示 ・敵画像の表示 部分は作成したのですが、この先の「戦闘の流れ」の部分が作れません。 自分が考えたのは キャラクターAからモンスターAへ攻撃という情報を受け取る ↓ ダメージ計算、モンスターAのHP-45 モンスターAの体力を減らす(ここで倒したかも判定) ↓ 文字列「Aの攻撃!モンスターAに45ダメージ!\m0s」を作成 (最後の"\m0s"モンスターの0番目にダメージを受けたエフェクトをさせろという意味の記号) ↓ メッセージボックスに作成した文字列をセット ↓ メッセージボックスの状態をチェックし、\m0sまでを表示していたら実際にエフェクトをかける こんな感じなのかなぁと思うのですが、これだとメッセージボックスのフラグチェックが多くなりそうだし、もっといい方法があるのでは?と思うのです 実際にドラクエ風の戦闘画面を実装したことがある方や、効果的な実装方法を知っている方が居られましたら、ご教示お願いします。

  • アセンブリ言語とC言語

    アセンブリ言語とC言語について調べているのですが、この二つ言語のプログラムについて実質的に同じと言えることはなんでしょうか? また異なっていることはなんでしょうか?(たとえばアセンブリは低級言語であり、C言語は高級言語であるなどなんでもいいです。) 是非解答お願いします。

  • C言語でのカレンダー作成

    今、C言語でカレンダーを表示させるプログラムを作成しています 西暦と月を入力すると、その年、その月の1ヶ月分のカレンダーが表示されるプログラムを作りました そこで、次は入力した月から3ヶ月分のカレンダーを表示させるプログラムを作成したいのですが、どなたか教えてくださいませんか? 配列を使う方法や文字列など色々な方法があると伺って、どの方法が作りやすいのかわからないんです・・・ borland c を使用しています

  • RPGの戦闘アルゴリズムについて

    このジャンルでお願いします。 例えば、ドラゴンクエストモンスターズ http://way78.com/gb/dqm2/mgc.html のような戦闘システムを再現したいと考えているのですが、 単純な攻撃特技なら耐性と照らし合わせてダメージを算出するだけだと思います。 ただ補助特技や補助特技の ・たかくとびあがる(次のターンに攻撃) ・うけながし(自分が受けた攻撃を敵か味方に受け流す) ・ふういんのいのり(自分の受けた特技を敵味方一切使えなくする) ・まねまね(敵から受けた攻撃をそのまま跳ね返す) ・きあいをためる(ターンの最後に通常の1.5倍の打撃を与える) ・せいしんとういつ(次のターンの攻撃が2回連続になる) ここらへんの処理を実装するとなるとかなり複雑になりそうです・・・(他にもややこしそうなのがありますが) 自分では考えられそうもないので、 ネットなどで戦闘システムを検索したり関連の書籍を探したりしたのですが、 簡単な戦闘システム(1対1で単純な攻撃だけとか)の説明しか今のところ見つかりませんでした・・・ 少し考えてみたのですが、キャラの状態が ・飛んでるとき ・気合を溜めてるとき ・何らかの状態異常のとき(混乱や麻痺) は攻撃ができなくて、混乱してる時は麻痺をかけられても効かないとすると、 有限ステートマシンなどのアルゴリズムを利用した方がいいのかな?と 思ったりして、でもそもそも上の3つの場合を一まとめにできるものなのか とにかくわけがわからず想像ができないです・・・ みなさんならどのようにクラス分けして処理していくか知りたいです。 またはこのような戦闘のアルゴリズムが書かれてる書籍などありましたら 紹介して頂けないでしょうか?

  • C言語に関して質問させて頂きます。

    学生番号, 数学, 物理, 科学, 英語の順で入っているを読込み,平均点の高い順に並び替え出力するプログラムを作成したいのですが、C言語は初めてでして全く何もかも分かりません。なので、どうしたら良いのか教えてください。解答があると、分かりやすいので、できれば解答を明記して頂けると幸いです。では、よろしくお願い致します。

  • C言語

    今、C言語の勉強をしています。しかし、構文は、理解しているのですが、なかなかプログラムを作成できません。どうすれば、プログラムを作成できますか?是非教えてください。

  • ドラクエIV(DS)の主人公の名前変更できますか?

    ドラゴンクエストIV(DS)をプレイしているのですが、主人公の名前を途中で変えることはできるのでしょうか? また、「くちぶえ」という特技を使えば、すぐに敵と戦闘することが可能ですが、そうした場合、出現率の低いモンスター(はぐれメタルなど)が敵としていつもより出現しにくい気がするのですが実際どうなのですか? 教えてください。 よろしくお願い致します。

  • C言語でこんなことは可能ですか?

    現在あるプログラムを作りたいと思いC言語の勉強をしています。 それに伴い、下記のプログラムはC言語で作成可能でしょうか。 例) Aのフォルダ内にbというファイル(txt)があるとして、 bのファイル内の「ありがとう」という文字を検索し表示させるプログラム は作成可能でしょうか。表記としては --------------------------------- ファイル名 | 検索文字 ---------------------------------  A    | ありがとう  -------------------------------- としたいと思っているのですが・・・ よろしくお願いします。

  • C言語でのフォルダ作成

    C言語でファイルをあるフォルダに出力する際に、フォルダがない場合、自動的にフォルダを作成するようにプログラムを組むことってできますか?

  • C言語で2.5で割った余りを求めるには?

    C言語で、xを2.5で割り切れる数値に直すプログラムを作成したいです。つまり5.3なら5、8.1なら7.5というように。これ、結構簡単かなと思ったのですが、floorは2.5だと使えないし、いまいち型宣言も理解していないので、うまくいきません。また%を使う方法もなぜかうまくいきませんでした。どなたか、正しいプログラムを教えてください。もちろん型宣言も含んでいると助かります。