テトリスを作るat GAMEDEV
テトリスを作る - 暇つぶし2ch524:名前は開発中のものです。
05/08/21 18:54:13 2QzGJoIB
ただ単に行列の回転でもいいけど、そのリスト見てわかるように
赤以外のブロックの最底面の位置は合わせた方がいいぞ。
じっくり遊べば気づくかもしれんが、接地中の操作性がまるで違うから。
テトリスワールドは床蹴りやらで対応しているが、個人的にそれはどーかと。

525:名前は開発中のものです。
05/08/22 23:42:58 Hcei4f6p
□□□□  □■□□  □■□□  □■□□
■■■□←■■□□←■■■□←□■■□
□■□□→□■□□→□□□□→□■□□
□□□□  □□□□  □□□□  □□□□
               ↑
               こうだったら接地中、回転させると浮いてしまうはず。

当時、なぜ接地中でも浮かないんだろうと思ったけど、こんな事だったとかなり後で分かったぽ

526:名前は開発中のものです。
05/08/24 16:35:32 eB4TKXgy
壁       壁      .壁
│       │      .│
│■     │■    ...│  ■
│■■ → ■■■ → |■■■
│■     │      .│
│       │      .│

これができれば大半の人は満足するんじゃね?

527:名前は開発中のものです。
05/08/25 03:04:25 gBFFCRwb
少なくとも、俺の周りでテトリス好きの人は>>524がクリアできてるゲームしか遊んでないけどね
ただ、確かにシフトして底面を合わせる回転方式をスマートに実装するのは難しいな。
補正量を記述した定義ファイルを別に作ってそれを読み込ませて対応したが、少し非効率な気もする。

528:名前は開発中のものです。
05/11/04 01:17:07 TvoHZ9wF BE:80917272-#
なるほど

529:名前は開発中のものです。
05/11/06 01:22:19 u20WXTTw
テトラミノのそれぞれの名称ってありますか?

530:名前は開発中のものです。
05/11/06 01:52:42 9g77vaev
TOLISZr

531:名前は開発中のものです。
05/12/22 10:21:46 gp4MJFmZ
HSPでテトリス作りたいんですけど、何から手をつけて良いかがわかりません。
2次元配列を使うのですか?

532:名前は開発中のものです。
05/12/22 20:37:29 rrOTwdfx
>>531
まずはこのスレを頭から読み直せ
話はそれからだ。
何がわからないか書いてみな、
今漏れも久しぶりにHSPさわってるから。

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

534:531
05/12/26 15:04:40 TOAf+nRF
*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
05/12/26 15:08:09 TOAf+nRF
*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
05/12/26 15:14:43 TOAf+nRF
*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
05/12/26 15:19:58 TOAf+nRF
これで以上です。
まずは黄色いブロックが、底辺まできたら蓄積されるようにしたいのですがどうしたら良いでしょうか?
ちなみに、1が壁用ブロック、2が落下用ブロックです。
(本当は12×19マスの配列にしたいのですが、良くわからず19×19の配列になってます)

538:531
05/12/28 08:35:46 ex+d93O5
レスがありませんね。
いや、随分と素っ頓狂なプログラムを書いてしまいました。
アドバイスのしようがありませんものね。
どうぞ、僕のことはスルーして次の話題に行ってください。

539:名前は開発中のものです。
05/12/28 11:43:22 xg7Xr6Bl
>>538
ちょwww自分のレス遅かったのにそれかよwww
>>532が来るまでこれでも見とけ

URLリンク(gamdev.org)

540:531
05/12/28 21:00:04 az8NFlCH
レスありがとうございます。
リンク先見ました。
スプライトとプレイフィールドの意味がわからないですが、
とりあえずペイントソフトで七種のブロックをつくってみます。

541:531
05/12/29 15:38:50 w8wWzACB
リンク先にあった~コウのポケット~をみて、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
05/12/29 15:42:57 w8wWzACB
ここまでが僕の限界です。
ブロックは別に配列を作るそうですが、どうしたら良いのかまったくわかりません。

543:名前は開発中のものです。
06/02/01 21:56:18 SLzdgd4f
ここのを参考にしながら作ってみた。
URLリンク(kasamatusan.sakura.ne.jp)

win32 SDL.dll 必須(同じフォルダに置く)
SDL.dll
URLリンク(www.libsdl.org)


544:名前は開発中のものです。
06/05/01 23:56:41 cQ5CvRYf
テトリスのCPUアルゴリズムのコンテストってこのスレでやった方がいい?

545:名前は開発中のものです。
06/05/02 11:11:24 UeNfZ0vH
おもしろそうだな
ム板に将棋や麻雀のCPUアルゴリズムを競うスレがあったが
ID表示が無いせいでなかなか議論が進まない傾向が見られた
一方こちらは人が居ない

546:名前は開発中のものです。
06/05/20 04:26:00 uT0leoeU
オセロと同じでテトリスは単純だからアルゴリズムはFAが出てる
だから速度で競うしかないからやってもつまらんよ


547:名前は開発中のものです。
06/05/20 19:52:09 sPNnlt1N
>>546
後はTGMみたいにアイデアと操作性の勝負になるんだよな。

548:名前は開発中のものです。
06/06/27 21:10:04 SYe9nV57
保守

549:名前は開発中のものです。
06/06/28 02:46:18 oP0nDtg4
NEXTがかなり先まで見える状態で
下まで掘り返すプログラムも簡単にできるのか?

550:名前は開発中のものです。
06/06/28 16:16:04 J/FopGa8
今だーーー!550ゲットーーーーーー!!!!!!!!

551:名前は開発中のものです。
06/07/08 06:15:01 iDFm5g4r
>>546
パズルモードを攻略できるの?

552:名前は開発中のものです。
06/08/18 22:21:38 9Ph8mdvx
ただいまTETRIS2002ガイドラインになんちゃって準拠したテトリスを作ってるところでつが、
T-SPINとスーパーローテーションの実装方法が分かりませんでつ。
ご指南いただければ幸いかと。

553:名前は開発中のものです。
06/08/18 23:00:50 2vFjQPe3
候補を総当りしちゃってもいいんじゃないかね

554:名前は開発中のものです。
06/08/19 16:59:32 mSi6sXts
Tスピンねぇ…
①固定される直前の動作が回転である
②左右移動できない
③最後に回転した方向にもう一度回転できない
この条件がすべて揃っていればイイんじゃないでしょうかね

555:名前は開発中のものです。
06/08/20 02:16:52 F5ABO99M
>>552
晒すのが先
出来たところまででいいからさ

556:名前は開発中のものです。
06/08/20 05:14:44 D2IGNiOd
一つだけ言っておくが
クレ厨の言うことなんか聞くこと無いんだぞ

557:552
06/08/20 11:54:36 Evk47mxt
>>555
すんません
URLリンク(www.freewebs.com)

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

ツクールXPで作ってるから、RTPのダウンロードしてない人はやっといて。

558:名前は開発中のものです。
06/08/22 00:22:04 2zQdqnMC
完成してないのに
RTPのダウンロードやっといてとは随分な言い方ですね

559:名前は開発中のものです。
06/08/22 00:30:49 4ZUgGe3M
>>557

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

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

ちなみにこれはテトリスDSの判定方法です。
テトリスワールドだと壁や床がブロックと見なされないようです。
TGM3だと3番の条件が無く、その代わりに1ライン以上消えることが条件となります。
そもそもT-SPINが無いゲームもいっぱい存在するのでT-SPINは必須では無さそうです。

560:552
06/08/22 16:49:50 oA77I8Wu
>>558
書き方が悪かったら謝ります orz
でも無いと動かないから勘弁して。

>>559
GJ&㌧クス!!
これを参考にしてやってみて、うまくいったらまたここに晒してみます

561:名前は開発中のものです。
06/08/29 00:19:12 jvGgJvl5
マダー?

562:名前は開発中のものです。
06/08/30 01:45:46 kVooqL3x
最近Javaでテトリスを作っていたのですが、壁蹴りのアルゴリズムがわからなくてぐぐってここに来ました。

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

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

ちなみに今途中まで作ってるのはこれです。
URLリンク(hilala-web.hp.infoseek.co.jp)

563:名前は開発中のものです。
06/08/30 02:02:35 Zrib/N2u
普通に回転部分を作ると、回転出来なかったら回転しない で終わりだと思うけど、

そっからさらに続くのが壁蹴りの総当たり。
要するに左にずれて回転すれば回転出来るか、右にずれて回転すれば回転できるかってのを
順々に試していって、成功したらその状態に確定という事をやる。
(L字ブロックのいわゆる『陰謀』は、この順々に試すという性質によるもの。つまり仕様ってのは嘘じゃない)

んで、セガテト以外の回転方式だと上にずれて回転できるかってのを試す、
いわゆる床蹴りってのが必要になってくると思うんだが
個人的にはこれやるぐらいならおとなしくセガテト方式にした方がいいと思うなぁ。

564:562
06/08/30 02:12:13 kVooqL3x
>>563
ああ、なるほど。
なんとなく床蹴りは入れてみたいと思ってるのですがw
とりあえず左右だけ、壁蹴りの実装に挑戦してみます。

565:名前は開発中のものです。
06/08/30 11:58:31 PTc/E9yt
俺、X68kで
BASIC覚え始めてから3週間くらいで
テトリス作った。
でも、どんなにコードをブラッシュアップしても
遅すぎてゲームにならんかった・・・。


566:名前は開発中のものです。
06/08/30 18:37:30 iaNQ+h6j
ロジック以外は同じでボタン操作するロボット作って
勝負させたらいいんじゃないの?

567:562
06/09/01 05:18:52 1r191EMk
なんとか実装してみました。
細かい挙動や、バグはまだ確認していないので何か不具合あるかもしれませんが・・・

URLリンク(hilala-web.hp.infoseek.co.jp)

568:名前は開発中のものです。
06/09/01 09:13:39 Nes3LbOv
>>565
その状態で
恥ずかしげもなく作ったと言えるね

569:名前は開発中のものです。
06/09/01 10:44:22 s9Yotxsi
>>568
はいはい、日本語の勉強の時間ですよ。

570:テトリス先生
06/09/02 00:17:34 iXZl3z8R
はははっ^^

571:KFJGJGJ
06/09/02 00:19:26 iXZl3z8R
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAああああああああああああああああああああああああああああああああああああああああああ

572:テトリス先生
06/09/02 00:20:24 iXZl3z8R
荒らしはやめましょう

573:名前は開発中のものです。
06/09/02 02:06:39 VDs1F/a3
今までテトラミノの固定猶予期間を考えずに組んでたことに気づいた。
テトリスDSで色々実験してみたんだが、
床スレスレで自動下降しようとしたときから
時間を計り、一定時間経過後に固定という処理をしているように思えた。
壁蹴りで浮かせて永遠に固定を阻止できたから
床スレスレ状態でなくなったら時間はリセットされているみたいなんだが、
普通のテトリスはこんな厨房プレイを許しているの?

574:名前は開発中のものです。
06/09/02 02:12:45 Gj2iNCEW
>時間を計り、一定時間経過後に固定という処理をしているように思えた。
これは違うだろ
DSスレで検証も出てる

>普通のテトリスはこんな厨房プレイを許しているの?
してるのも、してないのもある。

実験するならもう少し考えてやった方がいい

575:名前は開発中のものです。
06/09/02 02:29:00 VDs1F/a3
>>574
ご丁寧にありがとうございます。他の方の検証をあたってみます。
っていうか実験は適当にやっただけだ。うざい。検証結果くらい書け。氏ね。

576:名前は開発中のものです。
06/09/02 02:31:22 pUSUJZmQ
豹変ぶりにワロタ

577:名前は開発中のものです。
06/09/02 03:31:07 oKo/J0RP
>>575-576
この流れは前にどっかで見たことがあるぞ・・w

578:名前は開発中のものです。
06/09/02 20:51:16 VECYO51q
>>566
それだ!

579:552
06/09/19 12:53:42 chzxPqSd
大変長らくお待たせいたしましたっ。
とりあえず、スーパーローテーションとゴーストブロックを搭載しました。

URLリンク(www.freewebs.com)

Tスピンは、消しエフェクトがまだ決まってないので未搭載。
形になってきたらまた晒しておきます。

580:名前は開発中のものです。
06/09/23 00:01:26 H8vvAyE3
print ”おっぱいうp”

581:名前は開発中のものです。
06/09/23 13:05:23 KsCkxLjX
行末のセミコロンぐらい打てよ

582:名前は開発中のものです。
06/09/29 20:55:10 OF60b4X9
テトリスぐらいひとにいちいちそうだんすんなよぬるいスレ

583:名前は開発中のものです。
06/09/29 21:20:32 htuq4KNG
>582

テトリスのCPU思考ルーチンをおしえろ
スレリンク(gamedev板)l50

1 名前:名前は開発中のものです。 本日のレス 投稿日:2006/09/29(金) 20:57:35 OF60b4X9
具体的に記せ


584:名前は開発中のものです。
06/09/29 21:23:37 OF60b4X9
//<body onKeyDown=K=event.keyCode>
//<script>
X = [Z = [B = A = 12]];
h = e = K = t = P = 0;
function Y () {
C = [d = K - 38];
c = 0;
for (i = 4; i-- * K; K - 13 ? c += !Z[h + p + d] : c -= !Z[h + (C[i] = p * A - Math.round (p / A) * 145)]) {
p = B[i];
}
!t | c + 4 ? c - 4 ? 0 : h += d : B = C;
for (f = K = i = 0; i < 4; f += Z[A + p]) {
X[p = h + B[i++]] = 1;
}


585:名前は開発中のものです。
06/09/29 21:24:34 OF60b4X9
if (e = !e) {
if (f | B) {
for (l = 228; i--; ) {
Z[h + B[i]] = k = 1;
}
for (B = [[-7, -20, 6, 17, -9, 3, 6][t = ++t % 7] - 4, 0, 1, t - 6 ? -A : -1]; l--; h = 5) {
if (l % A) {
l -= l % A * !Z[l];
} else {
for (P += k++, j = l += A; --j > A; ) {
Z[j] = Z[j - A];
}
}
}
}
h += A;
}
for (i = S = ""; i < 240; X[i] = Z[i] |= ++i % A < 2 | i > 228) {
i % A ? 0 : S += "<br>", S += X[i] ? "■" : "_";
}
//document.body.innerHTML=S+P;
Z[5] || setTimeout (Y, 99 - P);
}
Y ();
//</script>

