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

买空间服务器做网站怎么弄做网站排名公司推荐

买空间服务器做网站怎么弄,做网站排名公司推荐,王占山 同济大学,公司网页网站建设 pptPython 小游戏——贪吃蛇 文章目录 Python 小游戏——贪吃蛇项目介绍环境配置代码设计思路1. 初始化和变量定义2. 创建游戏窗口和FPS控制器3. 初始化贪吃蛇和食物的位置4. 控制贪吃蛇的方向和分数5. 主游戏循环 难点分析源代码呈现代码结果 项目介绍 贪吃蛇游戏是一款通过上下…Python 小游戏——贪吃蛇 文章目录 Python 小游戏——贪吃蛇项目介绍环境配置代码设计思路1. 初始化和变量定义2. 创建游戏窗口和FPS控制器3. 初始化贪吃蛇和食物的位置4. 控制贪吃蛇的方向和分数5. 主游戏循环 难点分析源代码呈现代码结果 项目介绍 贪吃蛇游戏是一款通过上下左右方向键控制贪吃蛇吃到豆豆以获取积分的游戏该项目使用Python语言进行实现。主要使用了Pygame库来处理图形和用户输入。 环境配置 该项目需要在Pycharm的终端中执行以下指令来安装Pygame库 pip install pygame具体步骤如下 打开你的PyCharm项目。选择顶部菜单栏中的 “View” 菜单。选择 “Tool Windows” - “Terminal” 以打开PyCharm的终端窗口。在终端窗口中输入 pip install pygame 并按回车键执行。 代码设计思路 1. 初始化和变量定义 首先我们初始化Pygame并定义一些常量包括窗口大小、贪吃蛇的速度和颜色。 import pygame import time import random# 初始化Pygame pygame.init()# 定义一些常量 window_x 720 window_y 480 snake_block 10 snake_speed 15# 定义颜色 black pygame.Color(0, 0, 0) white pygame.Color(255, 255, 255) red pygame.Color(255, 0, 0) green pygame.Color(0, 255, 0) blue pygame.Color(0, 0, 255)2. 创建游戏窗口和FPS控制器 接着创建游戏窗口并设置标题同时创建FPS控制器来控制游戏的帧率。 # 创建游戏窗口 pygame.display.set_caption(Greedy Snake) game_window pygame.display.set_mode((window_x, window_y))# FPS控制器 fps pygame.time.Clock()3. 初始化贪吃蛇和食物的位置 定义贪吃蛇的默认位置和身体以及食物的位置和生成状态。 # 定义贪吃蛇的默认位置 snake_pos [100, 50]# 定义贪吃蛇的身体 snake_body [[100, 50], [90, 50], [80, 50]]# 定义食物的位置 food_pos [random.randrange(1, (window_x // 10)) * 10, random.randrange(1, (window_y // 10)) * 10] food_spawn True4. 控制贪吃蛇的方向和分数 设置贪吃蛇的默认移动方向和分数同时定义显示分数和结束游戏的函数。 # 设置默认方向 direction RIGHT change_to direction# 初始化分数 score 0# 显示分数 def show_score(choice, color, font, size):score_font pygame.font.SysFont(font, size)score_surface score_font.render(Score : str(score), True, color)score_rect score_surface.get_rect()game_window.blit(score_surface, score_rect)# 结束游戏 def game_over():my_font pygame.font.SysFont(times new roman, 50)game_over_surface my_font.render(Your Score is : str(score), True, red)game_over_rect game_over_surface.get_rect()game_over_rect.midtop (window_x / 2, window_y / 4)game_window.blit(game_over_surface, game_over_rect)pygame.display.flip()time.sleep(2)pygame.quit()quit()5. 主游戏循环 在主游戏循环中处理用户输入、更新贪吃蛇的位置、检测碰撞以及显示当前状态。 # 主函数 while True:for event in pygame.event.get():if event.type pygame.QUIT:pygame.quit()quit()elif event.type pygame.KEYDOWN:if event.key pygame.K_UP:change_to UPelif event.key pygame.K_DOWN:change_to DOWNelif event.key pygame.K_LEFT:change_to LEFTelif event.key pygame.K_RIGHT:change_to RIGHT# 确保贪吃蛇不能反向移动if change_to UP and direction ! DOWN:direction change_toif change_to DOWN and direction ! UP:direction change_toif change_to LEFT and direction ! RIGHT:direction change_toif change_to RIGHT and direction ! LEFT:direction change_to# 移动贪吃蛇if direction UP:snake_pos[1] - 10if direction DOWN:snake_pos[1] 10if direction LEFT:snake_pos[0] - 10if direction RIGHT:snake_pos[0] 10# 增加贪吃蛇的长度snake_body.insert(0, list(snake_pos))if snake_pos[0] food_pos[0] and snake_pos[1] food_pos[1]:score 10food_spawn Falseelse:snake_body.pop()if not food_spawn:food_pos [random.randrange(1, (window_x // 10)) * 10, random.randrange(1, (window_y // 10)) * 10]food_spawn Truegame_window.fill(black)for pos in snake_body:pygame.draw.rect(game_window, green, pygame.Rect(pos[0], pos[1], snake_block, snake_block))pygame.draw.rect(game_window, red, pygame.Rect(food_pos[0], food_pos[1], snake_block, snake_block))if snake_pos[0] 0 or snake_pos[0] window_x - snake_block:game_over()if snake_pos[1] 0 or snake_pos[1] window_y - snake_block:game_over()for block in snake_body[1:]:if snake_pos[0] block[0] and snake_pos[1] block[1]:game_over()show_score(1, white, times new roman, 20)pygame.display.update()fps.tick(snake_speed)难点分析 方向控制 确保贪吃蛇不能反向移动。这通过在检查方向变更时加入条件来实现例如当前方向是向上时不能变更为向下。 碰撞检测 需要检测贪吃蛇是否碰到边界或者自身这通过比较贪吃蛇头部的位置与边界和自身身体的位置来实现。 食物生成 随机生成食物的位置需要确保食物生成的位置不在贪吃蛇身体上。 源代码 import pygame import time import random# 初始化Pygame pygame.init()# 定义一些常量 window_x 720 window_y 480 snake_block 10 snake_speed 15# 定义颜色 black pygame.Color(0, 0, 0) white pygame.Color(255, 255, 255) red pygame.Color(255, 0, 0) green pygame.Color(0, 255, 0) blue pygame.Color(0, 0, 255)# 创建游戏窗口 pygame.display.set_caption(Greedy Snake) game_window pygame.display.set_mode((window_x, window_y))# FPS控制器 fps pygame.time.Clock()# 定义贪吃蛇的默认位置 snake_pos [100, 50]# 定义贪吃蛇的身体 snake_body [[100, 50], [90, 50], [80, 50]]# 定义食物的位置 food_pos [random.randrange(1, (window_x // 10)) * 10, random.randrange(1, (window_y // 10)) * 10] food_spawn True# 设置默认方向 direction RIGHT change_to direction# 初始化分数 score 0# 显示分数 def show_score(choice, color, font, size):score_font pygame.font.SysFont(font, size)score_surface score_font.render(Score : str(score), True, color)score_rect score_surface.get_rect()game_window.blit(score_surface, score_rect)# 结束游戏 def game_over():my_font pygame.font.SysFont(times new roman, 50)game_over_surface my_font.render(Your Score is : str(score), True, red)game_over_rect game_over_surface.get_rect()game_over_rect.midtop (window_x / 2, window_y / 4)game_window.blit(game_over_surface, game_over_rect)pygame.display.flip()time.sleep(2)pygame.quit()quit()# 主函数 while True:for event in pygame.event.get():if event.type pygame.QUIT:pygame.quit()quit()elif event.type pygame.KEYDOWN:if event.key pygame.K_UP:change_to UPelif event.key pygame.K_DOWN:change_to DOWNelif event.key pygame.K_LEFT:change_to LEFTelif event.key pygame.K_RIGHT:change_to RIGHT# 确保贪吃蛇不能反向移动if change_to UP and direction ! DOWN:direction change_toif change_to DOWN and direction ! UP:direction change_toif change_to LEFT and direction ! RIGHT:direction change_toif change_to RIGHT and direction ! LEFT:direction change_to# 移动贪吃蛇if direction UP:snake_pos[1] - 10if direction DOWN:snake_pos[1] 10if direction LEFT:snake_pos[0] - 10if direction RIGHT:snake_pos[0] 10# 增加贪吃蛇的长度snake_body.insert(0, list(snake_pos))if snake_pos[0] food_pos[0] and snake_pos[1] food_pos[1]:score 10food_spawn Falseelse:snake_body.pop()if not food_spawn:food_pos [random.randrange(1, (window_x // 10)) * 10, random.randrange(1, (window_y // 10)) * 10]food_spawn Truegame_window.fill(black)for pos in snake_body:pygame.draw.rect(game_window, green, pygame.Rect(pos[0], pos[1], snake_block, snake_block))pygame.draw.rect(game_window, red, pygame.Rect(food_pos[0], food_pos[1], snake_block, snake_block))if snake_pos[0] 0 or snake_pos[0] window_x - snake_block:game_over()if snake_pos[1] 0 or snake_pos[1] window_y - snake_block:game_over()for block in snake_body[1:]:if snake_pos[0] block[0] and snake_pos[1] block[1]:game_over()show_score(1, white, times new roman, 20)pygame.display.update()fps.tick(snake_speed)呈现代码结果 该项目效果如图所示
http://www.hkea.cn/news/14346000/

相关文章:

  • 做seo网站图片怎么优化企业seo关键字优化
  • 公司网站的ftp是什么做网站图片为什么不清晰
  • 张家港建网站费用免费ppt模板下载公众号
  • 网站建设技术支持 会天下如何免费建购物网站
  • wordpress 站内搜索 慢wordpress 织梦转换
  • 宝塔设置加速wordpress站点成都网站设计开发做得好
  • 杨浦网站建设公司网站备案有什么要求
  • 做视频网站需要什么空间吗天眼通公司查询在线
  • 东莞模板网站设计网站建设学习要多久
  • 商丘网站制作教程浙江省城乡建设网站
  • 莆田网站开发公司免费制作相册影集
  • wordpress资源站模板网络seo啥意思
  • 网站优化工具升上去医疗机构网站模板
  • 主机屋建网站源码网站优化怎么做分录
  • 烟台网站建设方案策划全球最火的十大游戏
  • 宁波网站推广运营项目网址大全
  • 监测网站定制外地人在海南注册公司
  • 深圳网站制作企业邮箱交换链接营销的典型案例
  • 网站服务器空间大小asp.net 网站管理系统
  • 网站放假通知开网店的流程和步骤
  • 网站站内交换链接怎么做如何进行网站检查
  • 营销网站建设规划方案wordpress招聘模板
  • 北京十大装饰公司排名有哪些seo主要做什么工作内容
  • 体育视频网站建设最新百度快速排名技术
  • 建造网站需要多少钱全媒体广告代理
  • 制作网站公司首 荐乐云seo专家wordpress权限设置
  • 网站开发学那种语言建材企业网站营销怎么做
  • 婚恋网站如何做推广云平台网站建设方案书
  • 大型网站 div工信部网站备案电话
  • 学做网站 为了熊掌号怎么做单位网站