【実は超簡単‼】寿司打でチート(無限)をする方法を解説‼

スポンサーリンク

初めに

皆さんは寿司打というタイピングゲームをやったことがありますか。

タイピングを練習したことがある方は、多かれ少なかれ寿司打をやってみたことがあると思います。

そんな寿司打をやっていると、やっぱり誰しもが「無限に食べてみたい‼」という願望を抱くわけです。

というわけで、今回は、私が作った「寿司打で皿を無限に食べることができるプログラム」を紹介したいと思います‼

この記事の最後のほうに、「プログラムに関する説明」をしているので、プログラムの仕組みに興味がある方は是非どうぞ!(ある程度pythonに知識がないと難しいかも。)

作ったプログラムで寿司打をやってみた

実際、どんな感じになるの?と思っている方もいらっしゃると思うので、動画を見せておきたいと思います‼

私が作ったプログラムを動かすと、下のようになります。

秒数がどんどん増えていって、最後にはカンスト(カウントがストップすること。)していますね。

歌詞タイピングでやってみた‼

↓Pythonを使ったプログラムでおすすめ‼

それでは、前置きが長くなってしまいましたが、寿司打でチートをするプログラムの作り方を見ていきましょう‼

\プログラミングでチート作成はガチで楽しい‼/

必要なのは名前とメアドだけ,顔出し不要,完全オンライン完結‼

Step1:Pythonをインストールする

私が作ったプログラムの言語はpythonなので、まずはpythonをインストールしましょう‼

↓pythonのインストール方法はこちら‼‼

pythonのインストールは成功しましたか。

つぎは、プログラムを動かす上での準備をしていきたいと思います‼

Step2:私が作ったプログラムを動かす上での準備

次は、見出しのところにもあるとおり、私が作ったプログラムを動かすうえでの準備をしていきたいと思います‼

ライブラリのインストール

pythonにはライブラリという、ブラウザでいうところの「拡張機能」みたいなものが存在します。

私が作ったプログラムも、ライブラリをいくつか使っているので、まずは、そのライブラリをインストールします。

コマンドプロンプトを開く

ライブラリをインストールするために、「コマンドプロンプト」というものを起動しないといけません。

コマンドプロンプトを開く基準を簡単に説明するので、それに従ってコマンドプロンプトを起動させてみてください

↓検索ボックスをクリック

画像に alt 属性が指定されていません。ファイル名: image-5-1024x683.png

↓コマンドプロンプトと入力します。

画像に alt 属性が指定されていません。ファイル名: スクリーンショット-9-1024x683.png

そして、コマンドプロンプトを起動してください。

画像に alt 属性が指定されていません。ファイル名: スクリーンショット-9_LI-1024x683.jpg

こんな感じに表示されると思います。(名前は知識の箱とは限りません。)

画像に alt 属性が指定されていません。ファイル名: スクリーンショット-10-1024x683.png

これでコマンドプロンプトの起動は完了です。

次は、必要なライブラリ(ブラウザでいう拡張機能的なもの)をインストールしていきます‼

\未経験から始めて3か月で副業月収50万越えは当たり前‼/

必要なのは名前とメアドだけ,稼げる保証付き,完全オンライン完結‼

必要なライブラリをインストールする

必要なライブラリをインストールしていきます。

先ほど開いたコマンドプロンプトに下のように「pip install pyautogui」と入力してenterを押してください。

インストールに成功したら、「Successfully Installed」と表示されます。

同じようにして、「pip install pillow」、 「pip install pyocr」と入力して、enterを押してそれらのライブラリをインストールしてください。

ここで、さっきみたいに「Successfully Installed」と出ればいいんですが、時々エラーが出てくることもあります。

そんな時は、ぜひ下の記事を参考にしてください。多分エラーは解消されると思います。

これで、必要なライブラリのインストールは完了です‼

画面上の場所を取得

私が寿司打で作ったプログラムは、「特定の場所でスクリーンショットを取って、それを文字に起こして入力する」というものなので、その「場所」を指定する必要があります。

なので、まずは、メモ帳を開いて下のコードをコピペしてください。

import pyautogui
try:
    while True:
        x,y = pyautogui.position()
        position = 'X:'+str(x)+'  '+ 'Y: '+str(y)
        print(position)
        pyautogui.sleep(1)
except KeyboardInterrupt:
    print('\n終了')

↓こんな感じ

そして、ctrlと、shiftと、sを同時に押してください。(ctrl+shift+s)

すると、「名前を付けて保存」が出てくると思うので、下のように「test.py」と入力して保存してください。

つぎに、先ほど保存したフォルダーの場所に行ってください。

そして、下のようにパスをコピーします。

そして、先ほどと同様にコマンドプロンプトを開き、下のように「cd “さっきコピーしたやつ”」と入力してenterを押してください。

そして、下のように「python test.py」と入力して、enterを押してください。すると、下のように「X,Y」というのが出てくると思います。

これは、現在のカーソルの位置を表していて、これを使って、場所を数値化することができます。

次は、その場所を特定する方法を解説していきます‼

\プログラミングでチート作成はマジで楽しい‼/

必要なのは名前とメアドだけ,顔出し不要,完全オンライン完結‼

画像認識する場所の指定

まず、下のリンクを開いてください‼

開くと下のように表示されると思うので、「寿司打をPlay」か、「静かにPlay」を押して、スタートの画面に行ってください。

そして、いったん寿司打をスタートします。

それと同時に先ほどのコマンドプロンプトも開いてください。

上のような状態を作れれば、あとはカーソルを動かすだけで、場所がわかります。

下の赤枠で囲ったところの場所を取得したいので、左上と右下の座標を取得してください。

この場合では、(705,649)から(1169,684)です。(これを絶対に覚えておいてください。)

これで画面上の場所を取得する方法についての説明は完了です‼

\プログラミングでネットサーフィンは100倍楽しい‼/

必要なのは名前とメアドだけ,顔出し不要,完全オンライン完結‼

文字の読み取りに必要なアプリをインストール

画像を抽出できても、文字を読み取れないと全く意味がないので、文字を読み取るためのtesseractというアプリみたいなやつをインストールします。

Tesseract は、さまざまなオペレーティングシステム上で動作する光学式文字認識エンジン。名称のTesseractとは四次元超立方体の意である。Apache Licenseの下でリリースされたフリーソフトウェアである。文字認識を行うライブラリと、それを用いたコマンドラインインターフェイスを持つ。

引用元:Tesseract (ソフトウェア) – Wikipedia

上にもあるようにtesseractはgoogleが開発したものなので、ほかの文字読み取るやつよりも断然性能が高いです。

これのインストール方法について解説します。

まず、下のtesseractのダウンロードページに行ってください。

すると、下のように、上のページの、自分のバージョンに合うほうをダウンロードしてください。(少し下にスクロールしたら下画面が出てきます。)

そして、ダウンロードしたファイルを実行して下さい。

「この不明な発行元からのアプリがデバイスに変更を加えることを許可しますか」と出てきたら「はい」通していただいて大丈夫です。

そして、先ほどの画面で「はい」を押したら、下のような画面が出てくると思います。

「Next」を押してください。

「I agree」を押します。

↑どっちでもいいです。「複数ユーザー持っている方は持っているユーザー全員にインストールするか今使っているユーザーだけにインストールするか」ということを聞かれているだけなので、大体の人は関係ないと思います。

ここがポイントです。

まず、下の図の赤色で丸のところを押してください。

そして、出てくるチェックボックスのうち、下のものにチェックを入れてください。

↓addictional script data(download)にチェックを入れる。

↓addictional language data(download)にチェックを入れる。

そして、チェックを入れたら、Nextを押してください。

Next,installと押していきます。

installを押したら、下のようにインストールが開始されます。

終わったら「Next」をクリックしてください。

これで、インストールは完了です。

次は、実際にプログラムを実行してみましょう‼‼

\プログラミングでネットサーフィンは100倍楽しい‼/

知識は不要,信憑性の心配無用,学べることは無量‼

Step3:プログラムを実行してみよう

まず、下の私が作ったプログラムをメモ帳にコピペしてください。

import os
from PIL import Image
import pyocr
import pyautogui
#インストールしたTesseract-OCRのパスを環境変数「PATH」へ追記する。
#path='C:\\Users\\“User名”\\AppData\\Local\\Programs\\Tesseract-OCR'
#os.environ['PATH'] = os.environ['PATH'] + path
pyocr.tesseract.TESSERACT_CMD = r'C:\\Program Files\\Tesseract-OCR\\tesseract.exe'
#pyocrへ利用するOCRエンジンをTesseractに指定する。
tools = pyocr.get_available_tools()
tool = tools[0]

pyautogui.sleep(10)

#1000にしているけどある程度大きかったらOK
for i in range(1000): 
    c='picture'+str(i)+'.jpg'
  #↓(705,649)から(1169,684)の場合を例にしています。
    photo = pyautogui.screenshot(region = (705,649,464,35)) #先ほど取得した位置を入力(左上のX、左上のY、Xの幅、Yの幅)
    photo.save(c)

    img = Image.open(c)

    d='complete_picture'+str(i)+'.jpg'

    img=img.convert('RGB')
    size=img.size
    img2=Image.new('RGB',size)
     
    border=110
     
    for x in range(size[0]):
        for y in range(size[1]):
            r,g,b=img.getpixel((x,y))
            if r < border or g < border or b < border:
                r = 0
                g = 10
                b = 0
            img2.putpixel((x,y),(r,g,b))

    img2.save(d)

    im = Image.open(d)

    def add_margin(pil_img, top, right, bottom, left, color):
        width, height = pil_img.size
        new_width = width + right + left
        new_height = height + top + bottom
        result = Image.new(pil_img.mode, (new_width, new_height), color)
        result.paste(pil_img, (left, top))
        return result

    new_resize='new_resize'+str(i)+'.jpg'

    im_new = add_margin(im, 50, 10, 0, 100, (128, 0, 64))
    im_new.save(new_resize, quality=95)

    img3= Image.open(new_resize)

    builder = pyocr.builders.TextBuilder(tesseract_layout=3)
    text = tool.image_to_string(img3,lang="eng",builder=builder)
    pyautogui.typewrite(text)
    os.remove(c)


↓メモ帳にコピペ

そして、先ほどと同様の要領で、「寿司打チート.py」という名前で保存します。

そして、先ほどと同様に実行するだけです。

実行したら、速攻でスタートしてください。(10秒以内)

あとはこれで待つだけです。

後は勝手に、下の動画のように自動で全部打ってくれます。

これで寿司打チート方法については完了です。

\プログラミングでネットサーフィンは100倍楽しい‼/

知識は不要,信憑性の心配無用,学べることは無量‼

もしうまくできなかったら?

多分これでうまくいくはずなのですが、もしうまくできなかったら、原因として考えられるのは「取得する範囲を間違えている」ということです。

test.pyと同じディレクトリ―を開くと、「new_resize~.jpg」というファイルを開いてください。

ちゃんとできていたら、下のようになります。

でも、うまく取得できていなかったら、下のようになっていることが多いです。

あと、取得する範囲はできるだけ広いほうがいいです。ただ、広すぎると余分なところまで含んでしまうので、そこら辺は気を付けましょう。

多分、これでうまくいくと思います。

私のプログラムは完璧に制度が100%(多分90%~95%ぐらいだと思います。)というわけではないので、多少間違えても多めに見てください。

処理が遅いと感じたら?

また、普通にできたら、上のようにチートができるはずです。

しかし、入力がゆっくりになってしまうという方はいらっしゃるのではないのでしょうか。

