python贪吃蛇代码怎么运行,python贪吃蛇代码手机版

这篇具有很好参考价值的文章主要介绍了python贪吃蛇代码怎么运行,python贪吃蛇代码手机版。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,小编来为大家解答以下问题,python贪吃蛇代码为什么不能动,python贪吃蛇代码和说明文档,今天让我们一起来看看吧!

python贪吃蛇代码怎么运行,python贪吃蛇代码手机版,pygame,python,开发语言,人工智能

大家小时候都玩过贪吃蛇吧?小编小时候可喜欢拿爸妈的手机玩了,厉害着呢!今天,小编就来用100行代码实现一个简易版的贪吃蛇。在网上,贪吃蛇教程蛮多的,但要安装蛮多库的,而且也不够清晰,今天的代码比较短,而且理解起来或者说你更改起来要简单一些学python什么书好。最终会实现效果如下:

python贪吃蛇代码怎么运行,python贪吃蛇代码手机版,pygame,python,开发语言,人工智能

基本准备

首先,我们需要安装pygame库,小编通过pip install pygame,很快就安装好了。在完成贪吃蛇小游戏的时候,我们需要知道整个游戏分为四部分:

1.游戏显示:游戏界面、结束界面
2.贪吃蛇:头部、身体、食物判断、死亡判断
3.树莓:随机生成
4.按键控制:上、下、左、右

游戏显示

首先,我们来初始化pygame,定义颜色、游戏界面的窗口大小、标题和图标等。

 1# 初始化pygame
 2pygame.init()
 3fpsClock = pygame.time.Clock()
 4# 创建pygame显示层
 5playSurface = pygame.display.set_mode((600,460))#窗口大小
 6pygame.display.set_caption('Snake Game')#窗口名称
 7# 定义颜色变量
 8redColour = pygame.Color(255,0,0)
 9blackColour = pygame.Color(0,0,0)
10whiteColour = pygame.Color(255,255,255)
11greyColour = pygame.Color(150,150,150)

游戏结束界面,我们会显示“Game Over!”和该局游戏所得分数,相关代码如下:

1# 定义gameOver函数
 2def gameOver(playSurface,score):
 3    gameOverFont = pygame.font.SysFont('arial.ttf',54) #游戏结束字体和大小
 4    gameOverSurf = gameOverFont.render('Game Over!', True, greyColour) #游戏结束内容显示
 5    gameOverRect = gameOverSurf.get_rect()
 6    gameOverRect.midtop = (300, 10) #显示位置
 7    playSurface.blit(gameOverSurf, gameOverRect)
 8    scoreFont = pygame.font.SysFont('arial.ttf',54) #得分情况显示
 9    scoreSurf = scoreFont.render('Score:'+str(score), True, greyColour)
10    scoreRect = scoreSurf.get_rect()
11    scoreRect.midtop = (300, 50)
12    playSurface.blit(scoreSurf, scoreRect)
13    pygame.display.flip() #刷新显示界面
14    time.sleep(5) #休眠五秒钟自动退出界面
15    pygame.quit()
16    sys.exit()

贪吃蛇和树莓

我们需要将整个界面看成许多20*20的小方块,每个方块代表一个单位,蛇的长度用单位来表示,同时我们采用列表的形式存储蛇的身体。同时,我们都知道,树莓的位置是随机的。所以,我们需要让树莓出现的位置是游戏界面中的随机位置,同时,每吃到一颗树莓,就需要重新生成一颗新的树莓,并且得分加1。相关初始化设置如下:

1snakePosition = [100,100] #贪吃蛇 蛇头的位置
2snakeSegments = [[100,100]] #贪吃蛇 蛇的身体,初始为一个单位
3raspberryPosition = [300,300] #树莓的初始位置
4raspberrySpawned = 1 #树莓的个数为1
5direction = 'right' #初始方向为右
6changeDirection = direction
7score = 0 #初始得分

如何控制贪吃蛇的运动轨迹呢,那么就需要按键控制了。我们通过键盘的↑↓←→和WSAD来控制,如果想直接退出游戏,则可以通过Esc键。这里需要强调的是,贪吃蛇里面是不能反方向运动,因此,我们需要进一步的增加限制条件:

 1# 检测例如按键等pygame事件
 2for event in pygame.event.get():
 3    if event.type == QUIT:
 4        pygame.quit()
 5        sys.exit()
 6    elif event.type == KEYDOWN:
 7        # 判断键盘事件
 8        if event.key == K_RIGHT or event.key == ord('d'):
 9            changeDirection = 'right'
10        if event.key == K_LEFT or event.key == ord('a'):
11            changeDirection = 'left'
12        if event.key == K_UP or event.key == ord('w'):
13            changeDirection = 'up'
14        if event.key == K_DOWN or event.key == ord('s'):
15            changeDirection = 'down'
16        if event.key == K_ESCAPE:
17            pygame.event.post(pygame.event.Event(QUIT))
18# 判断是否输入了反方向
19if changeDirection == 'right' and not direction == 'left':
20    direction = changeDirection
21if changeDirection == 'left' and not direction == 'right':
22    direction = changeDirection
23if changeDirection == 'up' and not direction == 'down':
24    direction = changeDirection
25if changeDirection == 'down' and not direction == 'up':
26    direction = changeDirection

方向设置好了,那么贪吃蛇蛇身变换怎么做啊?很简单,我们只需要根据方向变换一下坐标即可。

1# 根据方向移动蛇头的坐标
 2if direction == 'right':
 3    snakePosition[0] += 20
 4if direction == 'left':
 5    snakePosition[0] -= 20
 6if direction == 'up':
 7    snakePosition[1] -= 20
 8if direction == 'down':
 9    snakePosition[1] += 20
10# 增加蛇的长度
11snakeSegments.insert(0,list(snakePosition))

贪吃蛇游戏里面最重要的就是食物判断和死亡判断。首先是食物判断,我们通过键盘按键来决定贪吃蛇的走向,以便它能吃到树莓。如何判断贪吃蛇有没有吃到树莓呢?很简单,如果贪吃蛇蛇头的位置和树莓的位置重合了,也就是相同,那么贪吃蛇就吃到树莓了,否则没有。同时,一旦发生了树莓被吃的情况,立刻重新随机生成一个新的树莓。相关代码如下:

 1# 判断是否吃掉了树莓
 2if snakePosition[0] == raspberryPosition[0] and snakePosition[1] == raspberryPosition[1]:
 3    raspberrySpawned = 0
 4 else:
 5    snakeSegments.pop() #若没有吃掉树莓,需将最后一单位的蛇身提出列表,此处和蛇身移动时位置变换有关
 6# 如果吃掉树莓,则重新生成树莓
 7if raspberrySpawned == 0:
 8    x = random.randrange(1,30) #和游戏界面大小相关
 9    y = random.randrange(1,23)
10    raspberryPosition = [int(x*20),int(y*20)]
11    raspberrySpawned = 1
12    score += 1

死亡判断则分为两类情况,一是触碰到了游戏界面的边界,二是贪吃蛇触碰到了自己的身体。一旦发生死亡,则触发gameover。

1# 判断是否死亡
2if snakePosition[0] > 600 or snakePosition[0] < 0: #若超过左右边界,触发gameover
3    gameOver(playSurface,score)
4if snakePosition[1] > 460 or snakePosition[1] < 0: #若超过上下边界,触发gameover
5    gameOver(playSurface,score)
6for snakeBody in snakeSegments[1:]: #若触碰到自己的身体,触发gameover
7    if snakePosition[0] == snakeBody[0] and snakePosition[1] == snakeBody[1]:
8        gameOver(playSurface,score)

贪吃蛇运动和吃掉树莓的过程中,游戏界面需要不断更新。同时,我们设置了游戏速度。

1# 绘制pygame显示层
 2playSurface.fill(blackColour) #蛇身为白色
 3for position in snakeSegments:
 4    pygame.draw.rect(playSurface,whiteColour,Rect(position[0],position[1],20,20))
 5    pygame.draw.rect(playSurface,redColour,Rect(raspberryPosition[0], raspberryPosition[1],20,20))
 6
 7# 刷新pygame显示层
 8pygame.display.flip()
 9# 控制游戏速度
