テトリスを作る
みなさん言語は、javaでもHSPでもCでもいいからテトリス作って
ソースを載せてください 普通に回転部分を作ると、回転出来なかったら回転しない で終わりだと思うけど、
そっからさらに続くのが壁蹴りの総当たり。
要するに左にずれて回転すれば回転出来るか、右にずれて回転すれば回転できるかってのを
順々に試していって、成功したらその状態に確定という事をやる。
(L字ブロックのいわゆる『陰謀』は、この順々に試すという性質によるもの。つまり仕様ってのは嘘じゃない)
んで、セガテト以外の回転方式だと上にずれて回転できるかってのを試す、
いわゆる床蹴りってのが必要になってくると思うんだが
個人的にはこれやるぐらいならおとなしくセガテト方式にした方がいいと思うなぁ。 >>563
ああ、なるほど。
なんとなく床蹴りは入れてみたいと思ってるのですがw
とりあえず左右だけ、壁蹴りの実装に挑戦してみます。 俺、X68kで
BASIC覚え始めてから3週間くらいで
テトリス作った。
でも、どんなにコードをブラッシュアップしても
遅すぎてゲームにならんかった・・・。
ロジック以外は同じでボタン操作するロボット作って
勝負させたらいいんじゃないの? なんとか実装してみました。
細かい挙動や、バグはまだ確認していないので何か不具合あるかもしれませんが・・・
http://hilala-web.hp.infoseek.co.jp/Tetris/ >>565
その状態で
恥ずかしげもなく作ったと言えるね AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAああああああああああああああああああああああああああああああああああああああああああ 今までテトラミノの固定猶予期間を考えずに組んでたことに気づいた。
テトリスDSで色々実験してみたんだが、
床スレスレで自動下降しようとしたときから
時間を計り、一定時間経過後に固定という処理をしているように思えた。
壁蹴りで浮かせて永遠に固定を阻止できたから
床スレスレ状態でなくなったら時間はリセットされているみたいなんだが、
普通のテトリスはこんな厨房プレイを許しているの? >時間を計り、一定時間経過後に固定という処理をしているように思えた。
これは違うだろ
DSスレで検証も出てる
>普通のテトリスはこんな厨房プレイを許しているの?
してるのも、してないのもある。
実験するならもう少し考えてやった方がいい >>574
ご丁寧にありがとうございます。他の方の検証をあたってみます。
っていうか実験は適当にやっただけだ。うざい。検証結果くらい書け。氏ね。 >>575-576
この流れは前にどっかで見たことがあるぞ・・w 大変長らくお待たせいたしましたっ。
とりあえず、スーパーローテーションとゴーストブロックを搭載しました。
http://www.freewebs.com/pme_jp/tetris.lzh
Tスピンは、消しエフェクトがまだ決まってないので未搭載。
形になってきたらまた晒しておきます。 テトリスぐらいひとにいちいちそうだんすんなよぬるいスレ >582
テトリスのCPU思考ルーチンをおしえろ
ttp://pc8.2ch.net/test/read.cgi/gamedev/1159531055/l50
1 名前:名前は開発中のものです。 本日のレス 投稿日:2006/09/29(金) 20:57:35 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;
}
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> 2006/09/29(金) 21:20:32 ID:htuq4KNG いまさらルーチンなんか語ることないでしょ
それよちも設計を語った方が有意義 テトリスを作成しているんですが、点数の表示方法がわかりません・・
どなたかお勧めのサイトや、自分で作成したことがある・・という方
お願いします・・・・
ソースわかればなんでもいいです。 ラベルでもDrawStringでも使えばいいじゃまいか(;´Д`)つーかテトリスと関係ないし >>592
いま出来てるところまででいいからアップ汁
話はそれからだ 俺にはテトリスみたいな展開の早いゲームを作るのは難しすぎる。
もっとゆっくりしてないと設計できん。 テトリスやブロック崩しや格ゲーは、俺がプレイ下手くそなせいかバランス調整がわからん。
神バランスに調整できる奴はマジ尊敬する。 確かにこれ系はへたくそなヤツが作るとろくな事にならんな。
今のワールドルールとかもそうだが。
アリカのクラシックルールのがよっぽど操作性いい。 テトリスもどき作ったお( ^ω^)
ttp://www.csync.net/service/file/view.cgi?id=1176217453 >>604
すごーい。よく出来てますね。
ご苦労様です。 DxLib(bcc仕様)を使ってるけど、よかったらドゾー
つ【ttp://www.csync.net/service/file/view.cgi?id=1190184754】
>>610
フィールド上にブロックが表示される前にNEXTがずれるから
次に出てくるはずのブロックとは違うブロックが出てきたように感じる
ブロック固定後のインターバルを無くすか
インターバル後にNEXTをずらしたほうが良心的かも >611
fix終わりました。
つ【ttp://www.csync.net/service/file/view.cgi?id=1190267586】 テトリスを作ってみました
http://gamdev.org/up/img/10597.zip
別のスレで発表したやつなんだけどある程度テトリスへの見解がありそうな人に
キーの操作感やレベルの上昇具合などの意見がほしかったので、
ワールドルールの基本的な部分はほぼできてると思うけどT-spinの判定部分が少し違うので
市販ゲームだとT-spinとなる場面でもならない場合があります。
隠し機能…というかデバッグ用の機能でポーズ中にEnter+初めからでブロックが置かれた状態でスタートします。 XPでMラデ9700なのに非対応ハードウェアって言われて起動出来ない。
DirectXインスコしなおしてもだめぽお >>616
d3dx9_30.dllが見つからないって怒られた d3dx9_30.dllは最新版のDirectXに更新するか↓からダウンロードしてEXEファイルがあるフォルダの中にいれればOKです
http://www.dll-files.com/dllindex/dll-files.shtml?d3dx9_30
DirectX9が初期化できない問題については調査中です 描画部分をDirectX8に下げてみました
たぶんこれで大丈夫かな?
http://gamdev.org/up/img/10601.zip
DirectX9のデバイス作成部分は日経ソフトウェアの2006年9月号にあったサンプルコードのコピペなので
それが動かなければ自分にはどうしようもありません(日経ソフトのサイトのダウンロードの項目に
実行形式を含んだサンプルがあるのでそれを試してもらえるとありがたいです)
・・・これでDirectX8Verが動いたのなら日経をうらむZE
動いたよ。なかなか良くできてると思う。
しかしやはりワールドルールはゴミだな。 操作感がいい。テトリスDSしかやりこんでないけど
かなりそれに近い漢字。 VBの亜種と考えれば技術的に不思議は無い
行動力はすごいかも いっその事ここでHeborisの後継を作ってしまうとか……
スレ違いですかね。 テトリスってただ作るだけなら超簡単だけど、
操作性を良くしようとしたら
回転法則とか面倒なんだよな。 お詫びにはなりそうにないですが。
ソースが酷く、Dxライブラリを使っていて、しかも説明が不親切です。
余計スレを汚すかもしれませんが、すいません。
http://www.csync.net/service/file/view.cgi?id=1197731850 >>630
出来が良いテトリスはカンパニーに目つけられるから丁度いいんじゃね? >>630
壁蹴りとか結構難しいですよね……フリーでも出てはいるものの、どれにも満足せず、結局自分で作ってしまうという経緯の人が多いんじゃないですか?私もですが。
図々しいですが、>>631の評価もお願いします。 デキはいいと思うよ。
クラシックでオレンジだけ回転が逆なのが気になるけど。 キーリピートの実装でいつも悩まされるんだよな。
キーを押しっぱにすると、ブロックの移動後にやや長めのブランクがあって、
その後は短いブランクで連続的にブロックが移動する、あの仕組みのこと。
GetAsyncKeyState でキーの状態を取得・記録してるんだけど、
DirectInput なんかだと、そのへんは楽に出来たりするのかな?
それとも、結局自前で処理するしかないのだろうか。 >>635
自前で処理するしかないでしょうね。私もそうですし。 >>636
やっぱり自前かあ。。(´・ω・`)ショボン
ブランク (というのか、ウェイトというのか) が一定なら楽なんだけどなー。
キーリピート何とかでけた。でも操作感の調整がいまいち。。
BGMと背景はネットで拾って勝手に使いました(ごめんちゃい)。
ttp://gamdev.org/up/img/10788.zip >>638
>でも操作感の調整がいまいち。。
下ボタンを押してブロックを地表まで落下させてもブロックが即固定されないので
ブロックが着地してから自然に固定されるまでの間に左右ボタンを押しっ放しにして次のブロックの操作の準備をする
という事ができないのと
単純に横移動が遅いのが気になりました >>640
おお。遊んでくれてありがとう。
リプレイ機能を足したのと、少し手直ししたバージョンれす。
ttp://gamdev.org/up/img/10973.zip
キーの操作性は序盤は良くても、高速落下時には悪かったり
その逆だったりで、こちらが立てばあちらが立たずというか、
いくら調整しても上手くいかない。計算じゃなくてレベル毎に
キーのウェイトを場合分けするのが普通なんだろうか。 >計算じゃなくてレベル毎に
>キーのウェイトを場合分けするのが普通なんだろうか。
俺は他のパズルゲームでそうしてるよ?
落下物を5マスで構成するとシベリア風になる
7マスだとゲームにならない
検証結果でした 今どこまで出来てて、いつまでに仕上げるつもりなんだ?
前から思ってたんだが、テトリミノって「S型」やら「L型」やら 名前がダサいから、
テトリスを開発するにあたって ひとつひとつの 型 に名前を付けたい
たとえば、
■ [THPIL] スパイル
■■■ T-SPINに使用するので「spin(スピン)」から
■■ [SCAVE] エスケイヴ
■■ 携帯ゲームの[SFCAVE(エスエフケイブ)]をヒントに S型のカーブということから
■■ [ZEXE] ゼグゼ
■■ Z型のカクカクした形「zigzag(ジグザグ)」から文字った
■ [LENGA] レンガ
■■■ 文字通りレンガ(Lから始まり そのまんまで面白い)
■ [JACK] ジャック
■■■ 尖った角「jag(ジャグ)」 …を省略したつもり
■■ [ORB] オーブ
■■ 水晶をイメージ、「O」から始まるのでピッタリ
■■■■ [IBIRD] アイバード
I型のバー(棒)だから …というのは建前で、本当は国際復興開発銀行「IBRD(アイビーアールディー)」からとった(汗)
といった感じですが 皆さんいかがですか?
なんか名前とイメージが合わない。
けどレンガはなんかいい感じ >国際復興開発銀行「IBRD(アイビーアールディー)」
これはテトリスと何の関係があるの? 全然 関係ありません。I から始まるカッコイイ横文字はないかなと考えて思いついたのは
自分の恩師が「IBRD」のことを『アイバード』と言っていたことをふと思い出し 付けました。
当初は I 型のバー(棒)という意味は考えていた訳ではなく後づけですが、意味的にはOKかなと思いました 黎明期あるいはパジトノフ氏自身がソースにコメント残してたら定着したかもしれんが、
個人的に「セガテトリス」の影響受けすぎてるんで、黄色だの赤だの言ってもらったほうが通じる。
面白いし、「ああ、あの人か」って言われるぐらいしつこく言い続けていれば定着するかもしれんね。 でもSEGAのテトリスの色と正式なテトリスの色とは違うから
やっぱり名前は欲しいかな …おれは >>653
アプレットでつくりたいんです。
でもまだ何も出来てません;;
1月中には完成させたくて。 Javaでテトリス作って、ソースも一緒に公開している人いるぞ。
ぐぐって参考にしてみれば?
あと、ここもいいかも。
ttp://javagame.skr.jp/index.php?FrontPage#mff5a158
っていうかこれぐらい自分で探せるだろ。 >>660
最低限の実装は1日もあればできるので
0からjavaを勉強し始めても余裕で間に合うよ
ちゃんと勉強すればね
あと662が言っているように自分で調べる力が何より重要
聞く前にググる、参考書・マニュアルを読むは
今後何を作るにしても必要な技術