当前位置: 首页 > news >正文

宜兴网站建设运用django做网站

宜兴网站建设,运用django做网站,a站进入,成都品牌推广今天我们开始Pygame的第六课#xff0c;前几节课的内容在这里【点我】#xff0c;欢迎大家前去考古#xff1a; 今天我们一起来学习制作一个小游戏【贪吃蛇】#xff0c;这是一个非常经典的小游戏#xff0c;那么我们一起开始吧 1、游戏准备工作 import pygame, random,o…今天我们开始Pygame的第六课前几节课的内容在这里【点我】欢迎大家前去考古 今天我们一起来学习制作一个小游戏【贪吃蛇】这是一个非常经典的小游戏那么我们一起开始吧 1、游戏准备工作 import pygame, random,os # 导入pygame模块和random、os模块os.environ[SDL_VIDEO_WINDOW_POS]100,100 # 设置环境变量设置窗口的位置在屏幕左上角(100,100)的位置pygame.init() # 初始化pygametime_clock pygame.time.Clock() # 创建一个Clock对象用于控制游戏的速度sc pygame.display.set_mode((640, 480)) # 创建一个窗口大小为640x480像素 pygame.display.set_caption(贪吃蛇) # 设置窗口标题为“贪吃蛇”font pygame.font.SysFont(宋体, 48 , True) # 创建一个字体对象字体为宋体大小为48像素加粗显示pink (255, 182, 193) # 定义颜色pink为RGB值(255, 182, 193) violet (238,130,238) # 定义颜色violet为RGB值(238,130,238) white (255, 255, 255) # 定义颜色white为RGB值(255, 255, 255) green (0,255,0) # 定义颜色green为RGB值(0,255,0) red (255,0,0) # 定义颜色red为RGB值(255,0,0) 这里的代码每一行都加了注释 os.environ[SDL_VIDEO_WINDOW_POS]100,100这一行是指运行代码时Pygame以左上角 的初始位置 time_clock pygame.time.Clock() 创建一个Clock对象用于控制游戏的速度 2、接下来我们创建一个 【贪吃蛇】类 class Snake():def __init__(self):self.direction right# 定义一个贪吃蛇的长度列表其中有几个元素就代表有几段身体self.body [[100, 100], [80, 100]]self.head list(self.body[0]) # 蛇头位置def draw_me(self):# 绘制身体for b in self.body:pygame.draw.rect(sc, green, (b[0], b[1], 20, 20))def move_head(self):# 根据方向移动蛇头if self.direction right:self.head[0] 20elif self.direction left:self.head[0] - 20elif self.direction up:self.head[1] - 20elif self.direction down:self.head[1] 20def add_body(self):self.body.insert(0, list(self.head))def cut_tail(self):self.body.pop()def move_snake(self):self.add_body()self.cut_tail()代码注释 self.direction right指【贪吃蛇】出生时的初始方向 self.body [[100, 100], [80, 100]]初始的小方格坐标(以左上角为原点) self.head list(self.body[0]) # 蛇头位置蛇头的坐标 函数【draw_me】利用*pygame.draw.rect(sc, green, (b[0], b[1], 20, 20))*这个在第三节课中有讲过点我复习第三节课 函数【move_head】移动函数左右移动和X轴有关系所以代码里取头的*head[0]上下移动和Y轴有关系所以代码里取头的head[1]* 函数【add_body】增加身体的小方格这个是吃到食物调用的函数 函数【cut_tail】这个是删除尾巴的小方格 函数【move_snake】这个函数中调用了【add_bodycut_tail】头加一个尾巴减一个头加一个尾巴减一个头加一个尾巴减一个…这就是移动 3、接下来我们创建一个 【贪吃蛇】类 # 食物类的设计 class Food():def __init__(self):self.colorwhite#知识进阶-双倍奖励#self.colorrandom.choice([white,pink])x random.randrange(0, 640,20)y random.randrange(0, 480,20)self.postion [x,y]def draw_me(self):pygame.draw.rect(sc, self.color, (self.postion[0], self.postion[1], 20, 20))def reset(self):x random.randrange(0, 640,20)y random.randrange(0, 480,20)self.postion [x,y]#知识进阶-双倍奖励#self.colorrandom.choice([white,pink])代码注释 self.colorwhite,食物初始颜色是白色 x random.randrange(0, 640,20)y random.randrange(0, 480,20)这是指食物不可超过游戏的界面大小X轴在0到640步长为20Y轴上为0到480步长为20都是随机的 知识进阶-双倍奖励 self.colorrandom.choice([white,pink])颜色可随机挑选 4、收尾 food Food() snake Snake() while True:len_text font.render(Length: str(len(snake.body)),True,red)# 从队列中获取事件for event in pygame.event.get():# 判断是否为退出事件if event.type pygame.QUIT:pygame.quit()# 按键事件elif event.type pygame.KEYDOWN:if event.key pygame.K_RIGHT:if snake.direction ! left:snake.direction rightif event.key pygame.K_LEFT:if snake.direction ! right:snake.direction leftif event.key pygame.K_UP:if snake.direction ! down:snake.direction upif event.key pygame.K_DOWN:if snake.direction ! up:snake.direction down# 判断是否吃到食物if snake.head food.postion:food.reset()snake.add_body()#知识进阶-双倍奖励if food.colorwhite:food.reset()snake.add_body()else:food.reset()snake.add_body()snake.add_body()# 判断是否碰到边缘if snake.head[0] 620 or snake.head[0] 0:breakif snake.head[1] 460 or snake.head[1] 0:break# 移动头部和身体snake.move_head()snake.move_snake()# 绘制游戏界面sc.fill(violet)snake.draw_me()food.draw_me()sc.blit(len_text ,(50,20))pygame.display.update()# 控制游戏速度time_clock.tick(3) # 动手实践-GAME OVER len_text font.render(GAME OVER,True,red) sc.blit(len_text ,(200,200)) pygame.display.update() input()代码注释 # 判断是否碰到边缘这是判断小蛇是否移动出窗口的外面否则就停止游戏 if snake.head[0] 620 or snake.head[0] 0:break if snake.head[1] 460 or snake.head[1] 0:breaksc.fill(violet)游戏背景颜色可以自己更换 time_clock.tick(3) 控制游戏速度 控制游戏速度越大越快 5、完整版代码 import pygame, random,os os.environ[SDL_VIDEO_WINDOW_POS]100,100 # 初始化 pygame.init() # 定义一个变量来控制速度 time_clock pygame.time.Clock()# 创建窗口定义标题 sc pygame.display.set_mode((640, 480)) pygame.display.set_caption(贪吃蛇) # 实例化字体对象 font pygame.font.SysFont(宋体, 48 , True) # 定义颜色 pink (255, 182, 193) violet (238,130,238) white (255, 255, 255) green (0,255,0) red (255,0,0) class Snake():def __init__(self):self.direction right# 定义一个贪吃蛇的长度列表其中有几个元素就代表有几段身体self.body [[100, 100], [80, 100]]self.head list(self.body[0]) # 蛇头位置def draw_me(self):# 绘制身体for b in self.body:pygame.draw.rect(sc, green, (b[0], b[1], 20, 20))def move_head(self):# 根据方向移动蛇头if self.direction right:self.head[0] 20elif self.direction left:self.head[0] - 20elif self.direction up:self.head[1] - 20elif self.direction down:self.head[1] 20def add_body(self):self.body.insert(0, list(self.head))def cut_tail(self):self.body.pop()def move_snake(self):self.add_body()self.cut_tail()# 食物类的设计 class Food():def __init__(self):self.colorwhite#知识进阶-双倍奖励#self.colorrandom.choice([white,pink])x random.randrange(0, 640,20)y random.randrange(0, 480,20)self.postion [x,y]def draw_me(self):pygame.draw.rect(sc, self.color, (self.postion[0], self.postion[1], 20, 20))def reset(self):x random.randrange(0, 640,20)y random.randrange(0, 480,20)self.postion [x,y]#知识进阶-双倍奖励#self.colorrandom.choice([white,pink])food Food() snake Snake() while True:len_text font.render(Length: str(len(snake.body)),True,red)# 从队列中获取事件for event in pygame.event.get():# 判断是否为退出事件if event.type pygame.QUIT:pygame.quit()# 按键事件elif event.type pygame.KEYDOWN:if event.key pygame.K_RIGHT:if snake.direction ! left:snake.direction rightif event.key pygame.K_LEFT:if snake.direction ! right:snake.direction leftif event.key pygame.K_UP:if snake.direction ! down:snake.direction upif event.key pygame.K_DOWN:if snake.direction ! up:snake.direction down# 判断是否吃到食物if snake.head food.postion:food.reset()snake.add_body()#知识进阶-双倍奖励if food.colorwhite:food.reset()snake.add_body()else:food.reset()snake.add_body()snake.add_body()# 判断是否碰到边缘if snake.head[0] 620 or snake.head[0] 0:breakif snake.head[1] 460 or snake.head[1] 0:break# 移动头部和身体snake.move_head()snake.move_snake()# 绘制游戏界面sc.fill(violet)snake.draw_me()food.draw_me()sc.blit(len_text ,(50,20))pygame.display.update()# 控制游戏速度time_clock.tick(3) # 动手实践-GAME OVER len_text font.render(GAME OVER,True,red) sc.blit(len_text ,(200,200)) pygame.display.update() input()希望对大家有帮助 致力于办公自动化的小小程序员一枚# 都看到这了关注点赞收藏不迷路 如果你想知道更多关于Python办公自动化的知识各位大佬给个关注吧
http://www.dnsts.com.cn/news/89942.html

相关文章:

  • 做小型网站的公司网络公司推荐
  • 网站蜘蛛爬行统计Qq wordpress
  • 发任务做任务得网站wordpress 总变量
  • 台州网站定制wap是什么意思的缩写
  • 1688货源网官方网站入口注册一个公司需要什么条件
  • 搭建免费个人网站2022网站设计发展趋势
  • 网站建设会议纪要apmserv 设置网站目录
  • 企业网站的建设流程包含哪些环节用iis为公司做一个内部网站
  • 一般做哪些外贸网站网站开发跟网页制作
  • 郑州建站时间黑龙江开放网站备案
  • 网站流量怎么算的秦皇岛高端网站设计
  • 行业网站建设详解旅游网站建设步骤
  • 网站建设的公司服务利用淘宝联盟做网站赚取佣金
  • 站内seo是什么意思软件开发文档范例
  • 售后服务规范网站建设电影采集网站怎么做
  • 浙江省建设政务网站酒店网站建设与设计公司
  • 一个做问卷调查的网站好制造企业网站的建设目标
  • 建设网站收废品推广软件赚钱
  • 网站设计配色怎么做wordpress侧栏
  • 网站添加微信支付余姚关键词优化公司
  • tomcat做网站并发网站建设确认表
  • 没有网站没有推广如何做外贸请多记几个本站域名防止
  • 珠海网站设计网络优化网盘资源共享网站
  • 制作京东网站建设做外贸的阿里巴巴网站是哪个好
  • 如何做网站活动封面propulsion wordpress
  • 装修素材图片都从什么网站找南头专业的网站建设公司
  • 高校档案馆网站建设客户管理系统功能描述
  • 玉环城乡建设规划局网站锦江网站建设
  • 重庆 企业网站建设wordpress图文排版
  • 使用jsp开发的网站怎么里ip做网站