贪吃蛇程序代码python,python简单小游戏代码贪吃蛇

  贪吃蛇程序代码python,python简单小游戏代码贪吃蛇

  #!/usr/暴力葡萄柚/env python #-编码:utf-8-importpygamaspygameimportrandomistsfrompyname . rec importer定义了两个颜色属性,以避免需要self.black=pygame.color (0,0) #背景色self.green=pygame.0)目标块的颜色self.white=ppp255,255) #初始化的颜色snake defgame over(Self):pygame . quit)sys . exit(definitialize)Self(:pygame . init)#哈哈时钟=pygame 80) #初始化大食者的长度(注:20*20是这里的标准小网格)目标位置=[200,400] #初始化绿色正方形的目标位置targetflag=1方向=右 #移动方向(注:静止,还没移动,还没上色,黑色,所以下面def main)我们用main的方法做多彩。

  明白吗?萌哥?change Direction=direction # input direction self . main(snakebody,targetPosition,targetflag,direction,changeDirection,)目标位置,目标logo,direction,更改方向,签名位置,游戏面,时钟):#所有事件接收到end事件on同时为true:forevent inpygame . event . get():)在实时循环中,退出程序# PPP看看监听用户事件的用户在键盘上做了什么:if event . type==pygame . quit:pygame . quit(sys . Exit)elifient . type==py 左右k _ right:change direction= right print(右转))If event . key==pygame . k _ left:change direction=n:If event . key==pygame . k _ up:change direction= up print( down))If event . key==pygame . k _ escape 3365292; e . event . post(py game . event . event(py game . quit))If(改变方向== left 而不改变方向== right): #如果改变的移动方向是左,而原来的移动方向不是右, 将方向调整为左方向=改变方向if(改变方向==右而非方向==左) :方向=改变方向if(改变方向==下而非方向==上) :方向=改变方向if(改变方向==上而非方向==下):方向=改变方向#根据键盘输入,改变蛇头, turn If direction== right :snake position[0]=20 If direction== left :snake position[0]-=20 If direction== down :snake position[1]=20 If direction== up :snake position[1]-=20 #将蛇头的当前位置添加到蛇身列表中,并增加蛇身的长度insert (0,list (snake position)) #如果蛇头的位置与食物重合,则确定食物被吃掉,并且如果不吃食物,蛇身就会跟着蛇头走。蛇体最后一段将被踢出列表If(snake position[0]==target position[0]和snake position[1]==target position[1]):#吃掉绿块target flag=0 eelse:snake body . pop()#如果没吃掉绿块targetflag==0: #如果吃掉绿块重新生成一个新的绿块x=random.randrange (1,40) y=random.randrange (1,30) targetposition=[int (x * 20), Int(y * 20)] #绿块位置targetflag=1 #用于判断一个绿块是否被吃掉,如果被吃掉则为0; 否则为1 #填充背景色Play surface . fill(self . black)for position in snake body:“”在曲面上画一个矩形,第二个参数是线条的颜色(或fill),第三个参数Rect的形式为((x,y),(width,height)),代表所画矩形的面积。第一个元组(x,y)表示矩形左上角的坐标,第二个元组(width,height)表示矩形的宽度和高度。

  宽度表示线条的粗细,以像素为单位;默认值为0,表示填充矩形内部#第一个参数surface指定表面编辑区域#第二个参数color指定颜色#第三个参数rect返回包含位置信息(x,y),(width,Height)的矩形#第四个参数width表示线条的粗细width=0实心width=1空心#画一条蛇#画一个目标正方形 #画一条蛇, 就是画出蛇的行走图pygame.draw.rect (play surface,self.white,rect (position [0],Position[1],20,20)) #画出目标方块# print(targetPosition[0])你运行一下就知道了# print(target position [1])py game . draw . Rect(play surface,self.green,Rect(targetPosition[0],target Position[1],20, 20)) #将显示更新到屏幕pygame.display.flip() #判断游戏结束if (snake position [0] 900或snake position [0] 0): #窗口长度snake . game over()elif(snake position[1]80或snake position [0] 0): #窗口宽度snake . game over()for I in snake body[1:]:#撞到自己if (snake position [0]==I [0]和snake position [1]==I [1]): #当位置(pixel) 蛇头的和蛇身的是一样的,可以判断他们有过碰撞snake.gameover() #控制蛇行走速度clock . tick(6)snake=snake()snake . initialize()注:代码不是我写的。 如有侵权,请告知删除。谢谢大家!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: