見出し画像

Chat GPTにPyxel のコード書いてもらった

今話題のChat GPT に
「pythonのライブラリpyxelでゲームのコード」
って入力したらこんなコード教えてくれた。

import pyxel

class App:
    def __init__(self):
        pyxel.init(160, 120, caption='My Game', fps=60)
        self.player_x = 80
        self.player_y = 60
        self.enemy_x = 0
        self.enemy_y = 0
        self.score = 0
        pyxel.run(self.update, self.draw)

    def update(self):
        if pyxel.btn(pyxel.KEY_UP):
            self.player_y = max(0, self.player_y - 2)
        if pyxel.btn(pyxel.KEY_DOWN):
            self.player_y = min(120, self.player_y + 2)
        if pyxel.btn(pyxel.KEY_LEFT):
            self.player_x = max(0, self.player_x - 2)
        if pyxel.btn(pyxel.KEY_RIGHT):
            self.player_x = min(160, self.player_x + 2)
        self.enemy_x += 1
        if self.enemy_x > 160:
            self.enemy_x = 0
            self.enemy_y = pyxel.random(120)
            self.score += 1
        if abs(self.enemy_x - self.player_x) < 8 and abs(self.enemy_y - self.player_y) < 8:
            pyxel.quit()

    def draw(self):
        pyxel.cls(0)
        pyxel.rect(self.player_x, self.player_y, 8, 8, 9)
        pyxel.rect(self.enemy_x, self.enemy_y, 8, 8, 8)
        pyxel.text(5, 4, 'SCORE: {}'.format(self.score), 7)

App()

やや古いバージョンのようで2か所エラーになったが、以下のように修正してそれなりに動いた。
5行目 caption → title
25行目 pyxel.random(120) → pyxel.rndf(10,110)

ちなみにChat GPTに
「Chat GPTの出力結果をブログに載せてもよいか?」
と尋ねたら以下のお返事。


この記事が気に入ったらサポートをしてみませんか?