大家好,相信学习过Python的朋友们都知道Python中有很多好玩好用的模块,今天我们就来介绍一个模块--pygame

安装方法:pip install pygame

现在就是怎么制作了,我们首先定义了游戏结束自动关闭界面

然后定义一个长640,宽500的主窗口

紧接着就是while True来控制射的运动

最后就要画蛇和目标方块

然后我们以主窗口来运行它

运行结果如图

源代码我放在下面,需要的自取

# -*- coding: utf-8 -*-
'''
Author:郑某
'''import datetime
import pygame,sys,randomfrom pygame.locals import *print("当前年份: "+str(datetime.datetime.now().year))
print("当前日期时间 "+datetime.datetime.now().strftime('%y-%m-%d %H:%M:%S'))redColour = pygame.Color(255,0,0)blackColour = pygame.Color(0,0,0)whiteColour = pygame.Color(255,255,255)def gameOver():pygame.quit()sys.exit()def main():pygame.init()fpsClock = pygame.time.Clock()playSurface = pygame.display.set_mode((640,500)) # 创建游戏界面的大小pygame.display.set_caption('贪吃蛇') # 创建游戏标题snakePosition = [100,100]snakeBody = [[100,100],[80,100],[60,100]]targetPosition = [300,300]targetflag = 1direction = 'right'changeDirection = directionwhile True:for event in pygame.event.get():if event.type == QUIT:pygame.quit()sys.exit()elif event.type == KEYDOWN:if event.key == K_RIGHT or event.key == ord('d'):changeDirection = 'right'if event.key == K_LEFT or event.key == ord('a'):changeDirection = 'left'if event.key == K_UP or event.key == ord('w'):changeDirection = 'up'if event.key == K_DOWN or event.key == ord('s'):changeDirection = 'down'if event.key == K_ESCAPE:pygame.event.post(pygame.event.Event(QUIT))if changeDirection == 'left' and not direction == 'right':direction = changeDirectionif changeDirection == 'right' and not direction == 'left':direction = changeDirectionif changeDirection == 'up' and not direction == 'down':direction = changeDirectionif changeDirection == 'down' and not direction == 'up':direction = changeDirection#3.7 根据方向移动蛇头的坐标if direction == 'right':snakePosition[0] += 20if direction == 'left':snakePosition[0] -= 20if direction == 'up':snakePosition[1] -= 20if direction == 'down':snakePosition[1] += 20snakeBody.insert(0,list(snakePosition))if snakePosition[0] == targetPosition[0] and snakePosition[1] == targetPosition[1]:targetflag = 0else:snakeBody.pop()if targetflag == 0:x = random.randrange(1,32)y = random.randrange(1,24)targetPosition = [int(x*20),int(y*20)]targetflag = 1playSurface.fill(blackColour)for position in snakeBody:  #rect(Surface, color, Rect, width=0)pygame.draw.rect(playSurface,whiteColour,Rect(position[0],position[1],20,20))#画蛇pygame.draw.rect(playSurface,redColour,Rect(targetPosition[0], targetPosition[1],20,20)) #画目标方块pygame.display.flip()if snakePosition[0] > 620 or snakePosition[0] < 0:gameOver()elif snakePosition[1] > 460 or snakePosition[1] < 0:gameOver()fpsClock.tick(5)if __name__ == "__main__":      #主窗口运行该程序main()