10fpsClock.tick(5)

至此,我们就能完成一个贪吃蛇小游戏了。赶紧去实验一下吧!

完整的代码如下:

1import pygame,sys,time,random
  2from pygame.locals import *
  3# 定义颜色变量
  4redColour = pygame.Color(255,0,0)
  5blackColour = pygame.Color(0,0,0)
  6whiteColour = pygame.Color(255,255,255)
  7greyColour = pygame.Color(150,150,150)
  8def gameOver(playSurface,score):
  9    gameOverFont = pygame.font.SysFont('arial.ttf',54)
 10    gameOverSurf = gameOverFont.render('Game Over!', True, greyColour)
 11    gameOverRect = gameOverSurf.get_rect()
 12    gameOverRect.midtop = (300, 10)
 13    playSurface.blit(gameOverSurf, gameOverRect)
 14    scoreFont = pygame.font.SysFont('arial.ttf',54)
 15    scoreSurf = scoreFont.render('Score:'+str(score), True, greyColour)
 16    scoreRect = scoreSurf.get_rect()
 17    scoreRect.midtop = (300, 50)
 18    playSurface.blit(scoreSurf, scoreRect)
 19    pygame.display.flip()
 20    time.sleep(5)
 21    pygame.quit()
 22    sys.exit()
 23def main():
 24    # 初始化pygame
 25    pygame.init()
 26    fpsClock = pygame.time.Clock()
 27    # 创建pygame显示层
 28    playSurface = pygame.display.set_mode((600,460))
 29    pygame.display.set_caption('Snake Game')
 30    # 初始化变量
 31    snakePosition = [100,100] #贪吃蛇 蛇头的位置
 32    snakeSegments = [[100,100]] #贪吃蛇 蛇的身体,初始为一个单位
 33    raspberryPosition = [300,300] #树莓的初始位置
 34    raspberrySpawned = 1 #树莓的个数为1
 35    direction = 'right' #初始方向为右
 36    changeDirection = direction
 37    score = 0 #初始得分
 38    while True:
 39        # 检测例如按键等pygame事件
 40        for event in pygame.event.get():
 41            if event.type == QUIT:
 42                pygame.quit()
 43                sys.exit()
 44            elif event.type == KEYDOWN:
 45                # 判断键盘事件
 46                if event.key == K_RIGHT or event.key == ord('d'):
 47                    changeDirection = 'right'
 48                if event.key == K_LEFT or event.key == ord('a'):
 49                    changeDirection = 'left'
 50                if event.key == K_UP or event.key == ord('w'):
 51                    changeDirection = 'up'
 52                if event.key == K_DOWN or event.key == ord('s'):
 53                    changeDirection = 'down'
 54                if event.key == K_ESCAPE:
 55                    pygame.event.post(pygame.event.Event(QUIT))
 56        # 判断是否输入了反方向
 57        if changeDirection == 'right' and not direction == 'left':
 58            direction = changeDirection
 59        if changeDirection == 'left' and not direction == 'right':
 60            direction = changeDirection
 61        if changeDirection == 'up' and not direction == 'down':
 62            direction = changeDirection
 63        if changeDirection == 'down' and not direction == 'up':
 64            direction = changeDirection
 65        # 根据方向移动蛇头的坐标
 66        if direction == 'right':
 67            snakePosition[0] += 20
 68        if direction == 'left':
 69            snakePosition[0] -= 20
 70        if direction == 'up':
 71            snakePosition[1] -= 20
 72        if direction == 'down':
 73            snakePosition[1] += 20
 74        # 增加蛇的长度
 75        snakeSegments.insert(0,list(snakePosition))
 76        # 判断是否吃掉了树莓
 77        if snakePosition[0] == raspberryPosition[0] and snakePosition[1] == raspberryPosition[1]:
 78            raspberrySpawned = 0
 79        else:
 80            snakeSegments.pop()
 81        # 如果吃掉树莓,则重新生成树莓
 82        if raspberrySpawned == 0:
 83            x = random.randrange(1,30)
 84            y = random.randrange(1,23)
 85            raspberryPosition = [int(x*20),int(y*20)]
 86            raspberrySpawned = 1
 87            score += 1
 88        # 绘制pygame显示层
 89        playSurface.fill(blackColour)
 90        for position in snakeSegments:
 91            pygame.draw.rect(playSurface,whiteColour,Rect(position[0],position[1],20,20))
 92            pygame.draw.rect(playSurface,redColour,Rect(raspberryPosition[0], raspberryPosition[1],20,20))
 93        # 刷新pygame显示层
 94        pygame.display.flip()
 95        # 判断是否死亡
 96        if snakePosition[0] > 600 or snakePosition[0] < 0:
 97            gameOver(playSurface,score)
 98        if snakePosition[1] > 460 or snakePosition[1] < 0:
 99            gameOver(playSurface,score)
100        for snakeBody in snakeSegments[1:]:
101            if snakePosition[0] == snakeBody[0] and snakePosition[1] == snakeBody[1]:
102                gameOver(playSurface,score)
103        # 控制游戏速度
104        fpsClock.tick(5)
105
106if __name__ == "__main__":
107    main()

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

python贪吃蛇代码怎么运行,python贪吃蛇代码手机版,pygame,python,开发语言,人工智能

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

python贪吃蛇代码怎么运行,python贪吃蛇代码手机版,pygame,python,开发语言,人工智能

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

python贪吃蛇代码怎么运行,python贪吃蛇代码手机版,pygame,python,开发语言,人工智能

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

python贪吃蛇代码怎么运行,python贪吃蛇代码手机版,pygame,python,开发语言,人工智能

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

python贪吃蛇代码怎么运行,python贪吃蛇代码手机版,pygame,python,开发语言,人工智能
python贪吃蛇代码怎么运行,python贪吃蛇代码手机版,pygame,python,开发语言,人工智能

这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

python贪吃蛇代码怎么运行,python贪吃蛇代码手机版,pygame,python,开发语言,人工智能文章来源地址https://www.toymoban.com/news/detail-849729.html

大家小时候都玩过贪吃蛇吧?小编小时候可喜欢拿爸妈的手机玩了,厉害着呢!今天,小编就来用100行代码实现一个简易版的贪吃蛇。在网上,贪吃蛇教程蛮多的,但要安装蛮多库的,而且也不够清晰,今天的代码比较短,而且理解起来或者说你更改起来要简单一些学python什么书好。最终会实现效果如下:

python贪吃蛇代码怎么运行,python贪吃蛇代码手机版,pygame,python,开发语言,人工智能

基本准备

首先,我们需要安装pygame库,小编通过pip install pygame,很快就安装好了。在完成贪吃蛇小游戏的时候,我们需要知道整个游戏分为四部分:

1.游戏显示:游戏界面、结束界面
2.贪吃蛇:头部、身体、食物判断、死亡判断
3.树莓:随机生成
4.按键控制:上、下、左、右

游戏显示

首先,我们来初始化pygame,定义颜色、游戏界面的窗口大小、标题和图标等。

 1# 初始化pygame
 2pygame.init()
 3fpsClock = pygame.time.Clock()
 4# 创建pygame显示层
 5playSurface = pygame.display.set_mode((600,460))#窗口大小
 6pygame.display.set_caption('Snake Game')#窗口名称
 7# 定义颜色变量
 8redColour = pygame.Color(255,0,0)
 9blackColour = pygame.Color(0,0,0)
10whiteColour = pygame.Color(255,255,255)
11greyColour = pygame.Color(150,150,150)

游戏结束界面,我们会显示“Game Over!”和该局游戏所得分数,相关代码如下:

1# 定义gameOver函数
 2def gameOver(playSurface,score):
 3    gameOverFont = pygame.font.SysFont('arial.ttf',54) #游戏结束字体和大小
 4    gameOverSurf = gameOverFont.render('Game Over!', True, greyColour) #游戏结束内容显示
 5    gameOverRect = gameOverSurf.get_rect()
 6    gameOverRect.midtop = (300, 10) #显示位置
 7    playSurface.blit(gameOverSurf, gameOverRect)
 8    scoreFont = pygame.font.SysFont('arial.ttf',54) #得分情况显示
 9    scoreSurf = scoreFont.render('Score:'+str(score), True, greyColour)
10    scoreRect = scoreSurf.get_rect()
11    scoreRect.midtop = (300, 50)
12    playSurface.blit(scoreSurf, scoreRect)
13    pygame.display.flip() #刷新显示界面
14    time.sleep(5) #休眠五秒钟自动退出界面
15    pygame.quit()
16    sys.exit()

贪吃蛇和树莓

我们需要将整个界面看成许多20*20的小方块,每个方块代表一个单位,蛇的长度用单位来表示,同时我们采用列表的形式存储蛇的身体。同时,我们都知道,树莓的位置是随机的。所以,我们需要让树莓出现的位置是游戏界面中的随机位置,同时,每吃到一颗树莓,就需要重新生成一颗新的树莓,并且得分加1。相关初始化设置如下:

1snakePosition = [100,100] #贪吃蛇 蛇头的位置
2snakeSegments = [[100,100]] #贪吃蛇 蛇的身体,初始为一个单位
3raspberryPosition = [300,300] #树莓的初始位置
4raspberrySpawned = 1 #树莓的个数为1
5direction = 'right' #初始方向为右
6changeDirection = direction
7score = 0 #初始得分

如何控制贪吃蛇的运动轨迹呢,那么就需要按键控制了。我们通过键盘的↑↓←→和WSAD来控制,如果想直接退出游戏,则可以通过Esc键。这里需要强调的是,贪吃蛇里面是不能反方向运动,因此,我们需要进一步的增加限制条件:

 1# 检测例如按键等pygame事件
 2for event in pygame.event.get():
 3    if event.type == QUIT:
 4        pygame.quit()
 5        sys.exit()
 6    elif event.type == KEYDOWN:
 7        # 判断键盘事件
 8        if event.key == K_RIGHT or event.key == ord('d'):
 9            changeDirection = 'right'
10        if event.key == K_LEFT or event.key == ord('a'):
11            changeDirection = 'left'
12        if event.key == K_UP or event.key == ord('w'):
13            changeDirection = 'up'
14        if event.key == K_DOWN or event.key == ord('s'):
15            changeDirection = 'down'
16        if event.key == K_ESCAPE:
17            pygame.event.post(pygame.event.Event(QUIT))
18# 判断是否输入了反方向
19if changeDirection == 'right' and not direction == 'left':
20    direction = changeDirection
21if changeDirection == 'left' and not direction == 'right':
22    direction = changeDirection
23if changeDirection == 'up' and not direction == 'down':
24    direction = changeDirection
25if changeDirection == 'down' and not direction == 'up':
26    direction = changeDirection

方向设置好了,那么贪吃蛇蛇身变换怎么做啊?很简单,我们只需要根据方向变换一下坐标即可。

1# 根据方向移动蛇头的坐标
 2if direction == 'right':
 3    snakePosition[0] += 20
 4if direction == 'left':
 5    snakePosition[0] -= 20
 6if direction == 'up':
 7    snakePosition[1] -= 20
 8if direction == 'down':
 9    snakePosition[1] += 20
10# 增加蛇的长度
11snakeSegments.insert(0,list(snakePosition))

贪吃蛇游戏里面最重要的就是食物判断和死亡判断。首先是食物判断,我们通过键盘按键来决定贪吃蛇的走向,以便它能吃到树莓。如何判断贪吃蛇有没有吃到树莓呢?很简单,如果贪吃蛇蛇头的位置和树莓的位置重合了,也就是相同,那么贪吃蛇就吃到树莓了,否则没有。同时,一旦发生了树莓被吃的情况,立刻重新随机生成一个新的树莓。相关代码如下:

 1# 判断是否吃掉了树莓
 2if snakePosition[0] == raspberryPosition[0] and snakePosition[1] == raspberryPosition[1]:
 3    raspberrySpawned = 0
 4 else:
 5    snakeSegments.pop() #若没有吃掉树莓,需将最后一单位的蛇身提出列表,此处和蛇身移动时位置变换有关
 6# 如果吃掉树莓,则重新生成树莓
 7if raspberrySpawned == 0:
 8    x = random.randrange(1,30) #和游戏界面大小相关
 9    y = random.randrange(1,23)
10    raspberryPosition = [int(x*20),int(y*20)]
11    raspberrySpawned = 1
12    score += 1

死亡判断则分为两类情况,一是触碰到了游戏界面的边界,二是贪吃蛇触碰到了自己的身体。一旦发生死亡,则触发gameover。

1# 判断是否死亡
2if snakePosition[0] > 600 or snakePosition[0] < 0: #若超过左右边界,触发gameover
3    gameOver(playSurface,score)
4if snakePosition[1] > 460 or snakePosition[1] < 0: #若超过上下边界,触发gameover
5    gameOver(playSurface,score)
6for snakeBody in snakeSegments[1:]: #若触碰到自己的身体,触发gameover
7    if snakePosition[0] == snakeBody[0] and snakePosition[1] == snakeBody[1]:
8        gameOver(playSurface,score)

贪吃蛇运动和吃掉树莓的过程中,游戏界面需要不断更新。同时,我们设置了游戏速度。

1# 绘制pygame显示层
 2playSurface.fill(blackColour) #蛇身为白色
 3for position in snakeSegments:
 4    pygame.draw.rect(playSurface,whiteColour,Rect(position[0],position[1],20,20))
 5    pygame.draw.rect(playSurface,redColour,Rect(raspberryPosition[0], raspberryPosition[1],20,20))
 6
 7# 刷新pygame显示层
 8pygame.display.flip()
 9# 控制游戏速度
10fpsClock.tick(5)

至此,我们就能完成一个贪吃蛇小游戏了。赶紧去实验一下吧!

完整的代码如下:

1import pygame,sys,time,random
  2from pygame.locals import *
  3# 定义颜色变量
  4redColour = pygame.Color(255,0,0)
  5blackColour = pygame.Color(0,0,0)
  6whiteColour = pygame.Color(255,255,255)
  7greyColour = pygame.Color(150,150,150)
  8def gameOver(playSurface,score):
  9    gameOverFont = pygame.font.SysFont('arial.ttf',54)
 10    gameOverSurf = gameOverFont.render('Game Over!', True, greyColour)
 11    gameOverRect = gameOverSurf.get_rect()
 12    gameOverRect.midtop = (300, 10)
 13    playSurface.blit(gameOverSurf, gameOverRect)
 14    scoreFont = pygame.font.SysFont('arial.ttf',54)
 15    scoreSurf = scoreFont.render('Score:'+str(score), True, greyColour)
 16    scoreRect = scoreSurf.get_rect()
 17    scoreRect.midtop = (300, 50)
 18    playSurface.blit(scoreSurf, scoreRect)
 19    pygame.display.flip()
 20    time.sleep(5)
 21    pygame.quit()
 22    sys.exit()
 23def main():
 24    # 初始化pygame
 25    pygame.init()
 26    fpsClock = pygame.time.Clock()
 27    # 创建pygame显示层
 28    playSurface = pygame.display.set_mode((600,460))
 29    pygame.display.set_caption('Snake Game')
 30    # 初始化变量
 31    snakePosition = [100,100] #贪吃蛇 蛇头的位置
 32    snakeSegments = [[100,100]] #贪吃蛇 蛇的身体,初始为一个单位
 33    raspberryPosition = [300,300] #树莓的初始位置
 34    raspberrySpawned = 1 #树莓的个数为1
 35    direction = 'right' #初始方向为右
 36    changeDirection = direction
 37    score = 0 #初始得分
 38    while True:
 39        # 检测例如按键等pygame事件
 40        for event in pygame.event.get():
 41            if event.type == QUIT:
 42                pygame.quit()
 43                sys.exit()
 44            elif event.type == KEYDOWN:
 45                # 判断键盘事件
 46                if event.key == K_RIGHT or event.key == ord('d'):
 47                    changeDirection = 'right'
 48                if event.key == K_LEFT or event.key == ord('a'):
 49                    changeDirection = 'left'
 50                if event.key == K_UP or event.key == ord('w'):
 51                    changeDirection = 'up'
 52                if event.key == K_DOWN or event.key == ord('s'):
 53                    changeDirection = 'down'
 54                if event.key == K_ESCAPE:
 55                    pygame.event.post(pygame.event.Event(QUIT))
 56        # 判断是否输入了反方向
 57        if changeDirection == 'right' and not direction == 'left':
 58            direction = changeDirection
 59        if changeDirection == 'left' and not direction == 'right':
 60            direction = changeDirection
 61        if changeDirection == 'up' and not direction == 'down':
 62            direction = changeDirection
 63        if changeDirection == 'down' and not direction == 'up':
 64            direction = changeDirection
 65        # 根据方向移动蛇头的坐标
 66        if direction == 'right':
 67            snakePosition[0] += 20
 68        if direction == 'left':
 69            snakePosition[0] -= 20
 70        if direction == 'up':
 71            snakePosition[1] -= 20
 72        if direction == 'down':
 73            snakePosition[1] += 20
 74        # 增加蛇的长度
 75        snakeSegments.insert(0,list(snakePosition))
 76        # 判断是否吃掉了树莓
 77        if snakePosition[0] == raspberryPosition[0] and snakePosition[1] == raspberryPosition[1]:
 78            raspberrySpawned = 0
 79        else:
 80            snakeSegments.pop()
 81        # 如果吃掉树莓,则重新生成树莓
 82        if raspberrySpawned == 0:
 83            x = random.randrange(1,30)
 84            y = random.randrange(1,23)
 85            raspberryPosition = [int(x*20),int(y*20)]
 86            raspberrySpawned = 1
 87            score += 1
 88        # 绘制pygame显示层
 89        playSurface.fill(blackColour)
 90        for position in snakeSegments:
 91            pygame.draw.rect(playSurface,whiteColour,Rect(position[0],position[1],20,20))
 92            pygame.draw.rect(playSurface,redColour,Rect(raspberryPosition[0], raspberryPosition[1],20,20))
 93        # 刷新pygame显示层
 94        pygame.display.flip()
 95        # 判断是否死亡
 96        if snakePosition[0] > 600 or snakePosition[0] < 0:
 97            gameOver(playSurface,score)
 98        if snakePosition[1] > 460 or snakePosition[1] < 0:
 99            gameOver(playSurface,score)
100        for snakeBody in snakeSegments[1:]:
101            if snakePosition[0] == snakeBody[0] and snakePosition[1] == snakeBody[1]:
102                gameOver(playSurface,score)
103        # 控制游戏速度
104        fpsClock.tick(5)
105
106if __name__ == "__main__":
107    main()

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

python贪吃蛇代码怎么运行,python贪吃蛇代码手机版,pygame,python,开发语言,人工智能

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

python贪吃蛇代码怎么运行,python贪吃蛇代码手机版,pygame,python,开发语言,人工智能

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

python贪吃蛇代码怎么运行,python贪吃蛇代码手机版,pygame,python,开发语言,人工智能

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

python贪吃蛇代码怎么运行,python贪吃蛇代码手机版,pygame,python,开发语言,人工智能

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

python贪吃蛇代码怎么运行,python贪吃蛇代码手机版,pygame,python,开发语言,人工智能
python贪吃蛇代码怎么运行,python贪吃蛇代码手机版,pygame,python,开发语言,人工智能

这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

python贪吃蛇代码怎么运行,python贪吃蛇代码手机版,pygame,python,开发语言,人工智能

到了这里,关于python贪吃蛇代码怎么运行,python贪吃蛇代码手机版的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 手机的python怎么运行文件,python在手机上怎么运行

    手机的python怎么运行文件,python在手机上怎么运行

    大家好,小编来为大家解答以下问题,手机上的python怎么运行程序,手机的python怎么运行文件,今天让我们一起来看看吧! python语言应用很广泛,自己也很喜欢使用它,其实我们也可以直接在自己的安卓手机上做python开发学习,只需要简单的配置下环境就可以了。 首先我们

    2024年02月14日
    浏览(10)
  • 手机上的python怎么运行,python在手机上怎么运行

    手机上的python怎么运行,python在手机上怎么运行

    大家好,小编来为大家解答以下问题,python程序如何在手机端运行,python程序如何在手机上运行,今天让我们一起来看看吧! Source code download: 本文相关源码 大家好,给大家分享一下python写的程序怎么在手机上运行,很多人还不知道这一点。下面详细解释一下熟练掌握Python就

    2024年01月16日
    浏览(4)
  • Python “贪吃蛇”游戏,在不断改进中学习pygame编程

    Python “贪吃蛇”游戏,在不断改进中学习pygame编程

    目录 前言 改进过程一 增加提示信息 原版帮助摘要 pygame.draw pygame.font class Rect class Surface 改进过程二 增加显示得分 改进过程三 增加背景景乐 增加提示音效 音乐切换 静音切换 mixer.music.play 注意事项 原版帮助摘要 pygame.mixer pygame.mixer.Sound 改进过程四 增加WASD方向键 增加退出事

    2024年02月12日
    浏览(12)
  • python在手机上怎么运行,手机怎么用python程序

    python在手机上怎么运行,手机怎么用python程序

    大家好,本文将围绕python在手机上怎么运行展开说明,手机怎么用python程序是一个很多人都想弄明白的事情,想搞清楚手机版的python怎么用需要先了解以下几个事情。 大家好,小编来为大家解答以下问题,手机上的python怎么运行程序,手机的python怎么运行文件,今天让我们一

    2024年02月03日
    浏览(9)
  • python手机版下载安装教程,python手机版怎么运行

    python手机版下载安装教程,python手机版怎么运行

    本篇文章给大家谈谈python手机版下载安装教程,以及python手机版怎么运行,希望对各位有所帮助,不要忘了收藏本站喔。 Source code download: 本文相关源码 文章目录 前言 QPython OH Aid Learning Python入门教程 👉Python学习视频600合集👈 👉实战案例👈 👉100道Python练习题👈 👉面试刷

    2024年01月24日
    浏览(16)
  • python在手机上怎么运行,手机版的python怎么用

    python在手机上怎么运行,手机版的python怎么用

    这篇文章主要介绍了python在手机上怎么运行,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。 如何用手机编程Python? 1.QPython3:这是一个在安卓手机上运行python3的脚本引擎,整合了python3解释器、控制台

    2024年01月16日
    浏览(9)
  • 手机上的python怎么运行,python在手机上怎么操作

    手机上的python怎么运行,python在手机上怎么操作

    大家好,小编来为大家解答以下问题,python在手机上怎么操作,手机上的python怎么运行,现在让我们一起来看看吧! 手机浏览器运行python是因为手机浏览器和python两者之间是可以互相兼容的,手机浏览器可以对python的内容数据进行解压和储存显示,所以才会出现手机浏览器运

    2024年02月08日
    浏览(6)
  • 强化学习Agent系列(一)——PyGame游戏编程,Python 贪吃蛇制作实战教学

    强化学习Agent系列(一)——PyGame游戏编程,Python 贪吃蛇制作实战教学

    大家好,未来的开发者们请上座 随着人工智能的发展,强化学习基本会再次来到人们眼前,遂想制作一下相关的教程。强化学习第一步基本离不开虚拟环境的搭建,下面用大家耳熟能详的贪吃蛇游戏为基础,制作一个Agent,完成对这个游戏的绝杀。 万里长城第一步:用pytho

    2024年01月21日
    浏览(12)
  • 手把手教你使用Python写贪吃蛇游戏(pygame,附源码)

    贪吃蛇游戏是有史以来最受欢迎的街机游戏之一。在这个游戏中,玩家的主要目标是在不撞墙或不撞墙的情况下抓住最大数量的水果。在学习 Python 或 Pygame 时,可以将创建蛇游戏视为一项挑战。这是每个新手程序员都应该接受的最好的初学者友好项目之一。学习构建视频游戏

    2024年02月16日
    浏览(9)
  • 手机上如何运行python代码,手机运行python程序图形

    手机上如何运行python代码,手机运行python程序图形

    大家好,本文将围绕手机上如何运行python代码展开说明,手机如何运行python代码是一个很多人都想弄明白的事情,想搞清楚手机运行python程序图形需要先了解以下几个事情。 一、QPython 3H 1.下载与安装 进入手机“应用市场”,搜索“QPython 3H”,单击“安装”。 2.安装之后在桌

    2024年02月08日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包