これは、普通に「処理情報が多いから。」という理由もありますが、もしかしたら、CPUの性能がうまく機能していないかもしれません。

もし、「CPUをアップグレードさせたい。」

「CPUの性能を安定化させたい。」

などと思った方は、Open CLというものがあるので、そちらをぜひ見て帰ってください。

上のアプリをインストールするだけで、安定したCPUを使うことができます‼‼

次は、興味がある方向けに、プログラムの解説をしていきたいと思います‼

\プログラミングでネットサーフィンは100倍楽しい‼/

知識は不要,信憑性の心配無用,学べることは無量‼

興味がある方向け:プログラムの解説

一応興味がある方のために、プログラムの要所を解説していきます。

まず、test.pyについて解説します。

import pyautogui
try:
    while True:
        x,y = pyautogui.position()
        position = 'X:'+str(x)+'  '+ 'Y: '+str(y)
        print(position)
        pyautogui.sleep(1)
except KeyboardInterrupt:
    print('\n終了')

これは、pyautoguiというライブラリを使って場所を取得しています。

pyautoguuiの関数については、下の記事で詳しく解説しているので、ぜひ興味のある方は下の記事を読んでみてください。

次は、寿司打でチートをするときのプログラムです。

import os
from PIL import Image
import pyocr
import pyautogui
#インストールしたTesseract-OCRのパスを環境変数「PATH」へ追記する。
#path='C:\\Users\\"User名"\\AppData\\Local\\Programs\\Tesseract-OCR'
#os.environ['PATH'] = os.environ['PATH'] + path
pyocr.tesseract.TESSERACT_CMD = r'C:\\Program Files\\Tesseract-OCR\\tesseract.exe'
#pyocrへ利用するOCRエンジンをTesseractに指定する。
tools = pyocr.get_available_tools()
tool = tools[0]

pyautogui.sleep(10)

#1000にしているけどある程度大きかったらOK
for i in range(1000): 
    c='picture'+str(i)+'.jpg'
    photo = pyautogui.screenshot(region = (705,649,464,35)) #先ほど取得した位置を入力(左上のX、左上のY、Xの幅、Yの幅)
    photo.save(c)

    img = Image.open(c)

    d='complete_picture'+str(i)+'.jpg'

    img=img.convert('RGB')
    size=img.size
    img2=Image.new('RGB',size)
     
    border=110
     
    for x in range(size[0]):
        for y in range(size[1]):
            r,g,b=img.getpixel((x,y))
            if r < border or g < border or b < border:
                r = 0
                g = 10
                b = 0
            img2.putpixel((x,y),(r,g,b))

    img2.save(d)

    im = Image.open(d)

    def add_margin(pil_img, top, right, bottom, left, color):
        width, height = pil_img.size
        new_width = width + right + left
        new_height = height + top + bottom
        result = Image.new(pil_img.mode, (new_width, new_height), color)
        result.paste(pil_img, (left, top))
        return result

    new_resize='new_resize'+str(i)+'.jpg'

    im_new = add_margin(im, 50, 10, 0, 100, (128, 0, 64))
    im_new.save(new_resize, quality=95)

    img3= Image.open(new_resize)

    builder = pyocr.builders.TextBuilder(tesseract_layout=3)
    text = tool.image_to_string(img3,lang="eng",builder=builder)
    pyautogui.typewrite(text)
    os.remove(c)


まず、pyautoguiで、指定した場所のスクリーンショットを取り、その写真を白黒写真にしています。

そして、その写真の周りに空白を付けます。←これが画像認識の精度を上げる工夫!

上のようにして加工した写真から、tesseractで文字を読み取り、それをpyautoguiを使って入力します。

こんな風にして寿司打でチートをするプログラムを作っています。

プログラミングを勉強するならTechAcademy‼

皆さん、「プログラミングで実用的なものを作ってみたい」とか、「Webやフリーランスで短期間で副業収入得たいな」とか思ったことはありませんか。

でも、素人がやろうとしても難しすぎて、挫折してしまうことが多いです。

