落ちゲーのピースの作り方と落下のアルゴリズムについて

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

落ちゲーのピースの作り方と落下のアルゴリズムについて

#1

投稿記事 by 黒ヤギ » 15年前

初めまして、黒ヤギというものです。
私は現在学校の卒業制作でゲームを作ることになり、その作業に着手しているのですが、プログラムとアルゴリズムの壁にぶち当たっています。

作成したいのはテトリスのような落ちゲーです。
現在壁となっているのはピースの作成と作成したピースを落下させるためのアルゴリズムです。

タイトル通り、ピースの作成方法と落下のアルゴリズムをご教授していただきたいです。



Cは授業で基礎的なところ(ブロック崩しを製作)までは勉強しましたが、それでもあまり理解できていないレベルです。

使用ソフトはMicrosoft visual Studioです。

どうか、よろしくお願いします

バグ

Re:落ちゲーのピースの作り方と落下のアルゴリズムについて

#2

投稿記事 by バグ » 15年前

今、まさに過去に作ったコンソールアプリのテトリスをDXライブラリを使用したものにリメイクしているところです(笑)
C++で組んだものでよければ、下記URLにソースを置いてありますので見てみてください。
あまりコメントを入れていないので、内容で分からない点があれば質問してくれても構いません(^_^;)

http://park.geocities.jp/bugbugbugbug2001/

朽木

Re:落ちゲーのピースの作り方と落下のアルゴリズムについて

#3

投稿記事 by 朽木 » 15年前

ブロックを落とす表現をするのに一番理解しやすいのは、レイヤを2枚(C言語的に言えば、2次元配列を2つ持つ3次元配列をひとつ)作って、一枚はブロックを落とすためのレイヤ、もう一枚は、既に落ちたブロック。例えば、ブロックが地面に着いたら、2つのレイヤをOR加算します。

画面がどうであれ、2つのレイヤをOR加算したものを表示するようにすれば、ブロックを落とすためには、ブロックを落とすために使用するレイヤの各行の値を、それぞれ一行下の1次元配列にコピーする処理をすれば良いだけになります。

ただし、この方法は、非常に処理が重くなるだけでなく、上に書いてあることをそのまま書くと、セグメンテーション違反を起こします。

softya

Re:落ちゲーのピースの作り方と落下のアルゴリズムについて

#4

投稿記事 by softya » 15年前

こちらにテキストだけで作るテトリスがありますので参考にしてください。
http://www.nhk.or.tv/kow/program/index.php

黒ヤギ

Re:落ちゲーのピースの作り方と落下のアルゴリズムについて

#5

投稿記事 by 黒ヤギ » 15年前

返信が非常に遅くなってすみません。
皆さんのおかげで基礎的なところはなんとか理解できました。

それでまた質問なのですが、配列でブロックパターンを作ったところに画像を当てはめる(配列内で1のところに画像をあてる)ことは可能なのでしょうか?

閉鎖

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