简易贪吃蛇小游戏设计

贪吃蛇

pygame

贪吃蛇


import pygame from pygame import Rectfrom pygame.locals import *import random pygame.init()  t = pygame.time.Clock()
pygame.display.set_caption('Snake')
screen = pygame.display.set_mode((800,700))while True:screen.fill((0,250,150))  dm = 'START'dm1 = 'slither.io'f1 = pygame.font.Font(None,60)f2 = f1.render(dm,True,(255,0,0))f3 = f1.render(dm1,True,(255,0,0))screen.blit(f2,(300,350))screen.blit(f3,(280,100))r1 = Rect(235,340,250,60)pygame.draw.rect(screen,(255,0,0),r1,4)event = pygame.event.poll()  if  event.type == MOUSEBUTTONDOWN:if r1.collidepoint(event.pos):breakpygame.display.update()  snake_head = [150,100]snake_body = [[150,100],[140,100],[130,100],[120,100],[110,100],[100,100],[90,100]]foodx = random.randint(10,60)*10
foody = random.randint(10,60)*10fx = 'right'
score = 0
flag = False
while True: t.tick(10)screen.fill((250,250,250))  for i in range(61):pygame.draw.line(screen,(0,0,255),(50,i*10+50),(650,i*10+50),1)pygame.draw.line(screen,(0,0,255),(i*10+50,50),(i*10+50,650),1)snake_body.insert(0,list(snake_head))snake_body.pop()event = pygame.event.poll()  if event.type == QUIT:pygame.quit()     if event.type == KEYDOWN and event.key == K_UP:  if fx != 'down':fx = 'up'if event.type == KEYDOWN and event.key == K_RIGHT:if fx != 'left':fx = 'right'if event.type == KEYDOWN and event.key == K_LEFT:  if fx != 'right':fx = 'left'if event.type == KEYDOWN and event.key == K_DOWN:  if fx != 'up':fx = 'down'if fx == 'down':snake_head[1]+=10if fx == 'up':snake_head[1]-=10    if fx == 'left':snake_head[0]-=10  if fx == 'right':snake_head[0]+=10for i in snake_body: x = i[0]y = i[1]r2 = Rect(x,y,10,10)pygame.draw.rect(screen,(0,255,0),(x,y,10,10))pygame.draw.rect(screen,(255,0,0),r2,1)pygame.draw.rect(screen,(255,0,0),(foodx,foody,10,10))if snake_head == [foodx,foody]:  score+=1snake_body.append([-10,-10])foodx = random.randint(5,65)*10foody = random.randint(5,65)*10# 绘制弹幕  分数系统dm = 'SCORE:'+str(score)# 设置字体个数和大小font1 = pygame.font.Font(None,50)# 将弹幕变成图片font2 = font1.render(dm,True,(0,0,0))# 将分数绘制到舞台上screen.blit(font2,(300,10))# 游戏获得胜利if score >=10: font5 = pygame.font.Font(None,200)font6 = font5.render('~WIN~',True,(0,235,0))screen.blit(font6,(172,260))pygame.display.update()break# 游戏失败的逻辑head_x = snake_head[0]head_y = snake_head[1]# 判断碰撞边界位置失败if head_x<50 or head_x>=650 or head_y<50 or head_y>=650: flag = True# 蛇咬到自己失败if snake_head in snake_body[1:]:  flag = Trueif flag:  # 在游戏失败之后 进行重启游戏while True: font3 = pygame.font.Font(None,80)font4 = font3.render('GAME OVER',True,(255,0,0))screen.blit(font4,(200,300))pygame.display.update()event = pygame.event.poll()  if event.type == QUIT:pygame.quit()             if event.type == KEYDOWN and event.key == K_RETURN:snake_head = [150,100]snake_body = [[150,100],[140,100],[130,100],[120,100],[110,100],[100,100],[90,100]]foodx = random.randint(5,65)*10foody = random.randint(5,65)*10fx = 'right'score = 0flag = Falsebreakpygame.display.update()  

制作一款游戏这么简单相关推荐

  1. 从零开始制作一款游戏

    从零开始制作一款游戏 1.开发环境 一个编辑器(Visual Studio Code),Powershell和Python. 我花了一些时间来纠结使用C++还是Python,最后我选择了Python, ...

  2. 几十款游戏的简单分析

    文章目录 一. 介绍 二. 影响游戏体验的因素 三. 游戏能爆火的因素 1.影响游戏爆火因素的排名 2.玩游戏的两种经典心理 3.经典案例分析 Qq农场 植物大战僵尸 水果忍者 召唤神龙 羊了个羊 4 ...

  3. 笔记-【游戏制作教程】30分钟制作一款游戏 (1)【Unity】

    本文只记录重要知识点以及涉及到的脚本 API,详细教学过程:视频链接 . 本文中大量关于 API 的描述来自 Unity 官方文档 . 另:学完之后发现这个教程非常非常像这个 Unity 官方教程 . ...

  4. 如何零基础制作一款自己的游戏!(一)

    如何零基础制作一款游戏(一) 文章目录 如何零基础制作一款游戏(一) 前言 一.软件下载以及创建工程 二.使用步骤 1.进入工程 2.设置更改 3.更改界面 4.脚本更改 5.下载插件 6.如何设置障 ...

  5. Python制作六款经典的童年游戏(附源码)

    这里小林分享一下6个python可以制作的经典游戏,看看有没有你的菜, 代码链接放在文末 对了以下游戏皆是小学六年级的代码水平 如有不适,赶快学习 1.雷电 使用模块:pygame 代码长度:490 ...

  6. 用Python制作十款经典的童年游戏(不会吧不会吧,不会真有人没玩过吧)

    不知道大家童年是怎么度过的,黑羽的童年是在游戏世界里度过.这里黑羽分享一下十个python可以制作的经典游戏,看看有没有你的菜,代码链接放在文末 对了以下游戏皆是小学六年级的代码水平 如有不适,赶快学 ...

  7. python没有pygame_Python制作十款经典的童年游戏(附源码)

    不知道行友们每年六一是怎么度过的,行哥的童年是在游戏世界里度过.这里行哥分享一下十个python可以制作的经典游戏,看看有没有你的菜,代码链接放在文末 对了以下游戏皆是小学六年级的代码水平 如有不适, ...

  8. python创意游戏-Python制作十款经典的童年游戏(附源码)

    不知道行友们每年六一是怎么度过的,行哥的童年是在游戏世界里度过.这里行哥分享一下十个python可以制作的经典游戏,看看有没有你的菜,代码链接放在文末 对了以下游戏皆是小学六年级的代码水平 如有不适, ...

  9. [python教程入门学习]使用Python六步制作小鸟管道游戏(附源码)

    现在用Python来制作游戏越来越方便,虽然某些方面有所限制.但是利用Pygame工具包基本能制作所有的2D游戏 在制作的同时对游戏的理解也会更加深刻,因为本质上都是对图片的定位和图片碰撞的判断,从而 ...

  10. Construct2 第一次制作的小游戏

    简单聊聊我是怎么制作出这款游戏 ----------- 游戏介绍 先简单介绍一下游戏玩法 这款游戏中你可以操控女孩上下左右移动,用鼠标点击丘比,女孩会向丘比发射向日葵,如果丘比被向日葵打中三次,丘比就 ...

最新文章

  1. 贪心 ---- C. Anu Has a Function位运算+贪心证明
  2. 微软和 SAP 扩展了云环境中的合作关系
  3. webstorm设置注释颜色_简单5步了解相关矩阵的注释热图
  4. 京东搞促销,天猫下黑手
  5. spark-submit使用及说明
  6. [转载] 1022 D进制的A+B (20分)【java题解】【80ms】
  7. Linux系统编程9:进程入门之操作系统为什么这么重要以及它是如何实现管理的
  8. Excel如何处理x,y坐标的合并
  9. mybatis基于注解(三)
  10. 直接用自己服务器做图床可以吗_图床趣事
  11. JSK-16014 打印字母图形【打印图案】
  12. Cax 渲染的精致响应式饼图
  13. java获取时间戳单位秒,如何测试给定的时间戳是以秒或毫秒为单位?
  14. 使用itextpdf进行动态盖章,解决PDF页数不确定时签章位置变化问题
  15. 金丹期前期:1.11、python语言进阶-网络
  16. mysql修改表结构会锁表吗_MYSQL完美解决生产环境改表结构锁表问题
  17. 图的匹配---图论笔记
  18. 基于GAN的图像修复--论文笔记
  19. 计算机上如何保存ico格式,PS怎么保存ico格式
  20. 英伟达GPU产品分类说明

热门文章

  1. 有限元基础及ANSYS应用 - 第10节 - 实体结构的ANSYS分析
  2. 对付U盘病毒彻底免疫
  3. 数据至上的人工智能时代,哪些公开数据集最适合?
  4. VS2010免注册调用大漠插件
  5. asp.net 下利用DirectoryEntry验证用户及获取域控制器下的用户结构信息
  6. kaldi_源码笔记 thchs-30_data_prep
  7. SSM汽车维修中心管理系统
  8. Scarpy 学习记录(scrapy爬取双色球,并pyinstaller打包)
  9. Ubuntu18/Linux 安装 Halcon21.05
  10. android 5.1 httpclient,【Android进阶学习】Http编程之HttpClient