用户:
QinJerry查看:0 回复:3 评论:0 创建时间:2019-08-12T13:55:28
【作品展示】
【作品介绍】
做了两天,做了5关,100多行代码!←→移动,控股跳跃,碰到粉色方块下一关,因为没有第6关所以第5关过了是第一关
【作品源代码】
#coding:utf-8
import pygame
from pygame.locals import*
pygame.init()
pygame.display.set_caption('方块闯关')
canvas = pygame.display.set_mode((1000,600))
u1 = pygame.font.Font(None,80)
No,y2 = 1,240
No5,No52 = 0,0
bks,bks2 = 0,0
height = 210
x,y,yu,yu2,yu3 = 0,420,0,0,0
text,duo,ui = pygame.font.SysFont('simhei',30),1,y-170
x2,y3 = 970,420
sd,sd2 = 0,0
while 1:
canvas.fi喵))
pygame.draw.rect(canvas,(0,0,0),(0,450,1000,150))
pygame.draw.rect(canvas,(255,174,201),(x2,y3,30,30))
if No > 5:
No = 1
x2,y3,height = 970,420,210
if No == 2:
pygame.draw.rect(canvas,(255,255,255),(334,450,333,150))
if x >= 334 and x < 637 and y >= 420:
yu3 = -1
duo = 0
if y == 630:
x,duo,yu3,y = 0,1,0,420
elif No == 3:
pygame.draw.rect(canvas,(255,0,0),(490,240,20,210))
pygame.draw.rect(canvas,(0,255,0),(300,350,50,20))
if x >= 460 and x <= 510 and y >= 210 and y <= 450:
x = 0
if y == 370 and x >= 270 and x<= 350:
yu3 = -1
elif y == 320 and x >= 270 and x<= 350 and yu3 == -1:
yu3,bks = 0,1
elif y == 320 and x < 270 and bks or y == 320 and x > 350 and bks:
yu3,bks = -1,0
if x > 270 and x < 301 and y > 320 and y < 370:
duo = 0
elif x > 319 and x < 350 and y > 320 and y < 370:
duo = 0
else:
duo = 1
elif No == 4:
y2 = 450-height
pygame.draw.rect(canvas,(255,0,0),(490,y2,20,height))
if height == 210:
bks = 1
elif height == 67:
bks = -1
if x < 510 and x > 460 and y < y2 +height and y > y2-30:
x = 0
height -= bks
elif No == 5:
x2,y3 = 500,50
pygame.draw.rect(canvas,(sd,255,sd),(300,350,50,20))
pygame.draw.rect(canvas,(sd2,255,sd2),(400,249,50,20))
if y == 269 and x >= 370 and x<= 450 and sd2-255:
yu3 = -1
elif y == 219 and x >= 370 and x<= 450 and yu3 == -1:
yu3,bks2 = 0,1
elif y == 219 and x < 370 and bks2 or y == 219 and x > 450 and bks2:
yu3,bks2 = -1,0
if x > 370 and x < 401 and y > 219 and y < 269 and sd2-255:
duo = 0
elif x > 419 and x < 450 and y > 219 and y < 269 and sd2-255:
duo = 0
elif x > 270 and x < 301 and y > 320 and y < 370:
duo = 0
elif x > 319 and x < 350 and y > 320 and y < 370:
duo = 0
else:
duo = 1
if y == 370 and x >= 270 and x<= 350:
yu3 = -1
elif y == 320 and x >= 270 and x<= 350 and yu3 == -1:
yu3,bks = 0,1
elif y == 320 and x < 270 and bks or y == 320 and x > 350 and bks:
yu3,bks = -1,0
if y == 320 and x >= 270 and x<= 350 and sd < 255 and not No5:
No5 = 1
if No5 and sd-255:
sd += 1
else:
sd,No5 = 0,0
if sd == 255 and y == 320 and x >= 270 and x<= 350:
yu3 = -1
if y == 219 and x >= 370 and x<= 450 and sd2 < 255 and not No52:
No52 = 1
if No52 and sd2-255:
sd2 += 1
else:
sd2 = 0
No52 = 0
if sd2 == 255 and y == 219 and x >= 370 and x<= 450:
yu3 = -1
if bks != 0 and y != 320:
bks = 0
pygame.draw.rect(canvas,(0,0,255),(x,y,30,30))
canvas.blit(text.render('关卡'+str(No),1,(0,0,0)),(00,0))
for event in pygame.event.get():
if event.type == QUIT:
exit()
if event.type == KEYDOWN:
if event.key == K_LEFT:
yu = 1
if event.key == K_RIGHT:
yu2 = 1
if event.key == K_SPACE and yu3 == 0:
yu3 = 1
ui = y-158
elif event.type == 3:
if event.key == K_LEFT:
yu = 0
if event.key == K_RIGHT:
yu2 = 0
if yu and x!=0 and duo:
x -= 1
if yu2 and duo and x != 970:
x += 1
if x>x2-30 and x<x2+30 and y>y3-30 and y<y3+30:
No += 1
x = 0
y -= yu3
if y == ui:
yu3 = -1
elif y == 420:
yu3 = 0
pygame.display.update()
pygame.time.delay(1)
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端: