X



C言語でテトリス作って!👾 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 18:16:05.16ID:ck/8OAeI0
作ってる所見せてくれ
参考にしたい
0003名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 18:17:48.57ID:ck/8OAeI0
>>2
URL貼ってくれ!
0006名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 18:21:28.52ID:ck/8OAeI0
>>4
何それ?詳しく頼む!
0008名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 18:22:26.09ID:ck/8OAeI0
>>7
ゲームっぽい絵文字がこれぐらいしか見当たらなかった…
0011名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 18:23:01.46ID:ck/8OAeI0
ゲハにはプログラマーが多いと聞いた
0014名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 18:24:28.07ID:ck/8OAeI0
>>9
素直に草だ…w
エクセルとかでも出来るらしいね〜★
0015名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 18:25:04.17ID:ck/8OAeI0
>>10
ありがとう😊
0016名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 18:25:34.25ID:ck/8OAeI0
>>12
雑談板やぞハゲ!
0018名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 18:26:19.65ID:ck/8OAeI0
なんやそれ詳しく頼んだぜ★
0019名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 18:26:52.57ID:ck/8OAeI0
>>18
安価つけ忘れ
>>13
0020名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 18:27:46.13ID:ck/8OAeI0
>>17
要はソースコード見たい
あと普通に作ってみたい
0023グリグリくん ◆06mwKdPdbw @無断転載は禁止
垢版 |
2017/05/10(水) 18:30:29.46ID:eoI9x9qb0
>>6
windowsでゲームを作る一番基本的なものでdirectxというものがある
ゲハでもお馴染みだよね
でもdirectxは難しい
だから親切な人がdirectxを使いやすくラッピングしたライブラリを
作ってくれた
それがdxライブラリ
0024名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 18:30:45.33ID:ck/8OAeI0
>>21
すまん。正直に言う、雑談したかった😭
0025名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 18:32:52.60ID:ck/8OAeI0
>>23
ありがとう😊
グリグリくん よく見かけるし優しいからすこだ😘
0028名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 18:45:19.69ID:l3Uhi1B30
1111111
1000001
1000001
1000001
1000001
1000001
1000001
1111111
みたいなマップを作って

11
11

見たいなオブジェクトをいくつか作って
タイマーかけて規定時間ごとに一番上から一行づつ落としてく
オブジェクトの移動先の位置に、1があったらオブジェクトは移動せず、新しいオブジェクトを一番上に追加
あとはキー入力で回転させたり横に動かしたり一気に下まで(1が出てくるまで)落としたり
新しいオブジェクトを追加する際に初期出現位置に1があったら、ゲームオーバー
0029名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 18:47:43.47ID:l3Uhi1B30
あ、オブジェクト移動後に行をチェックして、一行全部1だったらそれより上の行を下に移動、一番上に全部0の行を追加しないとテトリスにならんね
0030名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 18:47:55.16ID:KQLrlgDT0
エクセルでテトリス作ったことあるw
セルを正方形にして作るのわりと楽しい
後に正方形の縦の長さを10分割してみたりしまして
なめらかにおちるテトリスも作ってみたりしました
0032名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 18:50:58.55ID:CJZ6xd3Zp
main()
{
while (true) {
input();
update();
draw();
sleep();
}
}

言語に関わらず大体こういう感じ
0033名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 18:53:28.02ID:ChHg9NDd0
学校の課題をゲハでやるな
0034名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 18:54:19.67ID:l3Uhi1B30
>>31
回転後のオブジェクトの配置位置にフラグが立ってなきゃOKなだけだから何も難しくない・・・というか、プログラム上特にいじるところはいないよ
今のはTスピンだ!って判定するのは手を入れないとダメだけど
0036名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 19:01:11.17ID:CJZ6xd3Zp
テトリスあんまり詳しくないけど普通に実装したらTスピン満たせるくない?
既に言われてる通り、それを判定するのはちゃんと処理させなきゃ駄目だけど
0039名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 19:06:13.41ID:l3Uhi1B30
Tスピンちゃんと分かってなかったのかと思って調べてみた

https://ja.wikipedia.org/wiki/%E3%83%86%E3%83%88%E3%83%AA%E3%82%B9#.E4.B8.80.E9.83.A8.E3.82.92.E9.99.A4.E3.81.8F.E3.82.B2.E3.83.BC.E3.83.A0.E3.81.A7.E6.8E.A1.E7.94.A8.E3.81.95.E3.82.8C.E3.81.A6.E3.81.84.E3.82.8B.E4.BB.95.E6.A7.98