Python小游戏--贪吃蛇相关推荐

  1. 用pygame做一个简单的python小游戏---贪吃蛇

    用pygame做一个简单的python小游戏-贪吃蛇 贪吃蛇游戏博客链接:(方法一样,语言不一样) c++贪吃蛇:https://blog.csdn.net/weixin_46791942/artic ...

  2. Python小游戏贪吃蛇

    欢迎大家访问我的个人博客:https://jmbaozi.top/ 我之前看到即友的一个结课作业,用python做了一个迷宫游戏,在这里放一下链接,感兴趣的可以去看看.当时我也想做一个,但是看了看源码 ...

  3. Python小游戏(贪吃蛇)

    玩法:童年经典,普通魔术也没啥意思,小时候玩的也是加速的. 源码分享: import cfg import sys import pygame from modules import *'''主函数' ...

  4. python:小游戏“贪吃蛇大作战“!

    代码: import pygame import sys import random from pygame.locals import * class Snake(object): #制作背景和蛇. ...

  5. python小游戏贪吃蛇下载_python小游戏之贪吃蛇

    importpygame,sys,time,randomfrom pygame.locals import * #定义颜色变量 redColour = pygame.Color(255,0,0) bl ...

  6. python小游戏贪吃蛇源码下载

    回车键:开始游戏,空格键:暂停 / 继续,方向键 或 WSAD 键:控制移动方向 下载地址

  7. python小游戏 贪吃蛇小游戏设计与实现

    文章目录 0 项目简介 1 游戏介绍 2 实现效果 3 开发工具 3.1 环境配置 3.2 Pygame介绍 4 具体实现 5 最后 0 项目简介

  8. Python命令行小游戏—贪吃蛇

    Python命令行小游戏-贪吃蛇 前言 一.贪吃蛇游戏初始界面及地图 1.游戏初始界面 2.游戏地图 二.命令符的设置.输出刷新和按键检测 1.库支持 2.c语言代码 3.Python代码(变量初始化 ...

  9. 【python小游戏】用python写一款小游戏--贪吃蛇

    大家好,我是爱吃饼干的小白鼠,今天给大家分享一款自制小游戏.如何用python编写贪吃蛇. 今天,突发奇想的想用python写一款小游戏--贪吃蛇.相信大家都玩过,那么玩一款自己写的是一种什么样的体验 ...

  10. 做一个简单的java小游戏--贪吃蛇

    做一个简单的java小游戏–贪吃蛇 贪吃蛇游戏博客链接:(方法一样,语言不一样) c++贪吃蛇:https://blog.csdn.net/weixin_46791942/article/detail ...

最新文章

  1. Python控制流---while循环
  2. Cygwin编译cef
  3. 读书感想--list/BSS等等
  4. JS正则表达式使用详解
  5. 这名程序员28岁就退休了。。。
  6. Vim直接打开Tampermonkey网址的方法。
  7. python3多进程写时拷贝_python多进程实现复制文件
  8. 二胎妈妈,35岁,年薪70万,家庭工作平衡太难,要不要辞职?
  9. Flutter之SnackBar原理详解
  10. Scrapy 1.4 文档 02 安装指南
  11. java8 新特性实践
  12. 孙玄:“玄姐”,特立独行的架构师
  13. Windows无法访问指定设备,路径或文件.您可能没有合适的权限访问这个项目
  14. Learn OpenCV之Convex Hull
  15. 工作日时间差/考勤计算(SQL 自定义函数)
  16. 睡眠手环APP开发上线
  17. Router接口及连接
  18. 微信平台:数字藏品平台出现二级交易市场违规封号
  19. IT界十年最重要10家公司排行榜
  20. 世界顶级思维(必须收藏)

热门文章

  1. objective-c 汇编语言,Objective-C和C的区别?
  2. 6010dn 华为 组网 胖ap_家庭网络AC+AP升级改造记录
  3. springmuvc如何设置jsp的input跳转_小程序有链接吗?如何获取小程序的链接?
  4. sudo: vim:找不到命令_linux常用命令(3)
  5. linux重新初始化mysql 并修改大小写铭感_在Linux(Centos 7)环境下安装Mysql的完整过程...
  6. C/C++中的位运算
  7. python 连接mysql视频教程_Python操作MySQL视频教程
  8. 基于SSM框架之众筹网站项目
  9. Go 能拯救已经失败的可视化编程?
  10. 海量数据插入数据库的快速方案