テトリスを作る
下に落ちてから(フィールドに出てから)、固まるまでの時間です。 はい。 ttp://2st.dip.jp/imgbbs/src/1090794859.png 某子鯖でget ( д ) ゚ ゚ なんで流れてんのさ、ねぇ、ねぇ・・・? 今日を持って開発終了 どっかのup職人気取りと同じパターンだな。 もう来ないでいいよプププ プがついてる書き込みを見ると「夏だなぁ」ってほほえましくなるね。 readme.txtより引用 3-最後に必ず読んでほしいこと 著作権とかよくわかりませんが、おそらくグレーゾーンだと思いますので。 その辺に公開とかはやめてください。 二次放流もしないでくださいおねがいします。 そういうの見つけ次第フィックス等開発もすべてやめますので。 了承ください。 個人では作ってると思うけどね。 -------------------------------------------------- まぁ、俺の手元に来たってことは流れてるんだな 更に、コンパイル済みだったのは何の罠ですか?普通に動いたけれども >473 の開発終了宣言もでたことだし クラスタワードは >471 の2行目で ファイル名tapで引っ掛かってきたら最高だな と、ネタをふってみる サイズ的にそれっぽいものがあったが カケラも落ちてきません。 釣りか? 2a789c7200d2ee3186b1203846b4d14b ttp://www.nhk.or.tv/kow/program/index.php ぼくちんのサイトに作り方かいてある。 C言語。コマンドプロンプト上で動作。ポインタなし。構造体なし。 Visual C# .netでテトリス作るのに参考になるサイトないですか? そんな極めて状況の限定されたことを解説してるサイトなんて、 よほど貴方の運が良くない限り存在すらしないと思うぞ。 >>483 今ny2で流れてる奴、ソースついてるから開いてみれば あれ、C++だったかも知れん・・・・・・ テトリス) tap ver0.2b (Normal,Master).zip テトリス) tap ver0.5a (Normal,Master)ツモ微調整.zip テトリス) tap ver0.9a (Normal,Master,Death,Shirase-Beta).zip テトリス) tap ver1.1b (Normal,Master,Death,Shirase-Beta,Death+).zip テトリス) tap ver1.1c (Normal,Master,Death,Death+,Shirase-Beta)ツモ再調整.zip テトリス) tap ver1.3a (Normal,Master,Death,Death+,Shirase-Beta,Practice)TGMコマンド追加.zip テトリス) tap ver1.4c (Normal,Master,Death,Death+,Shirase,Kamui,Practice)目測、体感テストver.zip 今まで本人に貰った奴w まだホールドなかった、Practiceは好きなLvからできる奴。 >>487 サンクス でも全然引っかからない。。。(´・ω・`) >>487 あぁ?リネームされてるとかねぇだろーな? 引っかからない(´・ω・`) テトリス) tap ver1.5a (Normal,Master,Death,Death+,Shirase,Kamui,Practice)カムイとシラセ微調整、HOLD追加.zip Readmeの一部 ShiraseとKamuiはNext3つ強制表示 フィールドがTAPなのはお察しください。 ロケテの時カメラで撮るとかチキンなのでできませんでした。 HOLDもKamuiとShiraseのみです。 ホールドって水色ハマリ回避以外の使用方法がわかりません・・・。 ついさっきメッセで貰った 今からny2で共有するぜっ >>492 引っかからないよ・・・(´・ω・`) ファイル名はそのままですか? >>492 のファイル名でantinny流してるのどこのどいつだ こちらにTGM系でGMランクとったことのある人ですぐ近くにMacがあり、使用できる方いませんか? テストしてほしいものがあるのですが。 テトリスのネット対戦ものってあるの? なかったら俺作ろうかな。 ttp://game10.2ch.net/test/read.cgi/netgame/1055676142/l50 ハッシュ書いてもいいのかな やっぱTi出てからにする 723 名前: ゲームセンター名無し [sage] 投稿日: 2005/04/30(土) 05:09:23 ID:??? ttp://www.vipper.org/vip3584.jpg nyでやっと見つけたと思ったら モードが出ない件について >>515 いいんじゃない? というか、開発状況報告スレのほうがいいと思う。 >>516 ここ人居なさ気っすね。 現在、開発状況報告スレでちまちまやってますんで。 >>344 >段階学習スレの絵描きさんバージョン それやろうとしたら激しく罵られた しかも的ハズレな(素材提供してもらって楽するな)という批判 こっちが絵を描くのになぜそういう話になるのか結局わからず この板なんだか頭のおかしい人が常駐しててやりにくい 回転法則ってこんな感じなのがいいんだっけ? □□□□ □□■□ ■■■■←□□■□ □□□□→□□■□ □□□□ □□■□ □□□□ ■■□□ □□□□ □■□□ ■■■□←□■□□←□□■□←□■□□ ■□□□→□■□□→■■■□→□■■□ □□□□ □□□□ □□□□ □□□□ □□□□ □■□□ □□□□ □■■□ ■■■□←□■□□←■□□□←□■□□ □□■□→■■□□→■■■□→□■□□ □□□□ □□□□ □□□□ □□□□ □□□□ □□■□ ■■□□←□■■□ □■■□→□■□□ □□□□ □□□□ □□□□ ■□□□ □■■□←■■□□ ■■□□→□■□□ □□□□ □□□□ □□□□ □■□□ □□□□ □■□□ ■■■□←■■□□←□■□□←□■■□ □■□□→□■□□→■■■□→□■□□ □□□□ □□□□ □□□□ □□□□ あとこれも。 □□□□ □■■□ □■■□ □□□□ TTCが定めるワールドルールとかっていう奴は全然分からなス >>520-521 俺は、4行4列の行列として扱って「行列の回転」の演算を利用したよ ただ単に行列の回転でもいいけど、そのリスト見てわかるように 赤以外のブロックの最底面の位置は合わせた方がいいぞ。 じっくり遊べば気づくかもしれんが、接地中の操作性がまるで違うから。 テトリスワールドは床蹴りやらで対応しているが、個人的にそれはどーかと。 □□□□ □■□□ □■□□ □■□□ ■■■□←■■□□←■■■□←□■■□ □■□□→□■□□→□□□□→□■□□ □□□□ □□□□ □□□□ □□□□ ↑ こうだったら接地中、回転させると浮いてしまうはず。 当時、なぜ接地中でも浮かないんだろうと思ったけど、こんな事だったとかなり後で分かったぽ 壁 壁 .壁 │ │ .│ │■ │■ ...│ ■ │■■ → ■■■ → |■■■ │■ │ .│ │ │ .│ これができれば大半の人は満足するんじゃね? 少なくとも、俺の周りでテトリス好きの人は>>524 がクリアできてるゲームしか遊んでないけどね ただ、確かにシフトして底面を合わせる回転方式をスマートに実装するのは難しいな。 補正量を記述した定義ファイルを別に作ってそれを読み込ませて対応したが、少し非効率な気もする。 HSPでテトリス作りたいんですけど、何から手をつけて良いかがわかりません。 2次元配列を使うのですか? >>531 まずはこのスレを頭から読み直せ 話はそれからだ。 何がわからないか書いてみな、 今漏れも久しぶりにHSPさわってるから。 532さん、レスありがとうございます。 とりあえず、見づらいですが途中までのソース載せときます。 buffer 1,,,1 picload "tetris.bmp" ;32×32の灰色のブロックと黄色いブロック screen 0,415,607,1 palcopy 1 *START gmode 2 gosub *SETMAP *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 *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 *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 これで以上です。 まずは黄色いブロックが、底辺まできたら蓄積されるようにしたいのですがどうしたら良いでしょうか? ちなみに、1が壁用ブロック、2が落下用ブロックです。 (本当は12×19マスの配列にしたいのですが、良くわからず19×19の配列になってます) レスがありませんね。 いや、随分と素っ頓狂なプログラムを書いてしまいました。 アドバイスのしようがありませんものね。 どうぞ、僕のことはスルーして次の話題に行ってください。 >>538 ちょwww自分のレス遅かったのにそれかよwww >>532 が来るまでこれでも見とけ ttp://gamdev.org/w/?%5B%5B%A5%C6%A5%C8%A5%EA%A5%B9%C9%F7%CD%EE%A4%C1%A4%E2%A4%CE%A5%B2%A1%BC%A5%E0%A4%F2%BA%EE%A4%EC%5D%5D レスありがとうございます。 リンク先見ました。 スプライトとプレイフィールドの意味がわからないですが、 とりあえずペイントソフトで七種のブロックをつくってみます。 リンク先にあった〜コウのポケット〜をみて、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 ここまでが僕の限界です。 ブロックは別に配列を作るそうですが、どうしたら良いのかまったくわかりません。 ここのを参考にしながら作ってみた。 ttp://kasamatusan.sakura.ne.jp/cgi-bin2/src/ichi23414.exe.html win32 SDL.dll 必須(同じフォルダに置く) SDL.dll ttp://www.libsdl.org/release/SDL-1.2.9-win32.zip テトリスのCPUアルゴリズムのコンテストってこのスレでやった方がいい? おもしろそうだな ム板に将棋や麻雀のCPUアルゴリズムを競うスレがあったが ID表示が無いせいでなかなか議論が進まない傾向が見られた 一方こちらは人が居ない オセロと同じでテトリスは単純だからアルゴリズムはFAが出てる だから速度で競うしかないからやってもつまらんよ >>546 後はTGMみたいにアイデアと操作性の勝負になるんだよな。 NEXTがかなり先まで見える状態で 下まで掘り返すプログラムも簡単にできるのか? 今だーーー!550ゲットーーーーーー!!!!!!!! ただいまTETRIS2002ガイドラインになんちゃって準拠したテトリスを作ってるところでつが、 T-SPINとスーパーローテーションの実装方法が分かりませんでつ。 ご指南いただければ幸いかと。 Tスピンねぇ… @固定される直前の動作が回転である A左右移動できない B最後に回転した方向にもう一度回転できない この条件がすべて揃っていればイイんじゃないでしょうかね >>552 晒すのが先 出来たところまででいいからさ 一つだけ言っておくが クレ厨の言うことなんか聞くこと無いんだぞ >>555 すんません ttp://www.freewebs.com/pme_jp/tetris.lzh いちを操作方法。キーコンフィグはまだ無い。すまんね。 ←→:移動 ↓:高速落下 ↑:ハードドロップ [A]or[C]:回転 [X]:ホールド ※:[ ]の中はキーではなくてボタン。F1キーを押して変更できる 注意:今のところどれだけライン消してもレベルは上がりません ツクールXPで作ってるから、RTPのダウンロードしてない人はやっといて。 完成してないのに RTPのダウンロードやっといてとは随分な言い方ですね >>557 乙 スーパーローテーションは、まず壁に当たらずに回転できるならそうして、できなかったら4つの壁蹴り候補を総当りするっぽいです。 ここの画像が参考になるかも。 ttp://www.the-shell.net/img/srs_study.html T-SPINは、 1.種類がT型テトラミノ 2.固定前に行った操作が接地した状態での回転 3.固定したときに、テトラミノの四隅(☆の部分)に3つ以上のブロックまたは床、壁がある ☆■☆ ☆■☆ ☆ ☆ ☆■☆ ■■■ ■■ ■■■ ■■ ☆ ☆ ☆■☆ ☆■☆ ☆■☆ これら全ての条件が成り立てば成立します。 ちなみにこれはテトリスDSの判定方法です。 テトリスワールドだと壁や床がブロックと見なされないようです。 TGM3だと3番の条件が無く、その代わりに1ライン以上消えることが条件となります。 そもそもT-SPINが無いゲームもいっぱい存在するのでT-SPINは必須では無さそうです。 >>558 書き方が悪かったら謝ります orz でも無いと動かないから勘弁して。 >>559 GJ&dクス!! これを参考にしてやってみて、うまくいったらまたここに晒してみます 最近Javaでテトリスを作っていたのですが、壁蹴りのアルゴリズムがわからなくてぐぐってここに来ました。 >>559 さんの貼ってるサイト見ました。 総当りというのは、それぞれのブロックのページにある、ブロックのアニメーションの 数だけ全部総当りてことでしょうか? やはりスーパーローテンションの挙動はブロックによって考える必要があって、 統一された規則があるわけではないんですかね・・・? ちなみに今途中まで作ってるのはこれです。 http://hilala-web.hp.infoseek.co.jp/Tetris/ 普通に回転部分を作ると、回転出来なかったら回転しない で終わりだと思うけど、 そっからさらに続くのが壁蹴りの総当たり。 要するに左にずれて回転すれば回転出来るか、右にずれて回転すれば回転できるかってのを 順々に試していって、成功したらその状態に確定という事をやる。 (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が言っているように自分で調べる力が何より重要 聞く前にググる、参考書・マニュアルを読むは 今後何を作るにしても必要な技術 Flashでテトリス作ってるんだけど、公開してもいいの?? 著作権とかどうなん?? テトリスの場合は著作権よりも特許の問題(特許侵害は非親告罪) BWKもそれで潰されたみたいだし、公開しないのが正しいが 公開している人はたくさんいる >>665 アイデアは著作権では保護されないので、自分で一からプログラムを 書くなら問題なし。 問題は特許権と、「テトリス」って名前を使うなら商標権もかな。 ただ、特許が取られているのかどうかは知らんし、「テトリス 特許」で 検索してもよく分からんかった。 ttp://www.tetrisonline.co.jp/tetris_license.pdf ttp://ja.wikipedia.org/wiki/%E3%83%86%E3%83%88%E3%83%AA%E3%82%B9#.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9 ttp://oshiete1.goo.ne.jp/qa3259818.html ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1121784821 ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1419016159 ttp://www.geocities.co.jp/WallStreet/7506/gamepat.html だれか詳しい人いない? ただ、現実問題としては、グラフィックやBGMはオリジナルのものを使い、 お金を取ったりしてなければ何か言われることはまず無いだろうし、 万が一あったとしても公開停止すればそれで済むレベルだと思うよ。 どうしても心配ならここで検索してみれば? ttp://www.ipdl.inpit.go.jp/homepg.ipdl 特許の有効期間は20年だからそろそろ切れるかもなあ いつ頃、取ったのかわからないけど 誰かファミコンのエミュで動くアーケードの初代セガ版のテトリスを作ってくれないかな? グラフィックはブロックの色が16色内で収まる範囲のアーケード準拠で(棒は赤系、四角は黄系等)背景なんかは正直真っ黒でOK。 サウンドはSEがあればBGMさえ無くてもいいくらい。 ゲームモードはエンドレスで続くモードだけあれば十分。 ただ、ゲームスタートからのカウントが始まってカンストすると止まるタイム表示があるとそれなりにやり込めるかと。 アーケードライクな操作感覚を重視してくれれば文句無いです。 ファミコンエミュで動かす理由は何? nesは面倒な上に色や音の数に制限が多いから変人以外は使いたがらないよ 環境を指定しなくて正確な仕様が示せるなら作ってくれる人もいるかもしれないが 現在はdocomo携帯限定ですがNESのエミュレータがあるんです。 暇な時にそれでテトリスを遊んでいるのですがBPS製のテトリスは操作性が悪く (エミュ本体でキーコンフィグはありますがセガ版と違い、落下させると落下中は操作不可能) ゲームモードも一定ラインを消すとステージ終了となるモードしかなくてAC版が好きだった人間には熱くなれないのです。 テトリス関係は版権厳しいからなー JAVAで自分で作ったほうがいいぞ HDD漁ってみたがNESで遊べるのはこれくらいかな テトリス1 BPS版 テトリス1 任天堂版 テトリス1 TENGEN版 テトリス2 テトリス フラッシュ デブロック >>671 わざわざエミュを使う必要があるのか? 携帯のアプリってnesより楽に作れるし、たぶん作動も軽いよ 俺はdocomoじゃないからiアプリのことはよく知らんが >>672 自分で作る技術があったら真っ先に作りたいのですが… 自分にはそんな知識や技術がある訳も無く… >>673 NESに任天堂版のテトリスがあったとは知りませんでした。 ちょっと調べてみます! >>674 前は携帯のアプリでACちっくなテトリスはあったんです。 が、数年前に作者がテトリスの公開をやめてしまい、機種変更をしてしまった今となってはプレイ出来ません。 以前、SEGAAGESのテトリスコレクションに収録されていたシステムE版(ほぼマスターシステム基板)をプレイしたのですが やっぱり操作感覚等が厳しいなぁ〜と感じました。 それで最近、携帯電話でファミコンのエミュがある事を知り、この板に来たらこのスレを見付け 「この板に来る凄腕PGならばファミコンでもかなりの再現度の高いテトリスを作ってくれるのでは?」 そう思って>>669 でレスをした訳です。 ちなみに最近こんなテトリスを見つけました(ネタとしては最高だと思いますw) ttp://www.ngworks.net/game/tetoris.html >675 >自分にはそんな知識や技術がある訳も無く… 今、持ってないだけだろ? なんで学習して知識や技術を持とうと思わないんだ? 俺は自分の好きなゲームを作りたかったからプログラムを覚えたぞ。 自分で難易度やルールやブロックの種類を決められるんだからスゲー楽しいぞ。 学校の勉強で1教科増えるよりはるかにラクで楽しい。 みなさんだったらこれに終了判定つけるとしたらどうつける? ttp://www.wacharo.net/Tetris/Tetris11.jsp >>677 ブロックを固定した後、新しいブロックを作るまでの間に新しいブロックが 出る予定の場所にブロックがあるかどうかを調べてあればブレイク チェーンゲームのテトリスってさ どのくらいの容量でできているんだろ? ttp://circle.zoome.jp/apptown/media/659/ テトリスには下を押したときの落下、自動的な落下、ブロックが消えたときの 落下の3種類があるがどれのこと? >>684 あと、最近のだと上とか押して瞬間的に一番下まで落ちるのもあるよ ・下を押したときの落下 キーを押している間、落下中のテトリミノのyをインクリメントし続ける(着地したら停止) ・自動的な落下 インターバルをおいて落下中のテトリミノのyをインクリメント ・ブロックが消えたときの落下 消えたラインから上にある積まれたテトリミノすべてのyを、一度に消したライン数ぶんだけ加算 ・上を押したときの落下(ハードドロップ) 落下中テトリミノのyインクリメントを着地するまで繰り返す >>686 の説明でわかる人は683みたいな質問をしないと思うな たぶんもっと基礎的なところで躓いている 質問じゃなくてただの愚痴じゃないのか。 答える必要ないかと。 こんなんみつけた。 一週間でテトリス ttp://d.hatena.ne.jp/portown/20090415/1239801213 うん、二ヶ月近く経った今でもまだ完成はしてないようだけどね。 C++でデザインパターンも使いまくりで、まあなんというか こういう人が開発する様子を眺めてみるってのもおもしろいかも。 >>690 昨日googleのロゴが変わっていてびっくりした。 テトリスが有名になった少しあとぐらいの時期に BASIC+マシン語を使って一週間くらいでテトリス作った事があって 「テトリスなんてちょろいぜ」と思っていたが 三行テトリスを知って、自分の無力さを思い知った。 (当時とは環境が違うとはいえ……) >>692 マジレスすると 基本操作、列消えはすぐ作れるんだ テトリスの一番難しい箇所は 下に付いてから位置が確定される時間差の処理 穴に回転させて入れる場合の確定要素 そう言った余剰処理の方が難しいのさ 分かりやすく言うと □□□□ □□□□ □□□□ □□□□ これが一個の回転領域とすると □□□□ □■□□ □■■□ □□■□ なのか? □■□□ □■■□ □□■□ □□□□ なのか?で処理の仕方が変わるし 回転制御も どのマスを最初に処理するソースにするかで隙間入れの処理が違う 初心者ほど 途中の回転と一列消ししか気にしない駄作作る事実 これ位覚えておけカス ここまで言っても分からないカスの為にもう一つ □□□□ □■□□ □■■□ □□■□ ↓ 回転後は □□□□ □□■■ □■■□ □□□□ なのか? □□□□ □■■□ ■■□□ □□□□ なのか? どっちで処理するんだ?って話 >>683 抽象的な方が分かりやすいと思うから ■□□□ ■□□□ ■□□□ ■□□□ □□□□ □□□□ □□□□ □□□□ ↓ 処理(タイム関数でループ処理) ↓ □□□□ ■□□□ ■□□□ ■□□□ ■□□□ □□□□ □□□□ □□□□ 表示するプログラムと 処理するプログラムは別と考えるんだ クソースでもとりあえず動くもの作ればいいじゃない。 俺が一番悩んだのは ↓ ■□■□■■ ■□■□■■ ■□■□■■ ■□■□□■ ■□□□■■ ■■■■■■ こういう状況で回転させた時どうすべ、って事だな。 ・ガイドラインに従う ・T○Mっぽくする ・セガテトリスっぽくする とりあえず回転法則は既にあるものをまねてみるべきだと思う。 この状況ではもう回転できない ■□■□■■ ■□■□■■ ■□■□■■ ■□■□□■ ■□□□■■ ■■■■■■ ..■ ■□■□■■ これなら ■□■□■■ ■□■□■■ ■□□□□■ ■□□□■■ ■■■■■■ 昔のセガふうテトリスだと一段上に戻って 乗っかるような動きになるのでは ■■■■ ■□↑□■■ ■□□□■■ ■□□□■■ ■□□□□■ ■□□□■■ ■■■■■■ すまない。 悩んだっつーだけで地力で解決した昔の話なの。 テトリスを作って動かそう!っていうスレで そんな細かい回転法則とか操作性の工夫とかっていらないんじゃないのか HSPだと速攻で作れたが、いざCとかに移行しようとすると失敗するゆとりの俺涙目。 何も用意しなくてもウィンドウ作ってくれるHSPから離れられん。 俺、C+DXLibでテトリス作ってる HSPとそう変わらない感覚で作れるぜ どなたか講評していただけませんか? ttp://kanataofstars.web.fc2.com/tetrin.html ページとアップローダーのテストも兼ねています。よろしくお願いいたします。 回転法則とか無視してますけど…。 >>713 すみません知りませんでした。削除しておきます。 >詳しくはダウンロードファイル内のリードミーにて。 リードミー入ってない。 コンピュータが弱い。 >>715 >リードミー入ってない。 すみません。>>714 修正時に誤って削除していました。一応ホームページから見られるようにしておきました。 >コンピュータが弱い。 調整を検討しておきます。 ぷよぷよつくってまして軸ぷよに対して子ぷよが90度ずつうごくような簡単なつくりならできたんですが 回転いれたぷよぷよフィーバーみたいな操作性のよいものがうまくできないです。 というより回転まではうまくできたんですがフィールドにぷよがあるときの当たり判定とクイックターンのアルゴリズムなどがうまくできないで悩んでます。 なんかいい方法ないですかね? ちなみに今は32のマップチップみたいなものにぷよを配置するような方法でやってます。で、アクションゲームでやるような当たり判定で… めりこんだときに上に配置するべきか横に配置するべきかがうまくできなくて挙動がおかしいんですよね だれかいいソースみたいなの教えていただけないでしょうか? アクションゲームのような当たり判定をしているとおかしくなるぞ。 入力があった時に、変化できるかできないかと、変化後の形処理をして、結果を段階的に表示する方法にしたほうがいい。 でないと意図しない動きで変な動作をすることになる。 パズルゲームなんだから、落下も回転もマップの1マスずつ移動させるように処理する。 まずは1マス単位で動くようなものを作ってから、途中段階を表示させるように変えてみようよ。 >>718 何ヶ月もレスのなかったスレに書き込んで、正直回答もないと思ってたので、とてもうれしいです。 ありがとうございます。 >変化できるかできないかと、変化後の形処理をして なるほど、こういう考え方をすれば必ず処理はできそうですね。参考にさせていただきます。 >パズルゲームなんだから、落下も回転もマップの1マスずつ移動させるように処理する。 >まずは1マス単位で動くようなものを作ってから、途中段階を表示させるように変えてみようよ。 すいません、自分の説明が足らなくて、一応マス単位には消去や着地判定などもしてうごかせるものはできました。 なので、マスに縛られないものを作りたいと思いまして…。 それとどうしてここまでそこにこだわるかの理由なんですが、やはり32単位のマスで動かすとカクカクに見えるという難点があり、これはかなりゲームのクォリティを下げてしまうように感じるのです。 それだけではなく、ぷよぷよが好きなので、どうしても"まわし"に関する部分の再現であるとか地面についてから子ぷよを持ち上げて軸ぷよを浮かし、待機させるといったような表現も再現したいのです。 クイックターンも然りです。 この、http://www.youtube.com/watch?v=TGi42Csclwc にあるぷよぷよの続編(ぷよぷよフィーバー)なんですか、これらはマスに縛られないきれいな動きをしていて、こういうのを作ってみたいのです。 こういった自分の考え方は客観的にどのように感じるのかも思ったことあればまたレスお願いします。 うだうだ言ってるようだが考え方としては 内部ではマス単位で移動し、表示をドット単位にする方が正しい >>720 おおおおおなんかひらめくものがありました! 完成したらうpするのでそのときまた評価などしていただけたらお願いします たぶん今週末までにはできそうです! ある地点から右に1マス移動するのを表示する場合 内部処理ではとっくに右に移動しているが ドット単位移動で表現しているんだな。 左右移動中に反対に入力したりとか、高速下降を中断した時とか 考えることはたくさんあるぞ。 【プログラミング】テトリスを1時間強で作ってみた【実況解説】 http://www.nicovideo.jp/watch/sm8517855 「テトリスを1時間強で作ってみた」動画の投稿者にインタビュー ──「プログラミングの楽しさ伝えたい」 ブロードテイル CEO 紀平 拓男 氏 http://itpro.nikkeibp.co.jp/article/Interview/20091104/340019/ >>719 作ってもいないやつから想像だけのアルゴリズムとか真に受けないほうがいいよ よさそうと思っても実際やってみたら使えないなんてことざらにあるし 最近は適当なこというやつ多いな >>721 をちょっと楽しみにしてたんだが今晩くるかな? 作ってもこんなところでは公開しないだろうし こんなところじゃなくても公開はしないだろ そうか もう今晩はこないかもな 一応でも明日またくるよ それはあなたですよwwww 俺は今週末うpってレスがあったから今日、明日じゃないかと思ったんですよw え、出来るとは書いてるけどうpるとは書いてないだろ パズルゲーの劣化コピーはプレイヤブルな状態で公開すると 完成度によっては面倒なことになるから 基本的にうpは無いものだと考えてるんだが ID変わってるけど俺727ね 完成したらうpするのでそのときまた評価などしていただけたらお願いします 結局完成させられませんでした 誰か操作の部分だけでかまいませんのでお手本のソース作っていただけないでしょうか? 言語何よ 自分でここまでやった、てのを出すと出やすいと思うぞ。 >>734 さんありがとうございます HSPです。しかしC言語もかじっていたので条件文などはおおよそCに近く書いてあります。 今いらないものごちゃごちゃしてるので整理してうpしてみます よろしくお願いします。 すいません,うっかり整理してたら間違って必要なファイルまで削除してしまいました/(^o^)\ モジュールだったのですが今書き直します ちょっと待っててください HSPだとちょっと返事が遅れるかもしれんがガンガレ 【実況】第15回 Java(DoJa)でテトリスを作ってみた【講座】 http://www.nicovideo.jp/watch/sm9203192 iアプリのテトリスとしては良い動きしてる ttp://www.nicovideo.jp/watch/sm10103631 テトリスのブロックの形ってどういうデータにしてますか? たとえば □□□□ □■■□ □■■□ □□□□ の場合、 やり方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のほうがプログラムがシンプルになりそう 自分がやるならどっちか、それぞれのメリットデメリット、 他にこんな方法があるよっていうのがあれば教えてください 4つだけの時はそれほど変わりは無い。 大きい変則ブロックを出したいなら二次元配列がいい。 回転以外の変形や分割もさせたいなら一次元配列がいい。 >>721 とは別人だが、完成したのでうp ttp://www1.axfc.net/uploader/O/so/158875 意見、感想求む (音楽データがあるので46.8MBとちょっとサイズが大きいです) >>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座標か) という 四次元配列で、事前に全て決めておく方法 >>743 中二っぽくていいな!消す時に邪気眼出るし >>749 一年経ってもまだこのスレ覗いているから大丈夫 というか、初の反応ありがとう しかし、あの目玉って、邪気眼だったのかw まあ、元ネタのドラキュラX自体が中二っぽいからね・・・ >>720 超亀レスだがアーケードの逆転パズル番長やぷよFは落下が1ドット単位だな ぷよぷよやぱずるだまは1/2キャラ単位だが 作った奴なら NDS_TGM 20080815 が最高。 【ID】YYY-X1 オンラインネーム YYY-X1 自己紹介 ヴォ― 【罪状】シャフでステゲーとファンメ http://i.imgur.com/wngSWjx.jpg 【今の階級】少尉 【説明】 シャフでステゲーしてその間にファンメを書いてるキムチから生まれたデブ バカッターもやってて醜いデブな見た目を自分から晒してるアニブタのナルシスト 性格はキムチで見た目は豚のエイリアンと救いようがないガンダム動物園の豚 今のトロフィー http://psnprofiles.com/YYY-X1 【ID】taki_exvs 【罪状】ヅダで自爆縛り ファンメ 【階級】少将5 【出没時間】深夜 【説明】ファンメはコレhttp://imgur.com/Ib3zTnR マナー厳守の部屋でヅダ使って自爆縛りのキチガイ しかもファンメだからマナー悪い事しか頭にないんだろうよ HTML5 Canvasを使って、ブラウザ上で実行したい 矢印キーで、回転させればよいのか? 何から始めればよいのか、全くわからん T Umezawa 落ち物パズルゲームのプログラミング解説 1/2 https://www.youtube.com/watch?v=iyMMaQWlF_0 この動画を見ると、テトリスは初心者向けじゃない。 難しすぎる 簡単にお金が稼げる方法興味ある人だけ見てください。 グーグル検索⇒『来島のモノノリウエ』 48KQWEPO14 yahooゲームとかにあるテトリスツイストって ねじ込んだり出来なくないですか? やろうとするとブロックが上に浮いてくるんですけど? ビローン|*゚ー゚)y━━━━━━━━━━━━━━━┛~)゚ロ゚)/アチチ!! ○0o。( ̄∇ ̄〃)y--┛( 〃 ̄ー)y-┛( )-┛(ー ̄〃 )y--┛))クルクル read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる