猫史档案馆


SeinzumTode

SeinzumTode

Lv.1

获赞:0收藏:0浏览:0作品收藏:0
回复帖子评论
上一页1 页 / 共 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