3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

概要

mindが、謎なので調べてみた。
練習問題やってみた。

練習問題

mindで、ブロック崩しを書け。

サンプルコード


場は 308個の 変数。


バイト化とは
 変換後は 文字列実体
 数1は 変数
 数1に 入れ
 変換後を クリア
 数1を 0FFHと ANDし 変換後に 一文字追加し
 変換後を 返すこと
。

メインとは
 数1は 変数
 数2は 変数
 数3は 変数
 数4は 変数
 数5は 変数
 数9は 変数
 数10は 変数
 数11は 変数
 数12は 変数
 数13は 変数
 結果は 変数
 ターゲットは 変数
 結果xは 変数
 結果yは 変数
 -11をつみ
 "kernel32"と "GetStdHandle"で API呼出し1 結果に 入れ
 エラー?
 ならば
  エラー文字列を 一行表示し 終り
 つぎに
 結果を ターゲットに 入れ
 結果を 数値表示し 改行し
 ターゲットをつみ
 結果xの アドレスをつみ
 "kernel32"と "GetConsoleMode"で API呼出し2 結果に 入れ
 エラー?
 ならば
  エラー文字列を 一行表示し 終り
 つぎに
 結果xを 004Hと ORし 結果xに 入れ
 結果xを 数値表示し 改行し
 ターゲットをつみ
 結果xをつみ
 "kernel32"と "SetConsoleMode"で API呼出し2 結果に 入れ
 エラー?
 ならば
  エラー文字列を 一行表示し 終り
 つぎに
※____________________________
※[  ww  ww  ww  ww  ww  ww  ]
※[  ww  ww  ww  ww  ww  ww  ]
※[                          ]
※[                          ]
※[                          ]
※[               o          ]
※[                          ]
※[                          ]
※[       __                 ]
※[__________________________]

 28を 回数指定し
  回数を 数1に 入れ
  場(数1)に 1を 入れ
 繰り返し

 26を 回数指定し
  回数に 281を 加え 数1に 入れ
  場(数1)に 1を 入れ
 繰り返し

 10を 回数指定し
  回数に 28を 掛け 1を 加え 数1に 入れ
  場(数1)に 2を 入れ
  数1に 27を 加え 数1に 入れ
  場(数1)に 3を 入れ
 繰り返し

 6を 回数指定し
  回数に 4を 掛け 28を 加え 数1に 入れ
  場(数1)に 4を 入れ
  数1に 1を 加え 数1に 入れ
  場(数1)に 4を 入れ
  数1に 27を 加え 数1に 入れ
  場(数1)に 4を 入れ
  数1に 1を 加え 数1に 入れ
  場(数1)に 4を 入れ
 繰り返し
 場(270)に 5を 入れ
 場(271)に 5を 入れ
 場(156)に 6を 入れ
 数9に 29を 入れ
 数10に 270を 入れ
 数11に 271を 入れ
 数12に 156を 入れ
 数13に 0を 入れ

  ここから
  27を バイト化し 表示し 「[1;1H」を 表示し
  27を バイト化し 表示し 「[2J」を 表示し
  11を 回数指定し
   回数を 数1に 入れ
   28を 回数指定し
    数1に 28を 掛け 回数を 加え 28を 引き 数2に 入れ
    もし 場(数2)が 0に 等しい
    ならば
     「 」を 表示し
    つぎに
    もし 場(数2)が 1に 等しい
    ならば
     「_」を 表示し
    つぎに
    もし 場(数2)が 2に 等しい
    ならば
     「[」を 表示し
    つぎに
    もし 場(数2)が 3に 等しい
    ならば
     「]」を 表示し
    つぎに
    もし 場(数2)が 4に 等しい
    ならば
     「w」を 表示し
    つぎに
    もし 場(数2)が 5に 等しい
    ならば
     「-」を 表示し
    つぎに
    もし 場(数2)が 6に 等しい
    ならば
     「o」を 表示し
    つぎに
   繰り返し
   改行し
  繰り返し

  37をつみ
  "user32"と "GetKeyState"で API呼出し1 結果に 入れ
  エラー?
  ならば
   「エラー文字列」を 一行表示し 終り
  つぎに
  結果が 1より 大きい かつ 数10が 254より 大きい
  ならば
   場(数10)に 0を 入れ
   場(数11)に 0を 入れ
   数10から 2を 引き 数10に 入れ
   数11から 2を 引き 数11に 入れ
   場(数10)に 5を 入れ
   場(数11)に 5を 入れ
  つぎに

  39をつみ
  "user32"と "GetKeyState"で API呼出し1 結果に 入れ
  エラー?
  ならば
   「エラー文字列」を 一行表示し 終り
  つぎに
  結果が 1より 大きい かつ 数10が 278より 小さい
  ならば
   場(数10)に 0を 入れ
   場(数11)に 0を 入れ
   数10に 2を 加え 数10に 入れ
   数11に 2を 加え 数11に 入れ
   場(数10)に 5を 入れ
   場(数11)に 5を 入れ
  つぎに

  場(数12)に 数13を 入れ
  数12に 数9を 加え 数12に 入れ
  数13に 場(数12)を 入れ
  場(数12)に 6を 入れ

※+ +  -29 -27
※ o
※+ +  27  29

  もし 数13が 1に 等しい かつ 数12が 270より 大きい
  ならば
   打ち切り
  つぎに

  もし 数13が 1に 等しい
  ならば
   もし 数9が -29に 等しい
   ならば
    数9に 27を 入れ
   さもなければ
    数9に 29を 入れ
   つぎに
  つぎに

  もし 数13が 2に 等しい
  ならば
   もし 数9が -29に 等しい
   ならば
    数9に -27を 入れ
   さもなければ
    数9に 29を 入れ
   つぎに
  つぎに

  もし 数13が 3に 等しい
  ならば
   もし 数9が -27に 等しい
   ならば
    数9に -29を 入れ
   さもなければ
    数9に 27を 入れ
   つぎに
  つぎに

  もし 数13が 4に 等しい
  ならば
   数13に 0を 入れ
   数12から 1を 引き 数3に 入れ
   もし 場(数3)が 4に 等しい
   ならば
    場(数3)に 0を 入れ
   つぎに
   数12に 1を 加え 数3に 入れ
   もし 場(数3)が 4に 等しい
   ならば
    場(数3)に 0を 入れ
   つぎに
  つぎに

  もし 数12が 数10に 等しい
  ならば
   もし 数9が 27に 等しい
   ならば
    数9に -29を 入れ
   さもなければ
    数9に -27を 入れ
   つぎに
  つぎに

  もし 数12が 数11に 等しい
  ならば
    もし 数9が 27に 等しい
   ならば
    数9に -29を 入れ
   さもなければ
    数9に -27を 入れ
   つぎに
  つぎに

  一秒待つ
 繰り返し
「game over」を 一行表示
。






実行結果

____________________________
[  ww  ww  ww  ww  ww  ww  ]
[  ww  ww  ww  ww  ww      ]
[                          ]
[                          ]
[                          ]
[                          ]
[                          ]
[                          ]
[                o --      ]
[__________________________]
game over

以上。

3
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?