テトリスを作る (774レス)
1-

533: 531 2005/12/26(月)15:02 ID:TOAf+nRF(1/5) AAS
532さん、レスありがとうございます。
とりあえず、見づらいですが途中までのソース載せときます。
buffer 1,,,1
picload "tetris.bmp" ;32×32の灰色のブロックと黄色いブロック
screen 0,415,607,1
palcopy 1
*START
gmode 2
gosub *SETMAP
534: 531 2005/12/26(月)15:04 ID:TOAf+nRF(2/5) AAS
*LOOP1
redraw 0
gosub *ブロック
gosub *DRAWMAP
redraw 1
await 60
goto *LOOP1

*ブロック
BY+3
stick KY,8
if KY=1 :BX=BX-32
if KY=4 :BX=BX+32
if KY=8 :BY=BY+16
return
535: 531 2005/12/26(月)15:08 ID:TOAf+nRF(3/5) AAS
*DRAWMAP
color 0,0,0 :boxf 0,0,414,606
repeat 19
RCNT=cnt
repeat 19
if MAP.cnt.RCNT=1 {
pos cnt*32,RCNT*32 :gcopy 1,0,0,32,32 ;壁用灰色ブロック
        }
loop
loop
pos BX,BY :gcopy 1,32,0,32,32 ;落下用黄色ブロック
return
536: 531 2005/12/26(月)15:14 ID:TOAf+nRF(4/5) AAS
*SETMAP
dim MAP,19,19
MAP.0.0=1,0,0,0,0,0,2,0,0,0,0,0,1
MAP.0.1=1,0,0,0,0,0,0,0,0,0,0,0,1

MAP.0.17=1,0,0,0,0,0,0,0,0,0,0,0,1
MAP.0.18=1,1,1,1,1,1,1,1,1,1,1,1,1
repeat 19
RCNT=cnt
repeat 19
if MAP.cnt.RCNT=2 {
BX=cnt*32 :BY=RCNT+32
MAP.cnt.RCNT=0
}
loop
loop
return
537: 531 2005/12/26(月)15:19 ID:TOAf+nRF(5/5) AAS
これで以上です。
まずは黄色いブロックが、底辺まできたら蓄積されるようにしたいのですがどうしたら良いでしょうか?
ちなみに、1が壁用ブロック、2が落下用ブロックです。
(本当は12×19マスの配列にしたいのですが、良くわからず19×19の配列になってます)
538
(1): 531 2005/12/28(水)08:35 ID:ex+d93O5(1) AAS
レスがありませんね。
いや、随分と素っ頓狂なプログラムを書いてしまいました。
アドバイスのしようがありませんものね。
どうぞ、僕のことはスルーして次の話題に行ってください。
539: 2005/12/28(水)11:43 ID:xg7Xr6Bl(1) AAS
>>538
ちょwww自分のレス遅かったのにそれかよwww
>>532が来るまでこれでも見とけ

外部リンク:gamdev.org
540: 531 2005/12/28(水)21:00 ID:az8NFlCH(1) AAS
レスありがとうございます。
リンク先見ました。
スプライトとプレイフィールドの意味がわからないですが、
とりあえずペイントソフトで七種のブロックをつくってみます。
541: 531 2005/12/29(木)15:38 ID:w8wWzACB(1/2) AAS
リンク先にあった〜コウのポケット〜をみて、HSP風に変えてみました。
dim A.12.21
A.0.0=9,0,0,0,0,0,0,0,0,0,0,9
A.0.1=9,0,0,0,0,0,0,0,0,0,0,9
( 省 略 )
A.0.19=9,0,0,0,0,0,0,0,0,0,0,9
A.0.20=9,9,9,9,9,9,9,9,9,9,9,9
repeat 21
rcnt=cnt
repeat 12
pos cnt*15,rcnt*15
if A.cnt.rcnt=9 { mes "口" }
loop
loop
stop
542: 531 2005/12/29(木)15:42 ID:w8wWzACB(2/2) AAS
ここまでが僕の限界です。
ブロックは別に配列を作るそうですが、どうしたら良いのかまったくわかりません。
543: 2006/02/01(水)21:56 ID:SLzdgd4f(1) AAS
ここのを参考にしながら作ってみた。
外部リンク[html]:kasamatusan.sakura.ne.jp