そんな時にお勧めしたいのが、利用者数,満足度ともに業界No.1のプログラミングスクール、Techacademyです‼

TechAcademyなら…

  • 他社とは比べ物にならない圧倒的コストパフォーマンス‼
  • 現役エンジニアによる徹底サポート初心者でも安心‼
  • 副業として稼げるまでのサポート保証付き‼‼
  • 期限がないから自分のペースでできる‼‼

さらに、TechAcademyでは20を超えるコース(初めての副業コース,Web開発,動画編集コース,ゲーム開発, エンジニア転職保証コース,スマホアプリ開発,Pythonコース,…)の中からあなたに合ったコースを自由に選択できます‼

住所,電話番号などの個人情報の登録は一切必要なし‼

おわりに

いかがでしたか。こんな感じで画像認識を使うだけで、“いろんなこと”に応用できます。(これは悪い例。世の中のチートは結構これを使っていることが多いと思います。)

ふざけたプログラムですが、画像の認識精度を上げるための仕組みがいろいろ組み込まれているので、ぜひ見ていただきたいです。

ほかにも面白い記事がたくさんありますので、そちらの方も見ていただければ光栄です。

それでは次の記事で‼

  1. くま より:

    Traceback (most recent call last):
    File “C:\Users\kumak\OneDrive\ドキュメント\寿司打チート.py”, line 11, in
    tool = tools[1]
    IndexError: list index out of range
    このようなエラーが起きてしまいます
    対処法を教えてください

  2. くま より:

    Traceback (most recent call last):
    File “C:\Users\kumak\OneDrive\ドキュメント\寿司打チート.py”, line 11, in
    tool = tools[0]
    IndexError: list index out of range
    このようなエラーが起きてしまいます
    対処法を教えてください

    • tisikinohakotisikinohako より:

      多分、5行目のpath=’C:\\Users\\“User名”\\AppData\\Local\\Programs\\Tesseract-OCR’のところで、自分のユーザー名を入れていただいたらできるかと…
      もし、これでもエラーが出てきたらまた教えてください‼

      • Python歴3秒のもち米 より:

        すみません僕もそうなったのですが、どこを変えればいいかわからなくて( ;∀;)教えていただきたいんですけど

        • tisikinohakotisikinohako より:

          5行目のpath=C:\\Users\\“User名”\\AppData\\Local\\Programs\\Tesseract-OCRの“User名”のところを自分が使っているPCのUser名に変更するだけでできると思います‼
          これでうまくできなかったり、わからない点などあったりしたら、また教えてください!

  3. くまさん より:

    寿司打って確かおととしの5月くらいに自動化 禁止されてましたよね。なぜ、自動化しようと 考えついたんですか? あなたのリテラシーどうなってるんですか?

    • tisikinohakotisikinohako より:

      寿司打が自動化を禁止した理由って、ランキング荒らしを防止するためであって、秒数が無限に増え続けるこのプログラムだったら全く問題がないのでは…

  4. より:

    ああああああああああああああああああああああああああああ

  5. 匿名 より:

    ためになりました。

  6. 匿名 より:

    Neutralの利用規約読んでない時点でプログラマーと名乗る資格なし
    (https://neutralx0.net/about.html)

  7. うぱ より:

    File “C:\Users\rin12\Desktop\susida\寿司打チート.py”, line 11, in
    tool = tools[0]
    IndexError: list index out of range

    となってしまいますどうしたらいいですか?

    • tisikinohakotisikinohako より:

      5,6行目のところをpyocr.tesseract.TESSERACT_CMD = r’C:\\Program Files\\Tesseract-OCR\\tesseract.exe’に書き換えてみたんですけど、これでどうですか?
      インストールした場所がProgram Filesじゃない場合はその場所に書き直してください。

プロフィール

この記事を書いた人
tisikinohako

数学とプログラミングが得意な現役中学生。FXの月最高利回りは30%。このブログの情報が少しでも役に立てれば幸いです。