制作一款游戏这么简单
简易贪吃蛇小游戏设计
贪吃蛇
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.开发环境 一个编辑器(Visual Studio Code),Powershell和Python. 我花了一些时间来纠结使用C++还是Python,最后我选择了Python, ...
- 几十款游戏的简单分析
文章目录 一. 介绍 二. 影响游戏体验的因素 三. 游戏能爆火的因素 1.影响游戏爆火因素的排名 2.玩游戏的两种经典心理 3.经典案例分析 Qq农场 植物大战僵尸 水果忍者 召唤神龙 羊了个羊 4 ...
- 笔记-【游戏制作教程】30分钟制作一款游戏 (1)【Unity】
本文只记录重要知识点以及涉及到的脚本 API,详细教学过程:视频链接 . 本文中大量关于 API 的描述来自 Unity 官方文档 . 另:学完之后发现这个教程非常非常像这个 Unity 官方教程 . ...
- 如何零基础制作一款自己的游戏!(一)
如何零基础制作一款游戏(一) 文章目录 如何零基础制作一款游戏(一) 前言 一.软件下载以及创建工程 二.使用步骤 1.进入工程 2.设置更改 3.更改界面 4.脚本更改 5.下载插件 6.如何设置障 ...
- Python制作六款经典的童年游戏(附源码)
这里小林分享一下6个python可以制作的经典游戏,看看有没有你的菜, 代码链接放在文末 对了以下游戏皆是小学六年级的代码水平 如有不适,赶快学习 1.雷电 使用模块:pygame 代码长度:490 ...
- 用Python制作十款经典的童年游戏(不会吧不会吧,不会真有人没玩过吧)
不知道大家童年是怎么度过的,黑羽的童年是在游戏世界里度过.这里黑羽分享一下十个python可以制作的经典游戏,看看有没有你的菜,代码链接放在文末 对了以下游戏皆是小学六年级的代码水平 如有不适,赶快学 ...
- python没有pygame_Python制作十款经典的童年游戏(附源码)
不知道行友们每年六一是怎么度过的,行哥的童年是在游戏世界里度过.这里行哥分享一下十个python可以制作的经典游戏,看看有没有你的菜,代码链接放在文末 对了以下游戏皆是小学六年级的代码水平 如有不适, ...
- python创意游戏-Python制作十款经典的童年游戏(附源码)
不知道行友们每年六一是怎么度过的,行哥的童年是在游戏世界里度过.这里行哥分享一下十个python可以制作的经典游戏,看看有没有你的菜,代码链接放在文末 对了以下游戏皆是小学六年级的代码水平 如有不适, ...
- [python教程入门学习]使用Python六步制作小鸟管道游戏(附源码)
现在用Python来制作游戏越来越方便,虽然某些方面有所限制.但是利用Pygame工具包基本能制作所有的2D游戏 在制作的同时对游戏的理解也会更加深刻,因为本质上都是对图片的定位和图片碰撞的判断,从而 ...
- Construct2 第一次制作的小游戏
简单聊聊我是怎么制作出这款游戏 ----------- 游戏介绍 先简单介绍一下游戏玩法 这款游戏中你可以操控女孩上下左右移动,用鼠标点击丘比,女孩会向丘比发射向日葵,如果丘比被向日葵打中三次,丘比就 ...
最新文章
- 贪心 ---- C. Anu Has a Function位运算+贪心证明
- 微软和 SAP 扩展了云环境中的合作关系
- webstorm设置注释颜色_简单5步了解相关矩阵的注释热图
- 京东搞促销,天猫下黑手
- spark-submit使用及说明
- [转载] 1022 D进制的A+B (20分)【java题解】【80ms】
- Linux系统编程9:进程入门之操作系统为什么这么重要以及它是如何实现管理的
- Excel如何处理x,y坐标的合并
- mybatis基于注解(三)
- 直接用自己服务器做图床可以吗_图床趣事
- JSK-16014 打印字母图形【打印图案】
- Cax 渲染的精致响应式饼图
- java获取时间戳单位秒,如何测试给定的时间戳是以秒或毫秒为单位?
- 使用itextpdf进行动态盖章,解决PDF页数不确定时签章位置变化问题
- 金丹期前期:1.11、python语言进阶-网络
- mysql修改表结构会锁表吗_MYSQL完美解决生产环境改表结构锁表问题
- 图的匹配---图论笔记
- 基于GAN的图像修复--论文笔记
- 计算机上如何保存ico格式,PS怎么保存ico格式
- 英伟达GPU产品分类说明
热门文章
- 有限元基础及ANSYS应用 - 第10节 - 实体结构的ANSYS分析
- 对付U盘病毒彻底免疫
- 数据至上的人工智能时代,哪些公开数据集最适合?
- VS2010免注册调用大漠插件
- asp.net 下利用DirectoryEntry验证用户及获取域控制器下的用户结构信息
- kaldi_源码笔记 thchs-30_data_prep
- SSM汽车维修中心管理系统
- Scarpy 学习记录(scrapy爬取双色球,并pyinstaller打包)
- Ubuntu18/Linux 安装 Halcon21.05
- android 5.1 httpclient,【Android进阶学习】Http编程之HttpClient