C言語(C++ではない)でwindowAPIを使用してテトリスを作りたいんですけど・・・
テトリスのブロックをランダムで出力する方法
ブロックを下に落とす方法と左右に動かす方法
ブロックを回転させる方法
ブロックが左右の壁にぶつかったらブロックを回転させないようにする方法
ブロックを縦20行×横10行の枠内にに出ないようにするには?
ブロックが一番下に行ったら、そこで止まるようにする方法と次のブロックを出現させる方法
これらを教えてもらいたいんですけどよろしいですか?
出来れば早めにお願いします。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
・テトリスのブロックをランダムで出力する方法
C言語の標準関数でよければ、rand()というものがあります。
例えばブロックが5種類の場合、各ブロックに番号を割り当てておきます。
int num = rand()%5;
とすれば0~4の値が返ってくるので、次に出すブロックが決まります。
・ブロックを下に落とす方法と左右に動かす方法
http://www.geocities.jp/ky_webid/win32c/025.html
キーを押した時、離した時を検知してくれるようです。
例えばWM_KEYDOWNしたら落ちる速度があがる、WM_KEYUPしたら元に戻る。
とすれば押しっぱなしも表現できます。
No.4
- 回答日時:
自分はプログラミングに関して知識ゼロせすが、作った方の動画がニコニコ動画にありました
【プログラミング】テトリスを1時間強で作ってみた【実況解説】
http://www.nicovideo.jp/watch/sm8517855
参考にどうでしょうか。
No.3
- 回答日時:
それだと殆ど全てだとおもいますので、下記サイトを読んでください。
「ゲーム&その他プログラミング【Windowsプログラミング研究所】」
http://www13.plala.or.jp/kymats/study/game_other …
No.2
- 回答日時:
やり方はいろいろとあると思いますが、20x10のメモリマップ(との表現が適切かわかりませんが)を持って、今画面に表示している情報をメモリ上にも持つことです。
20x10の中の1つは、構造体にして必要な情報を詰め込んでもいいでしょうし、またintegerの20x10メモリマップをたとえば色情報や形状情報(?)など個別に持ってもいいと思います。
考え方としては、たとえばもし自分が目の前に本当のブロックがあり、それを自分が手操作でやる場合にどうするかで考えればいいと思います。
(あるいは方眼紙に書いてやることを想定するとか)
つまり、自分が覚えておかなければいけない情報は、すべてメモリー上に持つ必要があると言うことです。
初心者ほど、メモリーの使用を最小限にするやプログラムステップ数を少なくして速度を速くすることに気をとらわれがちですが、メモリーなどドンドン使って構わないので、まずは動くものを作ることが大切です。
あと、もしWindowsAPIが難しかったら、最初はDOS窓に「■」に色を付けてテキストでやってみると考えやすいのではないでしょうか。
No.1
- 回答日時:
まずは,データ構造を考えないといけませんね。
ブロックをどう表現するか。
壁や床をどう表現するか。
↓テトリスの作り方
http://www13.plala.or.jp/kymats/study/game_other …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 電子書籍 中学校のギガスクールPCでTikTokとかサイトを見ようとするとブロックされます。ブロックされずに見 5 2022/05/13 17:12
- YouTube youtube ブロックされている動画 視聴方法 2 2022/05/15 14:10
- 運転免許・教習所 丁字路で私が一時停止中に、対向車が右側から左折しているときに接触が心配でじーっと見ていたら 5 2022/07/07 02:51
- その他(IT・Webサービス) ブロックサイト、セーフサーチについて 2 2022/04/25 10:29
- その他(悩み相談・人生相談) 女ですが遊び目的で、マッチングアプリので出会った人と2回会って2回ともホテルだったのですが、2回目会 5 2023/05/30 19:18
- iPhone(アイフォーン) iPhoneメールでicloudドメインをブロックする方法を教えて下さい 1 2022/12/10 00:00
- LINE LINEブロックした相手に傷つけずにまた友達追加する方法を教えてください! ・ブロック→ブロックリス 1 2023/01/28 21:52
- LINE LINE友達削除について 3 2022/12/26 06:27
- その他(教育・科学・学問) 小学生にプログラミング(Scratch)を教える方法 2 2022/06/01 06:39
- LINE LINE ブロックしてもらえてるか確認 1 2022/10/11 12:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
インスタの裏垢をブロックされ...
-
ブロックしたユーザー名の人が...
-
マンション10階から飛び降りた...
-
LINE相手が勝手にブロックされ...
-
Instagramの同じ端末のブロック...
-
女性の方に質問です! 物凄く嫌...
-
知らない人がいつも私の質問に...
-
5ch のエロ広告を見えないよう...
-
「ブロックしてほしい」と頼む...
-
コストコでお買い物
-
以前の職場の同期だった女の子...
-
ブロック中のかたの質問や回答...
-
相手のインスタのアカウントを...
-
いちいちブロックするねーって...
-
LINEって、スマホ故障したら 勝...
-
結婚、恋愛カテに常にいる、 は...
-
FC2動画っていうサイトを開いた...
-
どうしてだろう?
-
嫌いな人のインスタストーリー...
-
インスタのストーリーに動画あ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マンション10階から飛び降りた...
-
インスタの裏垢をブロックされ...
-
LINE相手が勝手にブロックされ...
-
Instagramの同じ端末のブロック...
-
5ch のエロ広告を見えないよう...
-
「ブロックしてほしい」と頼む...
-
ブロックしたユーザー名の人が...
-
相手のインスタのアカウントを...
-
LINEって、スマホ故障したら 勝...
-
インスタブロックしてた子が ブ...
-
ブロックしましたか?
-
自分に原因があり、嫌われ修復...
-
都合悪くなるとブロック????
-
インスタで裏垢から話しかけた...
-
女性の方に質問です! 物凄く嫌...
-
質問者に、ブロックって あり得...
-
FC2動画っていうサイトを開いた...
-
最近、件名にこんな顔文字「(^O...
-
以前の職場の同期だった女の子...
-
Gmailのブロックについて
おすすめ情報