
Lv.1
在 拼图游戏代码 中回复
import pgzrun
import random
TILE_SIZE = 100
WIDTH = 3*TILE_SIZE
HEIGHT = 3*TILE_SIZE
clickTime = 0
clicKId1 = clicKId2 = -1
tiles = [Actor('3×3_01'), Actor('3×3_02'), Actor('3×3_03'),
Actor('3×3_04'), Actor('3×3_05'), Actor('3×3_06'),
Actor('3×3_07'), Actor('3×3_08'), Actor('3×3_09')]
grid = []
for i in range(3):
for j in range(3):
tile = tiles[i*3+j]
tile.left = j * TILE_SIZE
tile.top = i * TILE_SIZE
grid.append(tile)
def swapPosition(i,j):
tempPos = grid[i].pos
grid[i].pos = grid[j].pos
grid[j].pos = tempPos
for k in range(10):
i = random.randint(0,8)
j= random.randint(0, 8)
swapPosition(i, j)
def draw():
screen.clear()
for tile in grid:
tile.draw()
def on_mouse_down(pos,button):
global clickTime, clicKId1, clicKId2
for k in range(9):
if grid[k].collidepoint(pos):
print(k)
break
if clickTime % 2 == 0:
clicKId1 = k
clickTime += 1
elif clickTime % 2 == 1:
clicKId2 = k
clickTime += 1
swapPosition(clicKId1, clicKId2)
pgzrun.go()2024-03-21T17:05:54 点赞:1