元ゲーム会社のプログラマー、テトリス何分で作れる?【JavaScriptプログラミング】



高校程度の数学とJavaScriptを使って、テトリスを簡潔に素早く作ります。
ゲーム会社に興味のある人、ゲームプログラマーとして就職したい人、ゲーム関係なくともプログラミングのスキルを磨きたい人……などに見ていただければと思います。

■ここから今回のテトリスを遊べます(インストール不要)
https://editor.p5js.org/AosagiHeron/sketches/whiCbrWPJ
わからない所があれば、動画コメントに書いてもらえれば暇を見て返します。

■目次
00:00 ごあいさつ
01:21 クラスを作る。クラス名や変数名のつけ方
02:28 ブロックとフィールドの描画
03:14 テトラミノの描画、バグが出にくいデータの持ち方
04:40 テトラミノの右回転、回転行列から考える
06:02 左回転は、合同式から考える
08:18 ゲームロジック(メインループ)を作る
09:42 テトラミノとフィールドの衝突判定。関数は小さく
10:41 テトラミノの落下。剰余(mod)がここでも活躍
11:33 テトラミノの回転
12:24 テトラミノは7種類あったよね
12:54 消去判定と処理。ここでも関数は小さく。
13:30 おわりに

——- Licenses ——-
たぬき油性フォント
http://tanukifont.com/

Gray Heron photo
Photo by Denise Duplinski from Pexels
https://www.instagram.com/dduplinski/

20 Comments

  1. 質問なんですけど、7:39のようにしちゃって大丈夫なんですかね?
    (x + 4 * ceil(abs(x)/4)) % 4
    でもうまくいくかな?

  2. カップヌードルを食べると結石が出来やすくなるんですね、貴重な事を教えて頂きありがとうございます()

  3. 左に回転するとき右に3回回転するって感じにするのはだめなんですか?
    if (keyCode === 81) game.minoVr = -1;←-1じゃなくて3にする
    if (keyCode === 69) game.minoVr = 1;

  4. めちゃ難しいそうですが、説明しながら簡単にプログラミングするのがカッコいいです(*´・ω・`)b

  5. 確かに、+4千万は通常あり得ないし、行も計算コストも落ちるからありっちゃありだなー。
    自分だと、通常あり得ないのは分かるけど、気持ち悪いからmodの後でif(rot<0) rot+=4;にしちゃう。

Leave a Reply

© 2023 53GB