586:名前は開発中のものです。
06/09/29 21:26:41 OF60b4X9
2006/09/29(金) 21:20:32 ID:htuq4KNG

587:名前は開発中のものです。
06/09/30 10:03:35 MbfF/7Pe
いまさらルーチンなんか語ることないでしょ
それよちも設計を語った方が有意義

588:名前は開発中のものです。
06/09/30 15:59:49 KazxttD+
お題
「ハットリスはどうすれば面白くなるか」

589:名前は開発中のものです。
06/09/30 22:57:59 GcnXxyiI
キャラクタをヨッシーにする

590:名前は開発中のものです。
06/10/01 10:17:17 IrowYbpc
っ 最強弁護士軍団

591:名前は開発中のものです。
06/11/02 05:52:49 U5773Gdm
保守


592:テトリス君
06/11/29 16:41:16 fZySn/AP
テトリスを作成しているんですが、点数の表示方法がわかりません・・
どなたかお勧めのサイトや、自分で作成したことがある・・という方
お願いします・・・・
ソースわかればなんでもいいです。

593:テトリス君
06/11/29 16:46:16 fZySn/AP
↑書き忘れてましたが言語はjavaです。

594:名前は開発中のものです。
06/11/30 03:11:54 cyVv0HkZ
ラベルでもDrawStringでも使えばいいじゃまいか(;´Д`)つーかテトリスと関係ないし

595:名前は開発中のものです。
06/12/29 21:00:44 JSMgW4kB
>>592
いま出来てるところまででいいからアップ汁
話はそれからだ

596:名前は開発中のものです。
07/02/19 10:55:56 qBnrOPZ6
age

597:名前は開発中のものです。
07/02/19 12:38:32 N5sPNDQg
俺にはテトリスみたいな展開の早いゲームを作るのは難しすぎる。
もっとゆっくりしてないと設計できん。

598:名前は開発中のものです。
07/02/19 16:47:04 UF2QT//t
たとえばどんなのかな?

599:名前は開発中のものです。
07/02/19 19:22:56 tfJQzvTc
戦略シュミレーションとかじゃん?

600:名前は開発中のものです。
07/02/19 23:30:47 UF2QT//t
テトリスの方が圧倒的に簡単じゃんかw

601:名前は開発中のものです。
07/02/20 23:46:48 RRWDRZkB
テトリスやブロック崩しや格ゲーは、俺がプレイ下手くそなせいかバランス調整がわからん。
神バランスに調整できる奴はマジ尊敬する。

602:名前は開発中のものです。
07/02/21 00:52:03 UEBJJhZl
確かにこれ系はへたくそなヤツが作るとろくな事にならんな。
今のワールドルールとかもそうだが。
アリカのクラシックルールのがよっぽど操作性いい。

603:名前は開発中のものです。
07/03/31 11:04:47 5f2AkY1B
>>600
レスポンスやリズム感を無視すればな

604:名前は開発中のものです。
07/04/11 00:08:31 328Girn7
テトリスもどき作ったお( ^ω^)
URLリンク(www.csync.net)

605:名前は開発中のものです。
07/04/11 00:27:56 k/jmTQMs
こやつできるな

606:名前は開発中のものです。
07/04/13 16:40:09 L7sMPCL+
>>604
すごーい。よく出来てますね。
ご苦労様です。

607:名前は開発中のものです。
07/05/09 02:51:05 0yOxHzOU
>>604
お前さんすげえわ

608:名前は開発中のものです。
07/08/12 20:30:35 MGACeO4c
>>604
すげぇ

609:名前は開発中のものです。
07/08/31 20:28:39 tHtHy9JV
これは綺麗なテトリス。
もどきじゃねえじゃん

610:名前は開発中のものです。
07/09/19 15:53:02 0xZKOPiK
DxLib(bcc仕様)を使ってるけど、よかったらドゾー
つ【URLリンク(www.csync.net)


611:名前は開発中のものです。
07/09/19 17:09:39 TgZUsUk6
>>610
フィールド上にブロックが表示される前にNEXTがずれるから
次に出てくるはずのブロックとは違うブロックが出てきたように感じる

ブロック固定後のインターバルを無くすか
インターバル後にNEXTをずらしたほうが良心的かも

612:610
07/09/20 14:54:21 6W9lr3bY
>611
fix終わりました。

つ【URLリンク(www.csync.net)

613:名前は開発中のものです。
07/10/25 23:44:29 bLhl0bBS
英雄気取りですかw

614:名前は開発中のものです。
07/10/25 23:49:35 eVqprg00
リスとてをつなぐ

615:名前は開発中のものです。
07/10/28 12:38:53 vaAKfkt0
テトリスのアルゴリズムがいまだにわからん

616:名前は開発中のものです。
07/11/22 23:49:19 E4jdbeq0
テトリスを作ってみました
URLリンク(gamdev.org)
別のスレで発表したやつなんだけどある程度テトリスへの見解がありそうな人に
キーの操作感やレベルの上昇具合などの意見がほしかったので、
ワールドルールの基本的な部分はほぼできてると思うけどT-spinの判定部分が少し違うので
市販ゲームだとT-spinとなる場面でもならない場合があります。

隠し機能…というかデバッグ用の機能でポーズ中にEnter+初めからでブロックが置かれた状態でスタートします。

617:名前は開発中のものです。
07/11/23 00:09:56 3Xtf45de
XPでMラデ9700なのに非対応ハードウェアって言われて起動出来ない。
DirectXインスコしなおしてもだめぽお

618:名前は開発中のものです。
07/11/23 00:14:50 lJWTC5zB
>>616
DL出来ない

619:名前は開発中のものです。
07/11/23 00:22:09 gkLsBEsU
>>616
d3dx9_30.dllが見つからないって怒られた

620:名前は開発中のものです。
07/11/23 07:17:15 NiLEtXSf
d3dx9_30.dllは最新版のDirectXに更新するか↓からダウンロードしてEXEファイルがあるフォルダの中にいれればOKです
URLリンク(www.dll-files.com)

DirectX9が初期化できない問題については調査中です

621:名前は開発中のものです。
07/11/23 15:43:06 NiLEtXSf
描画部分をDirectX8に下げてみました
たぶんこれで大丈夫かな?
URLリンク(gamdev.org)

DirectX9のデバイス作成部分は日経ソフトウェアの2006年9月号にあったサンプルコードのコピペなので
それが動かなければ自分にはどうしようもありません(日経ソフトのサイトのダウンロードの項目に
実行形式を含んだサンプルがあるのでそれを試してもらえるとありがたいです)

・・・これでDirectX8Verが動いたのなら日経をうらむZE


622:名前は開発中のものです。
07/11/23 16:48:13 3Xtf45de
動いたよ。なかなか良くできてると思う。
しかしやはりワールドルールはゴミだな。

623:名前は開発中のものです。
07/11/23 17:43:17 gkLsBEsU
操作感がいい。テトリスDSしかやりこんでないけど
かなりそれに近い漢字。

624:名前は開発中のものです。
07/11/26 16:56:48 cd/8LY9v
初期化のコードってるんだろ

625:名前は開発中のものです。
07/11/30 14:04:38 SmKEHf+f
Excelテトリスとかすごいよな

626:名前は開発中のものです。
07/11/30 18:03:18 /M0SBx3X
VBの亜種と考えれば技術的に不思議は無い
行動力はすごいかも

627:名前は開発中のものです。
07/12/05 21:52:00 RQP15HqG
いっその事ここでHeborisの後継を作ってしまうとか……
スレ違いですかね。

628:z
07/12/15 14:59:50 EVW21g5x
作り方おしえてぇぇl おねがい



629:名前は開発中のものです。
07/12/15 18:22:49 dW/LIK6y
>>628
GamDevPukiWiki - テトリス風落ちものゲームを作れ
URLリンク(gamdev.org)


630:名前は開発中のものです。
07/12/15 19:49:22 1KX9dht8
テトリスってただ作るだけなら超簡単だけど、
操作性を良くしようとしたら
回転法則とか面倒なんだよな。

631:名前は開発中のものです。
07/12/16 00:19:42 Ue6xYNrF
 お詫びにはなりそうにないですが。
ソースが酷く、Dxライブラリを使っていて、しかも説明が不親切です。
余計スレを汚すかもしれませんが、すいません。

 URLリンク(www.csync.net)

632:名前は開発中のものです。
07/12/18 20:51:53 MxiOT+9U
>>630
出来が良いテトリスはカンパニーに目つけられるから丁度いいんじゃね?

633:名前は開発中のものです。
07/12/25 00:42:22 r/4ugx/h
 >>630
壁蹴りとか結構難しいですよね……フリーでも出てはいるものの、どれにも満足せず、結局自分で作ってしまうという経緯の人が多いんじゃないですか?私もですが。

 図々しいですが、>>631の評価もお願いします。

634:名前は開発中のものです。
07/12/25 00:59:28 wNTJQcMb
デキはいいと思うよ。
クラシックでオレンジだけ回転が逆なのが気になるけど。

635:名前は開発中のものです。
07/12/26 17:28:25 /JNHGmBG
キーリピートの実装でいつも悩まされるんだよな。
キーを押しっぱにすると、ブロックの移動後にやや長めのブランクがあって、
その後は短いブランクで連続的にブロックが移動する、あの仕組みのこと。

GetAsyncKeyState でキーの状態を取得・記録してるんだけど、
DirectInput なんかだと、そのへんは楽に出来たりするのかな?
それとも、結局自前で処理するしかないのだろうか。

636:名前は開発中のものです。
07/12/26 19:17:29 3zTb/GjQ
 >>635
自前で処理するしかないでしょうね。私もそうですし。

637:名前は開発中のものです。
07/12/26 19:51:33 /JNHGmBG
>>636
やっぱり自前かあ。。(´・ω・`)ショボン
ブランク (というのか、ウェイトというのか) が一定なら楽なんだけどなー。


