猫史档案馆


【Python作品分享】衰哥华容道【作品秀】

用户:迷茫de铜锣烧迷茫de铜锣烧查看:0 回复:0 评论:0 创建时间:2022-08-17T13:55:36


【作品展示】

center_image

 

【作品介绍】

。。。

WASD

很逊的作品

。。。

 

【作品源代码】

import pygame
pygame.init()  # 初始化
screen = pygame.display.set_mode([400, 200]) #创建窗口【长宽】

class f():
    def __init__(self, x, y,img):
        self.img = pygame.image.load(
            'C:/Users/DELL/Desktop/python/实战/练习/pic/' + str(img) + '.jpg')
        screen.blit(self.img, (x, y))

bg = pygame.image.load('C:/Users/DELL/Desktop/python/实战/练习/pic/pic.jpg')

l = [['1', '2', '3'], ['4', '5', '6'], ['7', '8', 'black'], ]

def place():
    for i in range(1):
        if '1' in l[0]:
            f1 = f(l[0].index('1')*66, 0, '1')
        elif '1' in l[1]:
            f1 = f(l[1].index('1')*66, 66, '1')
        else:
            f1 = f(l[2].index('1')*66, 132, '1')
    
    for i in range(1):
        if '2' in l[0]:
            f2 = f(l[0].index('2')*66, 0, '1')
        elif '2' in l[1]:
            f2 = f(l[1].index('2')*66, 66, '1')
        else:
            f2 = f(l[2].index('2')*66, 132, '1')
        f2 = f(66, 0, '2')
    
    for i in range(1):
        if '3' in l[0]:
            f3 = f(l[0].index('3')*66, 0, '3')
        elif '3' in l[1]:
            f3 = f(l[1].index('3')*66, 66, '3')
        else:
            f3 = f(l[2].index('3')*66, 132, '3')
    
    for i in range(1):
        if '4' in l[0]:
            f4 = f(l[0].index('4')*66, 0, '4')
        elif '4' in l[1]:
            f4 = f(l[1].index('4')*66, 66, '4')
        else:
            f4 = f(l[2].index('4')*66, 132, '4')

    for i in range(1):
        if '5' in l[0]:
            f5 = f(l[0].index('5')*66, 0, '5')
        elif '5' in l[1]:
            f5 = f(l[1].index('5')*66, 66, '5')
        else:
            f5 = f(l[2].index('5')*66, 132, '5')
    
    for i in range(1):
        if '6' in l[0]:
            f6 = f(l[0].index('6')*66, 0, '6')
        elif '6' in l[1]:
            f6 = f(l[1].index('6')*66, 66, '6')
        else:
            f6 = f(l[2].index('6')*66, 132, '6')
    
    for i in range(1):
        if '7' in l[0]:
            f7 = f(l[0].index('7')*66, 0, '7')
        elif '7' in l[1]:
            f7 = f(l[1].index('7')*66, 66, '7')
        else:
            f7 = f(l[2].index('7')*66, 132, '7')

    for i in range(1):
        if '8' in l[0]:
            f8 = f(l[0].index('8')*66, 0, '8')
        elif '8' in l[1]:
            f8 = f(l[1].index('8')*66, 66, '8')
        else:
            f8 = f(l[2].index('8')*66, 132, '8')

    for i in range(1):
        if 'black' in l[0]:
            f9 = f(l[0].index('black')*66, 0, 'black')
        elif 'black' in l[1]:
            f9 = f(l[1].index('black')*66, 66, 'black')
        else:
            f9 = f(l[2].index('black')*66, 132, 'black')



while True:
    for event in pygame.event.get():  # for循环遍历事件列表
        if event.type == pygame.QUIT:  # 如果按下X键
            exit()  # 关闭
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_UP: #上
                if 'black' in l[0]:
                    pass
                elif 'black' in l[1]:
                    x = l[1].index('black')
                    y = l[0][x]
                    l[0][x] = 'black'
                    l[1][x] = y
                else:
                    x = l[2].index('black')
                    y = l[1][x]
                    l[1][x] = 'black'
                    l[2][x] = y
            
            if event.key == pygame.K_DOWN: #下
                if 'black' in l[2]:
                    pass
                elif 'black' in l[1]:
                    x = l[1].index('black')
                    y = l[2][x]
                    l[2][x] = 'black'
                    l[1][x] = y
                else:
                    x = l[0].index('black')
                    y = l[1][x]
                    l[1][x] = 'black'
                    l[0][x] = y
            
            if event.key == pygame.K_LEFT: #左
                if ('black' in l[0] and l[0].index('black') != 0) or ('black' in l[1] and l[1].index('black') != 0) or ('black' in l[2] and l[2].index('black') != 0):
                    if 'black' in l[0]:
                        x = l[0].index('black')
                        y = l[0][x-1]
                        l[0][x-1] = 'black'
                        l[0][x] = y
                    elif 'black' in l[1]:
                        x = l[1].index('black')
                        y = l[1][x-1]
                        l[1][x-1] = 'black'
                        l[1][x] = y
                    else:
                        x = l[2].index('black')
                        y = l[2][x-1]
                        l[2][x-1] = 'black'
                        l[2][x] = y
            if event.key == pygame.K_RIGHT:  # 右
                if ('black' in l[0] and l[0].index('black') != 2) or ('black' in l[1] and l[1].index('black') != 2) or ('black' in l[2] and l[2].index('black') != 2):
                    if 'black' in l[0]:
                        x = l[0].index('black')
                        y = l[0][x+1]
                        l[0][x+1] = 'black'
                        l[0][x] = y
                    elif 'black' in l[1]:
                        x = l[1].index('black')
                        y = l[1][x+1]
                        l[1][x+1] = 'black'
                        l[1][x] = y
                    else:
                        x = l[2].index('black')
                        y = l[2][x+1]
                        l[2][x+1] = 'black'
                        l[2][x] = y

    place()
    screen.blit(bg, (200, 0))  # 将背景贴在0,0
    pygame.display.flip()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页