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

买空间服务器做网站怎么弄博客网站开发背景及作用

买空间服务器做网站怎么弄,博客网站开发背景及作用,有实力高端网站设计地址,wordpress 内容 主题Python 小游戏——贪吃蛇 文章目录 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/14283491/

相关文章:

  • 被墙域名黑别人网站模仿网站建设
  • 傻瓜式网站界面石家庄市和城乡建设局网站
  • 专业的网站制作团队做外贸的专业网站
  • 湛江电气建站软件营销推广网站建设
  • 网站建设项目有哪些卓越 网站建设 深圳西乡
  • 个人做淘宝客网站不能备案吗网软志成个人商城网站
  • 做网站的报价方案网站分辨率做96是否会更好
  • 点创网站建设建筑网站的特点
  • 网站做服务端三台县城乡建设网网站
  • server2008做DNS与网站wordpress人才网主题
  • 做网站用的东莞网站建设排名
  • php网站制作费用wordpress高级
  • 做pc端网站好么网页游戏网站哪个最好
  • 烟台网站制作建设兰州关键词网络推广
  • 免费游戏网站建设游戏后台濮阳市建设工程交易网
  • 建设大型网站美团广告投放平台
  • app开发 网站开发统称制作表情包的软件app
  • 长沙高升小区做汽车行业网站的网络公司论天心区网页设计办一年宽带多少钱
  • 成都网站建设餐饮织梦保险网站源码
  • 企业网站建设的目的论文申请网站平台怎么做
  • 怎么建设小说网站seo问答
  • apache 多网站百度站长验证网站
  • 涟源市住房与城乡建设局网站如何做企业网站后台管理
  • wordpress500网站优化推广方案
  • 网站建设工具的种类php做的购物网站
  • 计算机网站开发就业形势如何利用网站推广业务
  • html5网站怎么做如何在电网网站做备案
  • 公司要做个网站吗白银做网站
  • 网页设计购物网站建设物流软件开发工具
  • 兰州网站建设招聘搭建网站要不要给域名对方