どーも、まさむねというものです。
いきなりなんですが、いまC言語演習の課題で困っています。
キーボードのテンキーを使って、3×3マスのもぐら叩きをするプログラムつくらなくて
はいけないんです。
命令文だけで200~300行ぐらいなんですが、複雑すぎてどうしたらいいかわかりま
せん。
もしよろしければ、サンプルまたはアドバイスなどをいただければうれしいです。
急ですいませんがよろしくお願いします。
なにより、課題の丸投げは嫌われます。
> 複雑すぎてどうしたらいいかわかりません。
では、問題を複数の簡単な部分に分解することから始めましょう。
そもそも:
- C? それとも C++?
- コンソール? それともGUI?
すいません、書き忘れていました。C++です。
まずは先生にお訊きになってはいかがですか?
演習の課題であるからには、必要となるものは全部先生がご存知でしょうから。
これはテーマが自由な課題なんです。モグラたたきは自分が決めたんですけど,難しく
て,アドバイスをいただけたらと思って,書き込みしたんです。
επιστημηさん:
>問題を複数の簡単な部分に分解することから始めましょう。
と、書かれているのですから、それをやってみましょう。
私はあなたが、
>命令文だけで200~300行ぐらいなんですが、
と書いているので、ほとんど完成形に近いプログラムを既に持っているのかと思っていま
したが違うようですね。
自分が何をしたくて、どこまで解っていて、何が解らないのか、を明らかにする事は、こ
ういう所で質問する上で必要な「技」です。これができていないと欲しい情報にろくに辿
り着けないばかりかマナー違反だと窘められることになります。
>これはテーマが自由な課題なんです。
ならば、自分の手の届く範囲のテーマに変更する、という解もアリかと。
ならばテーマを変えましょう。
勝てない(or 勝てるかどうかを見極めないで)喧嘩を売ったあなたに非があります。
まずはルール等を決めないとダメでしょう。
キー操作では...
> キーボードのテンキーを使って、3×3マスの~
とあるくらいですから、モグラが出ている位置のキーを押すと叩くのが簡単だしよいと思いま
す。
ゲームオーバーの条件は...
1.規定数叩く
2.規定数叩き逃す
3.時間
等が考えられます。
まだあるでしょうが、これらが揃ったら次は部品毎に分けてみましょう。
1.モグラクラス
好きなように出たり引っ込んだりしてもらいます。
それを管理するクラス又は関数があり、3x3の2次元配列で管理します。
出来上がり!(ええ?)
すみません、途中で送信しちゃいました。
1.モグラクラス
好きなように出たり引っ込んだりしてもらいます。
当然描画もします。
2.管理するクラス又は関数
3x3の2次元配列でモグラクラスを管理します。
3.キー入力
押されたキーに対して、モグラの叩く位置を設定。など
キーバッファをクリアなどの工夫が必要ですね。
大雑把に言えばこんな感じで出来るのではないでしょうか?
細かい突っ込みはたくさんあるにしても。
部品毎に分けてみて、ココが分からん(ToT)という所を聞いてみてはどうでしょうか?
キー入力ってどうやるんですか?(これは無いと思いますが)とか、
GUIでビットマップの表示の仕方がわかりませんとかです。
そうでなければゲームプログラムの掲示板等の方が、よいのではないでしょうか?
こんばんわ。
私自身もCを始めてあまり長くないのですが、
Java、VB、等のプログラミング経験は結構長いので
その経験から言わせてもらうと、、
ゲーム作り=自身の想像力との戦い
だと思います(^^;
仕事でiアプリをざっと20本近く開発したことが
ありますが、この手のゲームならわりと簡単です。
私も参考にしている「猫でもわかるWindowsプログラミング」に
ずばり必要な要素がほとんど載ってると思いますよ。
載ってるというのは、ゲームのソースコードが
掲載されてるわけではなくて、作るのに最低限必要なロジック
が見つけられるということです。
まさむねさんのゲームで最低必要になるのは
・Windowの作成
・タイマー処理
・WM_PAINT、WM_TIMER、等のメッセージ処理
・どのキーが押されたの?
・BitMapの表示
(DIBやDDBに関しては載ってませんがテンキーで当り判定とかするなら必要ないですよね)
ぐらいじゃないでしょうか。
かなりしょぼいゲームしか出来ないでしょうけど、
最低限これだけあれば出来ると思いますよ。
>命令文だけで200~300行ぐらいなんですが、複雑すぎてどうしたらいいかわかりま
せん。
命令文がダラダラ長くなるのを防ぎたいなら、Windowsでは
メッセージクラッカーという手法を使うといいと思います。
あまりえらそうなこと言えませんが、私も使っています。
メッセージクラッカーについては、AdvancedWindowsを見る
ことをオススメします。
>命令文だけで200~300行ぐらいなんですが、
>複雑すぎてどうしたらいいかわかりません。
なにを見た・どこを参照した、開発環境は、アプリの実行OSは
なぜ行数わかった、どんな表現方法とりたい(コンソール?
>急ですいません
どのくらい「急」なもの期間によってはムリ
あなたの責任として途中で投げ出さずにがんばってね
俺は何もしてあげれないけど.....