T-Spin Doubleの概略図 のヤツは普通に作れば特になにも手を入れないでOKだね
T-Spin Tripleの方は普通に作ったのじゃ無理だけど、これはTスピンというよりもスーパーローテーションとやらの実装じゃないかなあ
0040名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 19:06:20.18ID:KQLrlgDT0
Tスピンについてはじっくりサイトで条件説明してるところがある
それをサボったらちょっと簡単なテトリスやダブリがはいっちゃうよね
0043名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 19:11:38.20ID:JsCstTwE0
回転の途中は判定しないので
回転後にハマるかどうか→ハマる→じゃぁ回転って処理にしとけばOKだし
回転軸の変更を許容するならより緩くなる

自動判定でなく任意だとよりテクニカルでおもろくなりそうでもあるけど
0046名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 19:17:36.48ID:ck/8OAeI0
スピンは無くてもゲーム成立するから構わんけどスーパーローテーション導入は必須だし怠そう
0051グリグリくん ◆06mwKdPdbw @無断転載は禁止
垢版 |
2017/05/10(水) 19:31:19.88ID:eoI9x9qb0
>>50
unityも悪くないが
unityはフィールドがあるゲーム向けのエンジンなんだよ
テトリスのようなグリッド型のゲームを作る場合unityのシステムを
完全無視で独自のシステムを構築しないといけない
そこが初心者にはかえってややこしくなる
0055グリグリくん ◆06mwKdPdbw @無断転載は禁止
垢版 |
2017/05/10(水) 19:39:27.95ID:eoI9x9qb0
>>53
ブロック崩しはボールというオブジェクトがアナログな速度で動き
ブロックや壁や自機バーというオブジェクトにインタラクトするという
unityらしさを一切邪魔しないアナログなゲームなんだよ
一方テトリスは完全デジタルなunityらしくないゲームジャンル
当然unityでも作れるけどunityを使う意味は薄い
0058名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 19:43:51.09ID:JsCstTwE0
Cのコンパイラの環境整えるって事を考えると
unity一発で済むから楽ねってのはあるw
それならUE4でもXenkoでもいいじゃんってなるが
0059グリグリくん ◆06mwKdPdbw @無断転載は禁止
垢版 |
2017/05/10(水) 19:46:24.03ID:eoI9x9qb0
unityは俺も使ってるし非常にいいエンジンだよ?
でもオブジェクト同士の連絡とか初心者泣かせの要素もあるし
テトリス作る為と言われればそれは合わないとしか言いようがない
0060名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 19:49:24.71ID:ck/8OAeI0
パソコンのOSってやっぱ窓?
0064名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 19:53:29.88ID:ck/8OAeI0
>>62
やっぱプログラマーはMacなのか
どのMacにしてるの?デスクトップ?ノート?
0065名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 19:54:19.94ID:ck/8OAeI0
>>63
いや居てくれ!
0070名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 20:11:23.77ID:ck/8OAeI0
>>69
( ? _ ? )
0072名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 20:34:45.71ID:b7dhs+xN0
@echo off
cls & echo; & echo □□□□ & timeout 1 > null
cls & echo; & echo □□□□  □□□□ & timeout 1 > null
cls & echo     □□ & echo □□□□□□□□□□ & timeout 1 > null
cls & echo; &echo     □□
0080名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 22:06:02.56ID:ck/8OAeI0
>>79
どうせ失敗するだろ
日本は永久にIT後進国だから
0081名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 22:07:36.29ID:ck/8OAeI0
>>78
グリグリくんのおかげ
0082名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 22:12:13.62ID:Q12bJTfL0
9 自分:デフォルトの名無しさん[sage] 投稿日:2017/05/08(月) 21:39:28.12 ID:tJDemEgX [1/2]
○○言語でテトリス作ったとかあるけど、
舐めてんのか?って思う。

あんな単純な数式で回転のルールを実現できるわけがないだろう
ワールドルールぐらい採用してから言え

http://www13.plala.or.jp/TETRiS_TGM/kouza/1.htm

10 自分:デフォルトの名無しさん[sage] 投稿日:2017/05/08(月) 21:43:02.13 ID:tJDemEgX [2/2]
固定時間も重要だし、あと回転入れとか壁蹴りと飛ばしとか渡しとか与作とか
http://www13.plala.or.jp/TETRiS_TGM/kouza/8.htm
http://www13.plala.or.jp/TETRiS_TGM/kouza/9.htm
http://www13.plala.or.jp/TETRiS_TGM/kouza/12.htm
0083名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/10(水) 22:16:08.95ID:Q12bJTfL0
>>31
> テトリスを自分で作る場合一番難しいのはTスピンの挙動だろうな
アホか。あんなの単純な計算で求められるわ。