win32 SDL.dll 必須(同じフォルダに置く)
SDL.dll
外部リンク[zip]:www.libsdl.org
544: 2006/05/01(月)23:56 ID:cQ5CvRYf(1) AAS
テトリスのCPUアルゴリズムのコンテストってこのスレでやった方がいい?
545: 2006/05/02(火)11:11 ID:UeNfZ0vH(1) AAS
おもしろそうだな
ム板に将棋や麻雀のCPUアルゴリズムを競うスレがあったが
ID表示が無いせいでなかなか議論が進まない傾向が見られた
一方こちらは人が居ない
546
(2): 2006/05/20(土)04:26 ID:uT0leoeU(1) AAS
オセロと同じでテトリスは単純だからアルゴリズムはFAが出てる
だから速度で競うしかないからやってもつまらんよ
547: 2006/05/20(土)19:52 ID:sPNnlt1N(1) AAS
>>546
後はTGMみたいにアイデアと操作性の勝負になるんだよな。
548: 2006/06/27(火)21:10 ID:SYe9nV57(1) AAS
保守
549: 2006/06/28(水)02:46 ID:oP0nDtg4(1) AAS
NEXTがかなり先まで見える状態で
下まで掘り返すプログラムも簡単にできるのか?
550: 2006/06/28(水)16:16 ID:J/FopGa8(1) AAS
今だーーー!550ゲットーーーーーー!!!!!!!!
551: 2006/07/08(土)06:15 ID:iDFm5g4r(1) AAS
>>546
パズルモードを攻略できるの?
552
(4): 2006/08/18(金)22:21 ID:9Ph8mdvx(1) AAS
ただいまTETRIS2002ガイドラインになんちゃって準拠したテトリスを作ってるところでつが、
T-SPINとスーパーローテーションの実装方法が分かりませんでつ。
ご指南いただければ幸いかと。
553: 2006/08/18(金)23:00 ID:2vFjQPe3(1) AAS
候補を総当りしちゃってもいいんじゃないかね
554: 2006/08/19(土)16:59 ID:mSi6sXts(1) AAS
Tスピンねぇ…
?固定される直前の動作が回転である
?左右移動できない
?最後に回転した方向にもう一度回転できない
この条件がすべて揃っていればイイんじゃないでしょうかね
555
(1): 2006/08/20(日)02:16 ID:F5ABO99M(1) AAS
>>552
晒すのが先
出来たところまででいいからさ
556: 2006/08/20(日)05:14 ID:D2IGNiOd(1) AAS
一つだけ言っておくが
クレ厨の言うことなんか聞くこと無いんだぞ
557
(1): 552 2006/08/20(日)11:54 ID:Evk47mxt(1) AAS
>>555
すんません
外部リンク[lzh]:www.freewebs.com

いちを操作方法。キーコンフィグはまだ無い。すまんね。
←→:移動
↓:高速落下
↑:ハードドロップ
[A]or[C]:回転
[X]:ホールド
※:[ ]の中はキーではなくてボタン。F1キーを押して変更できる
注意:今のところどれだけライン消してもレベルは上がりません

ツクールXPで作ってるから、RTPのダウンロードしてない人はやっといて。
558
(1): 2006/08/22(火)00:22 ID:2zQdqnMC(1) AAS
完成してないのに
RTPのダウンロードやっといてとは随分な言い方ですね
559
(2): 2006/08/22(火)00:30 ID:4ZUgGe3M(1) AAS
>>557

スーパーローテーションは、まず壁に当たらずに回転できるならそうして、できなかったら4つの壁蹴り候補を総当りするっぽいです。
ここの画像が参考になるかも。
外部リンク[html]:www.the-shell.net

T-SPINは、
1.種類がT型テトラミノ
2.固定前に行った操作が接地した状態での回転
3.固定したときに、テトラミノの四隅(☆の部分)に3つ以上のブロックまたは床、壁がある
☆■☆ ☆■☆ ☆  ☆ ☆■☆
■■■   ■■ ■■■ ■■
☆  ☆ ☆■☆ ☆■☆ ☆■☆
これら全ての条件が成り立てば成立します。

ちなみにこれはテトリスDSの判定方法です。
テトリスワールドだと壁や床がブロックと見なされないようです。
TGM3だと3番の条件が無く、その代わりに1ライン以上消えることが条件となります。
そもそもT-SPINが無いゲームもいっぱい存在するのでT-SPINは必須では無さそうです。
560: 552 [SAGE] 2006/08/22(火)16:49 ID:oA77I8Wu(1) AAS
>>558
書き方が悪かったら謝ります orz
でも無いと動かないから勘弁して。

>>559
GJ&?クス!!
これを参考にしてやってみて、うまくいったらまたここに晒してみます
561: 2006/08/29(火)00:19 ID:jvGgJvl5(1) AAS
マダー?
562
(2): 2006/08/30(水)01:45 ID:kVooqL3x(1/2) AAS
最近Javaでテトリスを作っていたのですが、壁蹴りのアルゴリズムがわからなくてぐぐってここに来ました。

>>559さんの貼ってるサイト見ました。
総当りというのは、それぞれのブロックのページにある、ブロックのアニメーションの
数だけ全部総当りてことでしょうか?

やはりスーパーローテンションの挙動はブロックによって考える必要があって、
統一された規則があるわけではないんですかね・・・?

ちなみに今途中まで作ってるのはこれです。
外部リンク:hilala-web.hp.infoseek.co.jp
1-
あと 212 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.020s