Pyxelで🐷さん80匹

"butasan.py"のソース:

import pyxel
import random

W, H = 240, 160
BX, BY = W-32, H-32
x, y = 0, 0
vx, vy = 1, 1
N=80

class Vec2:
    def __init__(self, x, y):
        self.x = x
        self.y = y

pos = []
v = []
for i in range(N):
    pos.append(Vec2(
        random.uniform(0, BX),
        random.uniform(0, BY),
    ))
    v.append(Vec2(
        random.uniform(-1, 1),
        random.uniform(-1, 1),
    ))

def update():
    global x, y, vx, vy
    if pyxel.btnp(pyxel.KEY_Q):
        pyxel.quit()
    x += vx
    y += vy
    if (x <= 0) or (x > BX):
        vx *= -1
    if (y < 0) or (y > BY):
        vy *= -1
    for i in range(N):
        pos[i].x += v[i].x
        pos[i].y += v[i].y
        if (pos[i].x <= 0) or (pos[i].x > BX):
            v[i].x *= -1
        if (pos[i].y < 0) or (pos[i].y > BY):
            v[i].y *= -1

def draw():
    pyxel.cls(0)
    for i in range(N):
        p = pos[i]
        pyxel.blt(p.x, p.y, 0, 0, 0, 32, 32, pyxel.image(0).get(0, 0))
    pyxel.text(x, y, "Hyahha-!", 7)

pyxel.init(W, H, caption="Pyxel Test Sugiru")
pyxel.image(0).load(0, 0, "assets/bu_32x32.png")
pyxel.run(update, draw)

"assets/bu_32x32.png" に下の🐷さんを保存してね!



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