壁蹴りとか陰謀とかもっと難しいのあるだろ
0084名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/11(木) 00:20:17.84ID:NE9fgari0
ぷよテトのビッグバンは神
0094名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/11(木) 06:03:11.56ID:gJhENZtz0
理屈を説明するのはめんどくさいな。
1パスだとYかXの値が少し奥にあってだからWとHの値がおかしくて、それを補正してるのかなぁ?
0096グリグリくん ◆06mwKdPdbw @無断転載は禁止
垢版 |
2017/05/11(木) 13:52:29.35ID:tIqvV6xe0
>>87
俺もわかった
要するに1回目ではXに最小値が入らないからWに最大値が入らないんだよ
これはダメだよーw
W = std::max(j - X, W);
この行をシンプルに
W = std::max(j, W);
こうして後から
W=W-X
とかした方がいいんじゃないの?
00971@無断転載は禁止
垢版 |
2017/05/11(木) 16:38:13.75ID:NE9fgari0
>>87
これ実行出来ないんだけどどういう環境が要るの?
0098名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/11(木) 16:40:03.75ID:NE9fgari0
>>97
ああGPLが要るのか
ちゃんと読んで無かったわ
ありがとう
0099名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/11(木) 16:41:12.74ID:NE9fgari0
プログラマーって窓と林檎どっちが良いの?
0100名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/11(木) 17:14:43.53ID:NE9fgari0
あれ?GPLってなんなんだ?
ググっても出て来ないぞ😭
0102名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/11(木) 21:21:20.14ID:1lqNS3gN0
テトリスの中級者以上じゃないと
テトリス作れないと思うw
by ぷよテト人鯖カンスト
0103名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/11(木) 21:28:36.85ID:qA2d8Zzm0
つーかなんでC言語
覚えるの大変だろ
0105名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/11(木) 21:56:21.92ID:NE9fgari0
>>103
全てに応用が利く
0106名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/11(木) 21:57:07.27ID:NE9fgari0
>>102
なら俺と対戦してみるか?
0108名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/12(金) 00:18:12.24ID:rRp1D8410
>>87
動かすにはMSのビジュアルスタジオ2017あればいいよ。
コミュニティは個人開発者無料だから。
GPLはライセンス。

>>96
ねてた。寝たら忘れた。
まあ、ダサいコードなので各自修正。
0110名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/12(金) 00:41:57.65ID:ABhBCODB0
3DSでBASICが組めるってソフトでぷよぷよ作ったんだが
オブジェクト指向っていうのをマスターすればBASICよりずっと簡単に組めたりするのか?
0111名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/12(金) 00:43:22.44ID:rRp1D8410
>>97
visualstadio2017 + windows10 th2
要するにC++14環境がいる。
最初の方のおまじないコメントアウトでほかのOSでも動くと思うけどね。
エスケープシーケンス対応してれば。あと、conio.hは入ってない環境もある。
0114名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/12(金) 00:51:37.24ID:9YqWEoIH0
オブジェクト指向って、
乱暴に言ったらinputとoutputがついただけのサブルーチンだろ
いちいち似たようなものを組むより簡単になると思うが
0118名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/12(金) 00:55:23.84ID:rRp1D8410
OOって、たとえば人間を設計したら、それに人間ってラベルを付けて人間って呼べるようになるよ。
って程度だよ。
例えば、間接がどれくらい曲がってるかなどの変数を持ってるけど、使用者には関係ない。
0119名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/12(金) 01:05:05.84ID:bKGAEmnW0
>>113
最近のテトリスなら7種類のテトリミノが1セットでランダムな順番で引いてまた次の7種1セットをランダムに引くはず
ぷよぷよなら2手3色と128手で色バランスが均等なはず
0122グリグリくん ◆06mwKdPdbw @無断転載は禁止
垢版 |
2017/05/12(金) 01:23:21.47ID:E5SFeq+h0
>>110
プチコンではオブジェクト指向はやりにくい
プチコンではゲームで使うものは配列で管理するよね
x座標、y座標とかそれぞれ配列を作って添え字で管理する
その添え字で管理するってのが不自由だと感じなかったかい?
例えばぷよぷよならぷよ一個一個にxとかyとかパラメータとして付けれたら
直接使えて便利なのに、と
それがオブジェクト指向のクラスの基本的な考え方
クラスに自由にxとかyとか形や色といったパラメータの入った箱をつけれる
更にぷよぷよなら「そのぷよが繋がる」「消える」といった「動作」もぷよ一個一個に付けれる
クラスが作れる言語ならそれが容易くできる
0123名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/12(金) 02:07:19.06ID:udsXkIkV0
GPLで困ってる子がいるので簡単に説明すると
・ソースコードを無料で配る時なんかに「ソースをコピーしても良いけどオレのルールに従ってね」って時にいちいちルールを考えるのは面倒臭い
・で「よくあるルール」ってのがあって(ライセンスと言う)、そのうちの一つがGPL
・GPLがどんなルールかというと「コピーOK、改造OK、売るのもOK。ただし、改造したソースにもGPLライセンスを付けろ」
・つまり>>87の「なおGPL」ってのは、テトリスを勝手にコピーして改造して有料配布するのはOKってこと。ただしその場合、改造したテトリスもGPLが付くので、コピー化、改造化にする必要がある
・これが過去に問題になった例で有名なのがPS2のICOで、中にGPLの物がコピーされていたので、ICOのソースコードを公開する必要が発生し、結局は発売中止になった
0125名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/12(金) 05:55:43.00ID:n/Od0ndR0
>>124
ぷよぷよの方が難しいだろ
0128名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/12(金) 19:21:07.83ID:n/Od0ndR0
アゲとく保守目当て
0130名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/13(土) 00:01:05.15ID:t+XzdK9J0
http://ideone.com/NCEiEG
C++。ぷよみたいなもの。バグあるかも。
テトリス改造してぷよ作ってみた。構造ほとんど同じなので読むのは楽かも。
なおGPL。

