1. ホーム
  2. スクリプト・コラム
  3. パイソン

モバイル・コンピュータゲーム向けPythonスクリプティング

2022-01-27 18:39:13

前書き

皆さんこんにちは、Goodreadsと申します。気がつけばフォロワー数が非常に伸び悩んでおり、今回は生意気にも波状攻撃をお願いする次第であります。今回やっているのは小さなゲームスクリプトで、基本的にパソコンや携帯のどんなゲームにも使えます。

解析(x0)

このゲームは4399の"Don't Guess the Hundred"で、黒いブロックだけ踏んで、あとは私たちのために手遊び音楽を流してくれます。

クラシックモードを見てプロを選ぼう、といっても、いろいろなモードの違いがわからないので、適当に選んだだけなんですけどね。

これは、一定時間内に最も多くの黒いブロックをクリックすればいいという、誰が見ても明らかなことです。

ここでスタートをクリックすると真っ黒になるのがわかると思いますが、試しに

開始をクリックすると、黒いブロックが1フレーム下がってグレーになり、同時に一番上の黒いブロックが自動的に落ちたのがわかると思います。

ということは、一番後ろの列の黒いブロックだけをクリックすればいいということでしょうか!

解析 (x1)

あとは、あるピクセル範囲内(赤枠内)でクリックする黒いブロックを選ぶだけです

では、この画素の範囲をどのように決定するのでしょうか。

実は、ゲームのマスの大きさは一定なので、赤枠の左上のピクセルポイントを決めて、横座標+4マスの幅、縦座標+マスの高さを決めればいいんです。

では、どのブロックが黒いブロックなのかを知るにはどうしたらいいのでしょうか?

色はRGBA、赤、緑、青で構成され、Aは透明度であることは周知のとおりです。Q_Q、ctrl+Aなどのスクリーンショットツールでスクリーンショットを撮り、黒いブロックにマウスを当てるとRGB値が表示されます。私の場合は(2,2,2)ですが、コンピュータによって異なる場合があるので、多少の色の違いがあるのは当たり前です。0に近いほど色が濃くなります。

大きな黒いブロックがたくさんある場合、どのように見分ければよいのでしょうか。実は、それぞれのマスの中心点を取ればいいのです!(笑)。赤枠の左上のピクセルポイントをすでに取っているし、マスの大きさは一定なので、マスの縦と横を手動で取れば、各マスの中心点は簡単に分かるんです!(笑

ビデオチュートリアル

ここでは、この記事のチュートリアルと、モバイルゲームのチュートリアルの2つの動画を公開しています。

<フレーム

私を素人だと言うのか?それなら、Pythonスクリプトが代わりにゲームをしてくれますよ。