[Py]一个贪吃蛇小游戏的雏形

发布时间:2017-5-29 18:21:39 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"[Py]一个贪吃蛇小游戏的雏形",主要涉及到[Py]一个贪吃蛇小游戏的雏形方面的内容,对于[Py]一个贪吃蛇小游戏的雏形感兴趣的同学可以参考一下。

# -*- coding: utf-8 -*- # file : pygame1.py #----2013年12月11日------ #----2013年12月12日------ import pygame from pygame.locals import * from sys import exit from random import randint pygame.init() DISPLAYSURF = pygame.display.set_mode((640,480)) pygame.display.set_caption('Pygame1') FPSCLOCK=pygame.time.Clock() FPS=10 startx=50 starty=50 directA='right' directB='left' snackA=[{'x':startx,'y':starty},{'x':startx-1,'y':starty},\ {'x':startx-2,'y':starty},{'x':startx-3,'y':starty},\ {'x':startx-4,'y':starty} ] snackB=[{'x':startx,'y':starty},{'x':startx-1,'y':starty},\ {'x':startx-2,'y':starty},{'x':startx-3,'y':starty},\ {'x':startx-4,'y':starty} ] lengthA=6 lengthB=6 applex=2 appley=2 while True: for event in pygame.event.get(): if event.type == QUIT: pygame.quit() exit() if event.type == KEYDOWN: if event.key==K_q: pygame.quit() exit() elif event.key==K_UP: directA='up' elif event.key==K_DOWN: directA='down' elif event.key==K_LEFT: directA='left' elif event.key==K_RIGHT: directA='right' elif event.key==K_w: directB='up' elif event.key==K_s: directB='down' elif event.key==K_a: directB='left' elif event.key==K_d: directB='right' if directA=='up': NewheadA={'x':snackA[0]['x'],'y':snackA[0]['y']-1} elif directA=='down': NewheadA={'x':snackA[0]['x'],'y':snackA[0]['y']+1} elif directA=='left': NewheadA={'x':snackA[0]['x']-1,'y':snackA[0]['y']} elif directA=='right': NewheadA={'x':snackA[0]['x']+1,'y':snackA[0]['y']} if directB=='up': NewheadB={'x':snackB[0]['x'],'y':snackB[0]['y']-1} elif directB=='down': NewheadB={'x':snackB[0]['x'],'y':snackB[0]['y']+1} elif directB=='left': NewheadB={'x':snackB[0]['x']-1,'y':snackB[0]['y']} elif directB=='right': NewheadB={'x':snackB[0]['x']+1,'y':snackB[0]['y']} if snackA[0]['x']==applex and snackA[0]['y']==appley: applex=randint(0,50) appley=randint(0,50) lengthA=lengthA+1; if snackB[0]['x']==applex and snackB[0]['y']==appley: applex=randint(0,50) appley=randint(0,50) lengthB=lengthB+1; snackA.insert(0,NewheadA) snackB.insert(0,NewheadB) DISPLAYSURF.fill((0,0,0)) #draw snack: for point in snackA[0:lengthA]: x=point['x']*5 y=point['y']*5 Rect = pygame.Rect(x, y, 5, 5) pygame.draw.rect(DISPLAYSURF, (0,255,0), Rect) for point in snackB[0:lengthB]: x=point['x']*5 y=point['y']*5 Rect = pygame.Rect(x, y, 5, 5) pygame.draw.rect(DISPLAYSURF, (255,0,0), Rect) # #draw apple x=applex*5 y=appley*5 Rect = pygame.Rect(x,y,5,5) pygame.draw.rect(DISPLAYSURF,(255,255,255),Rect) # pygame.display.update() FPSCLOCK.tick(FPS) 。。。。 接下来,应该做成面向对象,再丰富一下细节。。= =

上一篇:如何应对快递单号生成器的单号没有物流信息的情况
下一篇:_bstr_t 使用出现错误

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。