動かしたかったら、MSのサイトからVS2017落してきてC++でコンパイル。
俺、その環境で作ってるから。
0136グリグリくん ◆06mwKdPdbw @無断転載は禁止
垢版 |
2017/05/13(土) 21:05:27.50ID:1LARmYNr0
>>135
オブジェクト指向ってのは一言で言うと「責任の所在をはっきりさせる事」
このオブジェクトはここからここまでを請け負う、その処理がしたければ
そのオブジェクトに外部からメッセージを送る、みたいなの
その仕組みを達成する重大な概念として「隠蔽」というものがある
隠蔽のお陰でそのオブジェクトの力が及ぶ範囲を限定できる
まぁ主に多人数開発向けの仕組みなのはお前が考えている通り
0138名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/14(日) 01:58:13.64ID:FHUAdCjE0
>>136
じゃあ個人で作ってるのにオブジェクト指向に拘ってるやつが居たとしたら
仕様の性にして自分の無力さを誤摩化してるウンコとか
根本的な仕組みを理解しようとしないで格好に拘ってるだけのサイコ野郎か
0141グリグリくん ◆06mwKdPdbw @無断転載は禁止
垢版 |
2017/05/14(日) 02:35:17.55ID:xjGcqe1/0
ゲーム作ってて終盤に差し掛かった時いつも感じるのは「修正するのマンドクセ」
っていうの
コードがあっちゃこっちゃに点在してると修正するのに一苦労になる
だからオブジェクト指向でクラスごとの共通機能をまとめて設計してたら
修正を極力少なくできる
0142名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/14(日) 02:41:53.26ID:zwPXOr9g0
あと、クラス化したいのは並列化したい時とかもかな。
テトリス1個うまく作って作って数並列で実行するとか変態なことができる。
ニッチだけど。

俺のぷよとテトリスを並列実行するときもクラス化してあるほうが扱いやすいと思う。
まぁ、そのように書かないといけないけど。
0143名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/14(日) 08:37:43.81ID:fznHFeQx0
保守
0144名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/14(日) 12:49:12.96ID:FHUAdCjE0
言語の仕様をゲハみたいにディスりあってるプログラマーって居たりすんのかな
あの言語はこういう書き方しないといけないから嫌い!無くなっちまえ、とか

アルゴリズム理解してたら普通は仕様の違いをディスる前に差異を吸収するようなコード書いたり設計したりするよな

あと、この言語ならこんなに短く書けるとか言うやついるけど
じゃあ何で自分でもっと便利な言語作ろうとしないんだろ
0148名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/14(日) 18:48:24.81ID:FHUAdCjE0
>>145
ドロップアウトした奴らはそらそうでしょ
>>1みたく向上心ありそうな奴でって話

>>146
何で?
ポインタでデータ管理もプログラマーが意識してやんないといけないから?
でもチューリングマシンの構造から覚えれば別にC言語関係なくね?

>>147
じゃあリンクくらい貼りなよ
0149名無しさん必死だな@無断転載は禁止
垢版 |
2017/05/14(日) 22:13:24.49ID:fznHFeQx0
>>147
URL貼ってくれ
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況