在自学Python的过程中在网上查询资料时发现了一些好玩的东西,python的游戏库模块,它可以自己弄一个小游戏来玩玩,然后我在网上找了一些游戏的代码,,自己改了一些,弄出了一个简单贪吃蛇,代码也是照着敲的只是稍微的改了一下

import pygame, sys, random, time
from pygame.locals import *  # 从pygame模块导入常用的函数和常量
#定义颜色变量
black_colour = pygame.Color(28, 56, 20)
white_colour = pygame.Color(255, 144, 20)
red_colour = pygame.Color(255,34 , 20)
grey_colour = pygame.Color(150, 150, 150)
#定义游戏结束函数
def GameOver(gamesurface):# 设置提示字体的格式GameOver_font = pygame.font.SysFont("MicrosoftYaHei", 16)# 设置提示字体的颜色GameOver_colour = GameOver_font.render('GameOver', True, grey_colour)#只能英文# 设置提示位置GameOver_location = GameOver_colour.get_rect()GameOver_location.midtop = (310, 200)# 绑定以上设置到句柄gamesurface.blit(GameOver_colour, GameOver_location)# 提示运行信息pygame.display.flip()# 休眠5秒time.sleep(5)# 退出游戏pygame.quit()# 退出程序sys.exit()
#定义主函数
def main():# 初始化pygame,为使用硬件做准备pygame.init()pygame.time.Clock()ftpsClock = pygame.time.Clock()# 创建一个窗口gamesurface = pygame.display.set_mode((640, 480))# 设置窗口的标题pygame.display.set_caption('tanchishe snake')# 初始化变量# 初始化贪吃蛇的起始位置snakeposition = [100, 100]# 初始化贪吃蛇的长度snakelength = [[100, 100], [80, 100], [60, 100]]# 初始化目标方块的位置square_purpose = [300, 300]# 初始化一个数来判断目标方块是否存在square_position = 1# 初始化方向,用来使贪吃蛇移动derection = "right"change_derection = derection# 进行游戏主循环while True:# 检测按键等pygame事件for event in pygame.event.get():if event.type == QUIT:# 接收到退出事件后,退出程序pygame.quit()sys.exit()elif event.type == KEYDOWN:# 判断键盘事件,用w,s,a,d来表示上下左右if event.key == K_RIGHT or event.key == ord('d'):change_derection = "right"if event.key == K_LEFT or event.key == ord('a'):change_derection = "left"if event.key == K_UP or event.key == ord('w'):change_derection = "up"if event.key == K_DOWN or event.key == ord('s'):change_derection = "down"if event.key == K_ESCAPE:pygame.event.post(pygame.event.Event(QUIT))# 判断移动的方向是否相反if change_derection == 'left' and not derection == 'right':derection = change_derectionif change_derection == 'right' and not derection == 'left':derection = change_derectionif change_derection == 'up' and not derection == 'down':derection = change_derectionif change_derection == 'down' and not derection == 'up':derection = change_derection# 根据方向,改变坐标if derection == 'left':snakeposition[0] -= 20if derection == 'right':snakeposition[0] += 20if derection == 'up':snakeposition[1] -= 20if derection == 'down':snakeposition[1] += 20# 增加蛇的长度snakelength.insert(0, list(snakeposition))# 判断是否吃掉目标方块if snakeposition[0] == square_purpose[0] and snakeposition[1] == square_purpose[1]:square_position = 0else:snakelength.pop()# 重新生成目标方块if square_position == 0:# 随机生成x,y,扩大二十倍,在窗口范围内x = random.randrange(1, 32)y = random.randrange(1, 24)square_purpose = [int(x * 20), int(y * 20)]square_position = 1# 绘制pygame显示层gamesurface.fill(black_colour)for position in snakelength:pygame.draw.rect(gamesurface, white_colour, Rect(position[0], position[1], 20, 20))pygame.draw.rect(gamesurface, red_colour, Rect(square_purpose[0], square_purpose[1], 20, 20))# 刷新pygame显示层pygame.display.flip()# 判断是否死亡if snakeposition[0] < 0 or snakeposition[0] > 620:GameOver(gamesurface)if snakeposition[1] < 0 or snakeposition[1] > 460:GameOver(gamesurface)for snakebody in snakelength[1:]:if snakeposition[0] == snakebody[0] and snakeposition[1] == snakebody[1]:GameOver(gamesurface)# 控制游戏速度ftpsClock.tick(8)
if __name__ == "__main__":main()

Python贪吃蛇简单的代码相关推荐

  1. 贪吃蛇python语言代码_Python贪吃蛇简单的代码

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 在自学Python的过程中在网上查询资料时发现了一些好玩的东西,python的游戏库模块,它可以自己弄一个小游戏来玩玩,然后我在网上找了一些游戏的代码,, ...

  2. python 贪吃蛇小游戏代码_10分钟再用Python编写贪吃蛇小游戏

    Python编写贪吃蛇 前不久我们公众号发布了一篇C++编写贪吃蛇小游戏的推文,反响空前.看来大家对这类简单易上手小游戏还是很喜爱的. 恰逢2018年IEEE Spectrum编程语言排行榜新鲜出炉, ...

  3. Python贪吃蛇游戏详细代码和注释

    在写Python游戏项目时,最重要的时python中的pygame库.安装pygame库和用法在我CSDN博客另一篇文章上.这里就不详细说了.下边时运行游戏界面. 下边是详细的代码和注释 import ...

  4. python贪吃蛇小游戏代码_python 贪吃蛇小游戏代码

    #!/usr/bin/python # -*- coding: UTF-8 -*- #作者:黄哥 #链接:https://www.zhihu.com/question/55873159/answer/ ...

  5. python制作贪吃蛇游戏_用Python写贪吃蛇游戏的代码实例

    这篇文章主要为大家详细介绍了Python贪吃蛇游戏的编写代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近在学Python,想做点什么来练练手,命令行的贪吃蛇一般是C的练手项目,但是一时之间 ...

  6. python贪吃蛇程序_Python 实现 贪吃蛇大作战 代码分享

    感觉游戏审核新政实施后,国内手游市场略冷清,是不是各家的新游戏都在排队等审核.媒体们除了之前竞相追捧<Pokemon Go>热闹了一把,似乎也听不到什么声音了.直到最近几天,突然听见好几人 ...

  7. python小游戏代码大全-python贪吃蛇游戏代码

    本文实例为大家分享了python贪吃蛇游戏的具体代码,供大家参考,具体内容如下 贪吃蛇游戏截图: 首先安装pygame,可以使用pip安装pygame: pip install pygame 运行以下 ...

  8. python写一个游戏多少代码-使用Python写一个贪吃蛇游戏实例代码

    我在程序中加入了分数显示,三种特殊食物,将贪吃蛇的游戏逻辑写到了SnakeGame的类中,而不是在Snake类中. 特殊食物: 1.绿色:普通,吃了增加体型 2.红色:吃了减少体型 3.金色:吃了回到 ...

  9. python游戏脚本实例-使用Python写一个贪吃蛇游戏实例代码

    我在程序中加入了分数显示,三种特殊食物,将贪吃蛇的游戏逻辑写到了SnakeGame的类中,而不是在Snake类中. 特殊食物: 1.绿色:普通,吃了增加体型 2.红色:吃了减少体型 3.金色:吃了回到 ...

最新文章

  1. jquery mobile 页面间的传递参数
  2. 你有没有扔过一枚硬币选择正反面?
  3. HDU2015 偶数求和
  4. 华南理工大学网络教育计算机答案,计算机应用基础--随堂练习2019春华南理工大学网络教育答案...
  5. ASP.NET Core Authentication and Authorization
  6. 第三季1:ORTP库的移植与局域网视频传输
  7. python中mean算函数吗_Python numpy.mean函数方法的使用
  8. MyBatis参数为Integer型并赋值为0时判断失误的问题解决
  9. aliyun阿里云视频直播播放器代码
  10. android brvah 分组,Android开源框架BRVAH由来篇
  11. DEAP 框架(遗传算法)模块笔记
  12. 网页格式html转换成pdf的方法,将网页内容转化为PDF的三种方法
  13. html中最小规格字体,font-size【CSS 字体大小】文字大小尺寸
  14. 并行计算 SLIC超像素算法(二) 代码分析
  15. 泪目了,一位轮椅上的清华博士师兄
  16. cryengine3 C++添加结点,制作插件
  17. 返回一个月中最大的天数(适用于2000年到2099年之间)
  18. 产房深夜:8个月胎儿手臂畸形要流产,为保胎医生做了大胆决定
  19. 利用python提取基因cDNA长度,exon数量,pep长度和PI
  20. 前馈神经网络与支持向量机实战 --- 手写数字识别

热门文章

  1. 微型计算机原理求怎样判断数补码,微机原理及应用第一章习题答案
  2. C# EF动态获取连接字符串的MSDTC配置
  3. Python入门——函数封装
  4. 庖丁解牛分词器---源码下载---错误问题解决
  5. 好用的截图及制作gif工具
  6. 数据中心布线方法问答汇总
  7. activiti7 部署流程
  8. ADSL(PPPOE)接入指南
  9. Python学习笔记(21)-目录遍历
  10. JAVA毕业设计计算机office课程平台计算机源码+lw文档+系统+调试部署+数据库