638:名前は開発中のものです。
07/12/26 22:43:44 /JNHGmBG
キーリピート何とかでけた。でも操作感の調整がいまいち。。
BGMと背景はネットで拾って勝手に使いました(ごめんちゃい)。
URLリンク(gamdev.org)

639:名前は開発中のものです。
07/12/26 22:56:46 jg39uyRo
晒しAGE

640:名前は開発中のものです。
08/01/23 20:29:43 HXtqSlMO
>>638
>でも操作感の調整がいまいち。。

下ボタンを押してブロックを地表まで落下させてもブロックが即固定されないので
ブロックが着地してから自然に固定されるまでの間に左右ボタンを押しっ放しにして次のブロックの操作の準備をする
という事ができないのと
単純に横移動が遅いのが気になりました

641:638
08/01/24 21:06:55 ZHSdEZDa
>>640
おお。遊んでくれてありがとう。
リプレイ機能を足したのと、少し手直ししたバージョンれす。
URLリンク(gamdev.org)
キーの操作性は序盤は良くても、高速落下時には悪かったり
その逆だったりで、こちらが立てばあちらが立たずというか、
いくら調整しても上手くいかない。計算じゃなくてレベル毎に
キーのウェイトを場合分けするのが普通なんだろうか。

642:名前は開発中のものです。
08/02/18 19:39:54 HFy4gAzh
>計算じゃなくてレベル毎に
>キーのウェイトを場合分けするのが普通なんだろうか。

俺は他のパズルゲームでそうしてるよ?



643:名前は開発中のものです。
08/03/13 00:04:21 xv15v5y6
こんなんあった。見た目よさげ。

URLリンク(blogs.dion.ne.jp)

644:名前は開発中のものです。
08/06/04 12:42:07 xVETCOHb
gamedeve 新しいの出来たのでカキカキ

TopPage - game-develop.com wiki
URLリンク(wiki.game-develop.com)

GameDevWikiを何とかするスレ
スレリンク(gamedev板)

645:名前は開発中のものです。
08/08/17 11:05:36 jbYHnaj0
落下物を5マスで構成するとシベリア風になる
7マスだとゲームにならない
検証結果でした

646:名前は開発中のものです。
08/11/02 10:19:36 DeI6I3HA
URLリンク(www.uploda.org)

こんな感じに、左右にキャラクターとか置いてあるテトリスを作りたいのですが、
なるべくCで。無理でしょうか…。

647:名前は開発中のものです。
08/11/02 11:34:21 lNemj/fG
無理かどうかはお前さんの実力次第でしょ。

648:名前は開発中のものです。
08/12/03 00:58:26 yT+8CUqk
長持ちなスレだな…

保守

649:名前は開発中のものです。
08/12/08 21:09:37 SiBzuSxO
18禁テトリスがあるそうです
ソース
URLリンク(www.otona-magic.net)



650:ピンチ!
08/12/12 00:14:34 QwxspzCO
javaでテトリスが作れない…
HELP;;

651:名前は開発中のものです。
08/12/12 00:51:24 qA+Ep97Q
java以外なら作れるのか?

652:ピンチ!
08/12/12 01:00:28 QwxspzCO
だめです;


653:名前は開発中のものです。
08/12/14 05:28:51 6VOU+CNW
今どこまで出来てて、いつまでに仕上げるつもりなんだ?

654:名前は開発中のものです。
08/12/14 19:45:14 WqHhBQf5

前から思ってたんだが、テトリミノって「S型」やら「L型」やら 名前がダサいから、
テトリスを開発するにあたって ひとつひとつの 型 に名前を付けたい

たとえば、



  ■     [THPIL] スパイル
■■■   T-SPINに使用するので「spin(スピン)」から

  ■■   [SCAVE] エスケイヴ
■■     携帯ゲームの[SFCAVE(エスエフケイブ)]をヒントに S型のカーブということから

■■     [ZEXE] ゼグゼ
  ■■    Z型のカクカクした形「zigzag(ジグザグ)」から文字った

   ■    [LENGA] レンガ
■■■    文字通りレンガ(Lから始まり そのまんまで面白い)

■       [JACK] ジャック
■■■   尖った角「jag(ジャグ)」 …を省略したつもり

  ■■   [ORB]  オーブ
  ■■   水晶をイメージ、「O」から始まるのでピッタリ

■■■■  [IBIRD] アイバード
       I型のバー(棒)だから …というのは建前で、本当は国際復興開発銀行「IBRD(アイビーアールディー)」からとった(汗)

といった感じですが 皆さんいかがですか?


655:名前は開発中のものです。
08/12/14 20:12:47 jIviTAOm
なんか名前とイメージが合わない。
けどレンガはなんかいい感じ

656:名前は開発中のものです。
08/12/14 20:43:41 +KNnSG/R
>国際復興開発銀行「IBRD(アイビーアールディー)」

これはテトリスと何の関係があるの?

657:名前は開発中のものです。
08/12/14 22:25:20 aCNdOL5T
全然 関係ありません。I から始まるカッコイイ横文字はないかなと考えて思いついたのは
自分の恩師が「IBRD」のことを『アイバード』と言っていたことをふと思い出し 付けました。
当初は I 型のバー(棒)という意味は考えていた訳ではなく後づけですが、意味的にはOKかなと思いました

658:名前は開発中のものです。
08/12/14 22:42:48 V5VcaD+6
黎明期あるいはパジトノフ氏自身がソースにコメント残してたら定着したかもしれんが、
個人的に「セガテトリス」の影響受けすぎてるんで、黄色だの赤だの言ってもらったほうが通じる。

面白いし、「ああ、あの人か」って言われるぐらいしつこく言い続けていれば定着するかもしれんね。

659:名前は開発中のものです。
08/12/20 13:41:34 UIXhygxY
でもSEGAのテトリスの色と正式なテトリスの色とは違うから
やっぱり名前は欲しいかな …おれは

660:ピンチ!
08/12/25 22:57:06 ieYgyXOx
>>653

アプレットでつくりたいんです。
でもまだ何も出来てません;;
1月中には完成させたくて。

661:名前は開発中のものです。
08/12/26 02:07:43 qOJNgJwB
学校の課題かなにかか。

662:名前は開発中のものです。
08/12/26 02:41:18 aV6Fssx2
Javaでテトリス作って、ソースも一緒に公開している人いるぞ。
ぐぐって参考にしてみれば?
あと、ここもいいかも。
URLリンク(javagame.skr.jp)
っていうかこれぐらい自分で探せるだろ。

663:名前は開発中のものです。
08/12/27 15:56:09 myRt+1Yg
>>660
最低限の実装は1日もあればできるので
0からjavaを勉強し始めても余裕で間に合うよ
ちゃんと勉強すればね
あと662が言っているように自分で調べる力が何より重要
聞く前にググる、参考書・マニュアルを読むは
今後何を作るにしても必要な技術

664:名前は開発中のものです。
09/01/18 17:00:56 CfYlDEBd
BWKみたいなのはできないのか

665:名前は開発中のものです。
09/01/24 15:18:49 dwPgb+JD
Flashでテトリス作ってるんだけど、公開してもいいの??
著作権とかどうなん??

666:名前は開発中のものです。
09/01/24 15:51:17 PlIuXWcv
テトリスの場合は著作権よりも特許の問題(特許侵害は非親告罪)
BWKもそれで潰されたみたいだし、公開しないのが正しいが
公開している人はたくさんいる

667:名前は開発中のものです。
09/01/25 20:01:23 ZEs1B8wD
>>665
アイデアは著作権では保護されないので、自分で一からプログラムを
書くなら問題なし。

問題は特許権と、「テトリス」って名前を使うなら商標権もかな。
ただ、特許が取られているのかどうかは知らんし、「テトリス 特許」で
検索してもよく分からんかった。
URLリンク(www.tetrisonline.co.jp)
URLリンク(ja.wikipedia.org)
URLリンク(oshiete1.goo.ne.jp)
URLリンク(detail.chiebukuro.yahoo.co.jp)
URLリンク(detail.chiebukuro.yahoo.co.jp)
URLリンク(www.geocities.co.jp)
だれか詳しい人いない?

ただ、現実問題としては、グラフィックやBGMはオリジナルのものを使い、
お金を取ったりしてなければ何か言われることはまず無いだろうし、
万が一あったとしても公開停止すればそれで済むレベルだと思うよ。

どうしても心配ならここで検索してみれば?
URLリンク(www.ipdl.inpit.go.jp)

668:名前は開発中のものです。
09/01/29 15:01:04 EFNpwAw2
特許の有効期間は20年だからそろそろ切れるかもなあ
いつ頃、取ったのかわからないけど

669:名前は開発中のものです。
09/02/02 10:18:57 L3eBCSDs
誰かファミコンのエミュで動くアーケードの初代セガ版のテトリスを作ってくれないかな?

グラフィックはブロックの色が16色内で収まる範囲のアーケード準拠で(棒は赤系、四角は黄系等)背景なんかは正直真っ黒でOK。
サウンドはSEがあればBGMさえ無くてもいいくらい。
ゲームモードはエンドレスで続くモードだけあれば十分。
ただ、ゲームスタートからのカウントが始まってカンストすると止まるタイム表示があるとそれなりにやり込めるかと。

アーケードライクな操作感覚を重視してくれれば文句無いです。


670:名前は開発中のものです。
09/02/02 22:13:04 zKDV2wBj
ファミコンエミュで動かす理由は何?
nesは面倒な上に色や音の数に制限が多いから変人以外は使いたがらないよ
環境を指定しなくて正確な仕様が示せるなら作ってくれる人もいるかもしれないが

671:669
09/02/03 22:23:44 3qVuOcqU
現在はdocomo携帯限定ですがNESのエミュレータがあるんです。
暇な時にそれでテトリスを遊んでいるのですがBPS製のテトリスは操作性が悪く
(エミュ本体でキーコンフィグはありますがセガ版と違い、落下させると落下中は操作不可能)
ゲームモードも一定ラインを消すとステージ終了となるモードしかなくてAC版が好きだった人間には熱くなれないのです。



672:名前は開発中のものです。
09/02/04 00:39:18 5vrY/AHh
テトリス関係は版権厳しいからなー
JAVAで自分で作ったほうがいいぞ

673:名前は開発中のものです。
09/02/04 08:18:40 tk8xX/Fz
HDD漁ってみたがNESで遊べるのはこれくらいかな
テトリス1 BPS版
テトリス1 任天堂版
テトリス1 TENGEN版
テトリス2
テトリス フラッシュ
デブロック

674:名前は開発中のものです。
09/02/04 22:15:26 r8Y8y66d
>>671
わざわざエミュを使う必要があるのか?
携帯のアプリってnesより楽に作れるし、たぶん作動も軽いよ
俺はdocomoじゃないからiアプリのことはよく知らんが

675:669
09/02/05 21:12:25 8N6xKkSN
>>672
自分で作る技術があったら真っ先に作りたいのですが…
自分にはそんな知識や技術がある訳も無く…


>>673
NESに任天堂版のテトリスがあったとは知りませんでした。
ちょっと調べてみます!


>>674
前は携帯のアプリでACちっくなテトリスはあったんです。
が、数年前に作者がテトリスの公開をやめてしまい、機種変更をしてしまった今となってはプレイ出来ません。

以前、SEGAAGESのテトリスコレクションに収録されていたシステムE版(ほぼマスターシステム基板)をプレイしたのですが
やっぱり操作感覚等が厳しいなぁ~と感じました。
それで最近、携帯電話でファミコンのエミュがある事を知り、この板に来たらこのスレを見付け
「この板に来る凄腕PGならばファミコンでもかなりの再現度の高いテトリスを作ってくれるのでは?」
そう思って>>669でレスをした訳です。


ちなみに最近こんなテトリスを見つけました(ネタとしては最高だと思いますw)
URLリンク(www.ngworks.net)


676:名前は開発中のものです。
09/02/05 22:57:11 Ny5jvuih
>675
>自分にはそんな知識や技術がある訳も無く…

今、持ってないだけだろ?
なんで学習して知識や技術を持とうと思わないんだ?
俺は自分の好きなゲームを作りたかったからプログラムを覚えたぞ。

自分で難易度やルールやブロックの種類を決められるんだからスゲー楽しいぞ。
学校の勉強で1教科増えるよりはるかにラクで楽しい。

677:名前は開発中のものです。
09/02/06 11:43:44 53V9m3nL
みなさんだったらこれに終了判定つけるとしたらどうつける?
URLリンク(www.wacharo.net)

678:名前は開発中のものです。
09/02/07 00:31:32 87KToc97
>>677
ブロックを固定した後、新しいブロックを作るまでの間に新しいブロックが
出る予定の場所にブロックがあるかどうかを調べてあればブレイク

679:名前は開発中のものです。
09/02/12 13:31:50 ky+meY3S
BWK作って!!!

680:名前は開発中のものです。
09/02/12 14:09:05 6jowvibW
>>679
>>672

681:名前は開発中のものです。
09/02/26 23:14:40 6CNqUajY
ああ・・

682:名前は開発中のものです。
09/03/02 23:11:29 L1WHkI3Z
チェーンゲームのテトリスってさ どのくらいの容量でできているんだろ?

URLリンク(circle.zoome.jp)

683:名前は開発中のものです。
09/03/09 00:13:05 88I9p0Nz
テトリスの落下プログラムがよくわからない

684:名前は開発中のものです。
09/03/10 23:42:49 8Ev7tmIW
テトリスには下を押したときの落下、自動的な落下、ブロックが消えたときの
落下の3種類があるがどれのこと?

685:名前は開発中のものです。
09/03/12 01:17:07 V0oPeIhv
>>684
あと、最近のだと上とか押して瞬間的に一番下まで落ちるのもあるよ

686:名前は開発中のものです。
09/03/13 13:13:25 0W25G/7J
・下を押したときの落下
 キーを押している間、落下中のテトリミノのyをインクリメントし続ける(着地したら停止)
・自動的な落下
 インターバルをおいて落下中のテトリミノのyをインクリメント
・ブロックが消えたときの落下
 消えたラインから上にある積まれたテトリミノすべてのyを、一度に消したライン数ぶんだけ加算
・上を押したときの落下(ハードドロップ)
 落下中テトリミノのyインクリメントを着地するまで繰り返す

687:名前は開発中のものです。
09/03/13 16:48:19 sfYjktES
>>686の説明でわかる人は683みたいな質問をしないと思うな
たぶんもっと基礎的なところで躓いている

688:名前は開発中のものです。
09/03/13 18:00:56 olBL6Hp0
質問じゃなくてただの愚痴じゃないのか。
答える必要ないかと。

689:名前は開発中のものです。
09/06/06 08:23:39 FXw0rCGK
うん

690:名前は開発中のものです。
09/06/06 17:52:17 At8g59+4
テトリス25周年おめ!!

691:名前は開発中のものです。
09/06/07 12:34:29 cgH0fsjW
こんなんみつけた。

一週間でテトリス
URLリンク(d.hatena.ne.jp)
うん、二ヶ月近く経った今でもまだ完成はしてないようだけどね。
C++でデザインパターンも使いまくりで、まあなんというか
こういう人が開発する様子を眺めてみるってのもおもしろいかも。

>>690
昨日googleのロゴが変わっていてびっくりした。

692:名前は開発中のものです。
09/06/07 13:06:59 a8YEZg9N
テトリスが有名になった少しあとぐらいの時期に
BASIC+マシン語を使って一週間くらいでテトリス作った事があって
「テトリスなんてちょろいぜ」と思っていたが
三行テトリスを知って、自分の無力さを思い知った。
(当時とは環境が違うとはいえ……)

693:名前は開発中のものです。
09/06/08 14:15:24 NMisg64H
>>692
マジレスすると
基本操作、列消えはすぐ作れるんだ
テトリスの一番難しい箇所は
下に付いてから位置が確定される時間差の処理
穴に回転させて入れる場合の確定要素

そう言った余剰処理の方が難しいのさ

694:名前は開発中のものです。
09/06/08 14:23:05 NMisg64H
分かりやすく言うと

□□□□
□□□□
□□□□
□□□□

これが一個の回転領域とすると
□□□□
□■□□
□■■□
□□■□
なのか?
□■□□
□■■□
□□■□
□□□□
なのか?で処理の仕方が変わるし

回転制御も
どのマスを最初に処理するソースにするかで隙間入れの処理が違う

初心者ほど
途中の回転と一列消ししか気にしない駄作作る事実

これ位覚えておけカス

695:名前は開発中のものです。
09/06/08 14:28:52 NMisg64H
ここまで言っても分からないカスの為にもう一つ

□□□□
□■□□
□■■□
□□■□


回転後は
□□□□
□□■■
□■■□
□□□□
なのか?
□□□□
□■■□
■■□□
□□□□
なのか?

どっちで処理するんだ?って話

696:名前は開発中のものです。
09/06/08 14:37:36 NMisg64H
>>683

抽象的な方が分かりやすいと思うから

■□□□
■□□□
■□□□
■□□□
□□□□
□□□□
□□□□
□□□□

処理(タイム関数でループ処理)

□□□□
■□□□
■□□□
■□□□
■□□□
□□□□
□□□□
□□□□

表示するプログラムと
処理するプログラムは別と考えるんだ

697:名前は開発中のものです。
09/06/08 14:50:00 NMisg64H
今気付いた
3月って・・・
すまん

698:名前は開発中のものです。
09/06/08 16:19:14 CpLOgfEO
ドンマイ(`・ω・´)

699:名前は開発中のものです。
09/06/08 16:56:39 o+iAtdVT
クソースでもとりあえず動くもの作ればいいじゃない。

700:名前は開発中のものです。
09/06/08 18:38:01 ciQxNixs
俺が一番悩んだのは

   ↓
■□■□■■
■□■□■■
■□■□■■
■□■□□■
■□□□■■
■■■■■■

こういう状況で回転させた時どうすべ、って事だな。

701:名前は開発中のものです。
09/06/08 18:58:54 CS5VoGMq
・ガイドラインに従う
・T○Mっぽくする
・セガテトリスっぽくする
とりあえず回転法則は既にあるものをまねてみるべきだと思う。

702:名前は開発中のものです。
09/06/08 21:14:09 mnboJmcu
この状況ではもう回転できない
■□■□■■
■□■□■■
■□■□■■
■□■□□■
■□□□■■
■■■■■■

   ..■
■□■□■■   これなら
■□■□■■
■□■□■■
■□□□□■
■□□□■■
■■■■■■

昔のセガふうテトリスだと一段上に戻って
乗っかるような動きになるのでは
■■■■
■□↑□■■
■□□□■■
■□□□■■
■□□□□■
■□□□■■
■■■■■■

703:名前は開発中のものです。
09/06/08 21:22:27 ScR8iayc
すまない。
悩んだっつーだけで地力で解決した昔の話なの。

704:名前は開発中のものです。
09/06/10 09:40:47 Yyxw5vo5
地力がついたのか

705:名前は開発中のものです。
09/06/11 21:10:01 TGzW5zV2
プログラムじゃなくてゲームデザインの話だな

706:名前は開発中のものです。
09/06/11 22:05:13 gjZGF+th
テトリスを作って動かそう!っていうスレで
そんな細かい回転法則とか操作性の工夫とかっていらないんじゃないのか

707:名前は開発中のものです。
09/06/11 23:31:10 /TMuiCwD
HSPだと速攻で作れたが、いざCとかに移行しようとすると失敗するゆとりの俺涙目。
何も用意しなくてもウィンドウ作ってくれるHSPから離れられん。

708:名前は開発中のものです。
09/06/12 00:03:47 ulpNcVjf
そんな貴方にDXライブラリ。

709:名前は開発中のものです。
09/06/30 23:19:09 kpfmSDmA
俺、C+DXLibでテトリス作ってる
HSPとそう変わらない感覚で作れるぜ


710:名前は開発中のものです。
09/08/07 15:35:29 aw3m8zWs
どなたか講評していただけませんか?
URLリンク(kanataofstars.web.fc2.com)
ページとアップローダーのテストも兼ねています。よろしくお願いいたします。

回転法則とか無視してますけど…。

711:名前は開発中のものです。
09/08/07 16:34:41 1yFyUDa1
人柱が出るまで全裸待機

712:名前は開発中のものです。
09/08/07 18:35:55 YopJz8wT
何十秒も待たされるのがうっとうしいな

713:名前は開発中のものです。
09/08/09 11:26:42 5UNaihht
おいおい、いらないobjファイルとか入れるなよ~

714:名前は開発中のものです。
09/08/09 19:13:38 xdUCSZLH
>>713
すみません知りませんでした。削除しておきます。

715:名前は開発中のものです。
09/08/09 22:29:54 2l2vvz9Z
>詳しくはダウンロードファイル内のリードミーにて。
リードミー入ってない。
コンピュータが弱い。

716:名前は開発中のものです。
09/08/09 22:47:10 xdUCSZLH
>>715
>リードミー入ってない。
すみません。>>714修正時に誤って削除していました。一応ホームページから見られるようにしておきました。
>コンピュータが弱い。
調整を検討しておきます。

717:名前は開発中のものです。
09/12/08 18:34:45 gFAFbPam
ぷよぷよつくってまして軸ぷよに対して子ぷよが90度ずつうごくような簡単なつくりならできたんですが
回転いれたぷよぷよフィーバーみたいな操作性のよいものがうまくできないです。

というより回転まではうまくできたんですがフィールドにぷよがあるときの当たり判定とクイックターンのアルゴリズムなどがうまくできないで悩んでます。
なんかいい方法ないですかね?

ちなみに今は32のマップチップみたいなものにぷよを配置するような方法でやってます。で、アクションゲームでやるような当たり判定で…
めりこんだときに上に配置するべきか横に配置するべきかがうまくできなくて挙動がおかしいんですよね

だれかいいソースみたいなの教えていただけないでしょうか?

718:名前は開発中のものです。
09/12/08 20:08:39 NvDi18bm
アクションゲームのような当たり判定をしているとおかしくなるぞ。

入力があった時に、変化できるかできないかと、変化後の形処理をして、結果を段階的に表示する方法にしたほうがいい。
でないと意図しない動きで変な動作をすることになる。

パズルゲームなんだから、落下も回転もマップの1マスずつ移動させるように処理する。
まずは1マス単位で動くようなものを作ってから、途中段階を表示させるように変えてみようよ。

719:名前は開発中のものです。
09/12/08 20:55:09 gFAFbPam
>>718
何ヶ月もレスのなかったスレに書き込んで、正直回答もないと思ってたので、とてもうれしいです。
ありがとうございます。

>変化できるかできないかと、変化後の形処理をして
なるほど、こういう考え方をすれば必ず処理はできそうですね。参考にさせていただきます。


>パズルゲームなんだから、落下も回転もマップの1マスずつ移動させるように処理する。
>まずは1マス単位で動くようなものを作ってから、途中段階を表示させるように変えてみようよ。

すいません、自分の説明が足らなくて、一応マス単位には消去や着地判定などもしてうごかせるものはできました。
なので、マスに縛られないものを作りたいと思いまして…。

それとどうしてここまでそこにこだわるかの理由なんですが、やはり32単位のマスで動かすとカクカクに見えるという難点があり、これはかなりゲームのクォリティを下げてしまうように感じるのです。
それだけではなく、ぷよぷよが好きなので、どうしても"まわし"に関する部分の再現であるとか地面についてから子ぷよを持ち上げて軸ぷよを浮かし、待機させるといったような表現も再現したいのです。
クイックターンも然りです。
この、URLリンク(www.youtube.com)にあるぷよぷよの続編(ぷよぷよフィーバー)なんですか、これらはマスに縛られないきれいな動きをしていて、こういうのを作ってみたいのです。

こういった自分の考え方は客観的にどのように感じるのかも思ったことあればまたレスお願いします。

720:名前は開発中のものです。
09/12/08 21:53:25 665owXk2
うだうだ言ってるようだが考え方としては
内部ではマス単位で移動し、表示をドット単位にする方が正しい

721:名前は開発中のものです。
09/12/08 22:49:31 gFAFbPam
>>720
おおおおおなんかひらめくものがありました!
完成したらうpするのでそのときまた評価などしていただけたらお願いします
たぶん今週末までにはできそうです!

722:名前は開発中のものです。
09/12/09 00:56:44 IOr6Snmx
ある地点から右に1マス移動するのを表示する場合
内部処理ではとっくに右に移動しているが
ドット単位移動で表現しているんだな。

左右移動中に反対に入力したりとか、高速下降を中断した時とか
考えることはたくさんあるぞ。

723:名前は開発中のものです。
09/12/09 17:04:36 wrqBjGoe
【プログラミング】テトリスを1時間強で作ってみた【実況解説】
URLリンク(www.nicovideo.jp)

「テトリスを1時間強で作ってみた」動画の投稿者にインタビュー
─「プログラミングの楽しさ伝えたい」
ブロードテイル CEO 紀平 拓男 氏
URLリンク(itpro.nikkeibp.co.jp)

724:名前は開発中のものです。
09/12/10 09:30:27 GOd4BvIs
>>719
作ってもいないやつから想像だけのアルゴリズムとか真に受けないほうがいいよ
よさそうと思っても実際やってみたら使えないなんてことざらにあるし

最近は適当なこというやつ多いな

725:名前は開発中のものです。
09/12/10 10:50:48 /9raUUtW
つ鏡

726:名前は開発中のものです。
09/12/12 18:38:05 o24Vdapk
>>721をちょっと楽しみにしてたんだが今晩くるかな?

727:名前は開発中のものです。
09/12/12 20:31:55 sRj/YPfW
作ってもこんなところでは公開しないだろうし
こんなところじゃなくても公開はしないだろ

728:名前は開発中のものです。
09/12/12 22:29:39 o24Vdapk
そうか もう今晩はこないかもな
一応でも明日またくるよ

729:名前は開発中のものです。
09/12/12 22:39:30 sRj/YPfW
そもそも何を根拠に今日明日くると仮定してんの?

730:名前は開発中のものです。
09/12/12 22:44:53 o24Vdapk
それはあなたですよwwww

俺は今週末うpってレスがあったから今日、明日じゃないかと思ったんですよw

731:名前は開発中のものです。
09/12/12 22:56:37 0++6BlhB
え、出来るとは書いてるけどうpるとは書いてないだろ
パズルゲーの劣化コピーはプレイヤブルな状態で公開すると
完成度によっては面倒なことになるから
基本的にうpは無いものだと考えてるんだが

ID変わってるけど俺727ね

732:名前は開発中のものです。
09/12/12 23:42:46 jl0uP9p7
完成したらうpするのでそのときまた評価などしていただけたらお願いします

733:721
09/12/16 10:05:51 mP5Wb4vT
結局完成させられませんでした
誰か操作の部分だけでかまいませんのでお手本のソース作っていただけないでしょうか?

734:名前は開発中のものです。
09/12/16 14:27:12 2ThoUv3k
言語何よ
自分でここまでやった、てのを出すと出やすいと思うぞ。

735:721
09/12/16 15:04:05 mP5Wb4vT
>>734さんありがとうございます
HSPです。しかしC言語もかじっていたので条件文などはおおよそCに近く書いてあります。
今いらないものごちゃごちゃしてるので整理してうpしてみます
よろしくお願いします。

736:721
09/12/16 16:26:28 mP5Wb4vT
すいません,うっかり整理してたら間違って必要なファイルまで削除してしまいました/(^o^)\
モジュールだったのですが今書き直します
ちょっと待っててください

737:名前は開発中のものです。
09/12/16 17:26:17 ujk7acGK
期待してる
頑張れ

738:名前は開発中のものです。
09/12/16 18:24:09 2ThoUv3k
HSPだとちょっと返事が遅れるかもしれんがガンガレ

739:名前は開発中のものです。
09/12/27 08:14:22 O973uBUq
【実況】第15回 Java(DoJa)でテトリスを作ってみた【講座】
URLリンク(www.nicovideo.jp)

iアプリのテトリスとしては良い動きしてる

740:名前は開発中のものです。
10/04/21 04:39:50 jrhisQ/9
URLリンク(www.nicovideo.jp)

741:名前は開発中のものです。
11/03/22 15:33:07.92 eIV0YQSI
テトリスのブロックの形ってどういうデータにしてますか?

たとえば
□□□□
□■■□
□■■□
□□□□
の場合、

やり方1
0, 0, 0, 0,
0, 1, 1, 0,
0, 1 1, 0,
0, 0, 0, 0,
2次元配列でこういう風に持っておく

やり方2
1, 1
2, 1
1, 2
2, 2
1次元配列でこういう風に持っておく

1のほうが直観的でわかりやすいけど
2のほうがプログラムがシンプルになりそう

自分がやるならどっちか、それぞれのメリットデメリット、
他にこんな方法があるよっていうのがあれば教えてください

742:名前は開発中のものです。
11/03/22 19:48:55.69 P3mon26Q
4つだけの時はそれほど変わりは無い。

大きい変則ブロックを出したいなら二次元配列がいい。
回転以外の変形や分割もさせたいなら一次元配列がいい。

743:名前は開発中のものです。
11/03/22 20:17:37.29 ZyN29BQg
>>721とは別人だが、完成したのでうp
URLリンク(www1.axfc.net)
意見、感想求む
(音楽データがあるので46.8MBとちょっとサイズが大きいです)

744:名前は開発中のものです。
11/03/22 20:19:52.43 ZyN29BQg
>>741

>>742のいうとおり、イレギュラーに対応することを考えると違ってくるかもね
1だと無駄が多い(ブロックのある場所を調べるのに配列の中全部を
調べないといけないし、配列のサイズも大きい)けど、自由度は高い
2だと無駄は少ないけどブロックを5個にしたりはできない

↓私はこんな感じでやった(HSP)
; J型
tet(4,0,0,XE) = 2 : tet(4,0,0,YE) = 2 ;    
tet(4,0,1,XE) = 1 : tet(4,0,1,YE) = 2 ;3   
tet(4,0,2,XE) = 0 : tet(4,0,2,YE) = 2 ;210 
tet(4,0,3,XE) = 0 : tet(4,0,3,YE) = 1 ;    

tet(4,1,0,XE) = 1 : tet(4,1,0,YE) = 2 ; 23 
tet(4,1,1,XE) = 1 : tet(4,1,1,YE) = 1 ; 1  
tet(4,1,2,XE) = 1 : tet(4,1,2,YE) = 0 ; 0  
tet(4,1,3,XE) = 2 : tet(4,1,3,YE) = 0 ;    

tet(4,2,0,XE) = 0 : tet(4,2,0,YE) = 1 ;    
tet(4,2,1,XE) = 1 : tet(4,2,1,YE) = 1 ;012 
tet(4,2,2,XE) = 2 : tet(4,2,2,YE) = 1 ;  3 
tet(4,2,3,XE) = 2 : tet(4,2,3,YE) = 2 ;    

tet(4,3,0,XE) = 1 : tet(4,3,0,YE) = 0 ; 0  
tet(4,3,1,XE) = 1 : tet(4,3,1,YE) = 1 ; 1  
tet(4,3,2,XE) = 1 : tet(4,3,2,YE) = 2 ;32  
tet(4,3,3,XE) = 0 : tet(4,3,3,YE) = 2 ;    

tet(種類の番号, 回転の状態, ブロックの番号, X座標かY座標か) という
四次元配列で、事前に全て決めておく方法

745:名前は開発中のものです。
11/09/08 20:50:24.43 cPUulUtX
はい、ムリ~。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch