网站如何做提交的报名表网站建设高端品牌

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

网站如何做提交的报名表,网站建设高端品牌,四川城乡建设厅网站,wordpress大转盘#x1f5bc;️ 效果展示 #x1f4dc; 游戏背景 在中秋这个充满诗意的节日里#xff0c;玉兔因为贪玩被赶下人间。在这个温柔的夜晚#xff0c;我们希望通过一个小游戏#xff0c;让玉兔感受到人间的温暖和关怀。#x1f430;#x1f319; #x1f3ae; 游戏设计 人…️ 效果展示 游戏背景 在中秋这个充满诗意的节日里玉兔因为贪玩被赶下人间。在这个温柔的夜晚我们希望通过一个小游戏让玉兔感受到人间的温暖和关怀。 游戏设计 人物与目标 玉兔使用鼠标控制左右移动目标是接住从天而降的月饼。月饼随机从屏幕上方降落接住加10分落到地面减5分。月亮随机降落接住减5分并减少一格生命值。 游戏机制 生命值血条初始为3格每接住一个月亮减少一格归零游戏结束。开始与重来点击开始按钮进入游戏游戏结束后点击重来按钮重新开始。 代码素材 游戏环境 Python 3.10.10Pygame 2.5.2 代码示例

隐藏pygame的import欢迎显示

import osos.environ[PYGAME_HIDE_SUPPORT_PROMPT]
import pygame import randompygame.init() # 初始化pygame库 sc pygame.display.set_mode((600, 695)) # 创建游戏窗口尺寸为600x695 pygame.display.set_caption(玉兔吃月饼——祝大家中秋节快乐) # 设置窗口标题# 加载图片资源 basket pygame.image.load(img/basket.png) # 加载篮子的图片 bj pygame.image.load(img/bj.jpg) # 加载背景图片 bomb pygame.image.load(img/bomb.png) # 加载炸弹图片 coin pygame.image.load(img/coin.png) # 加载月饼图片 start pygame.image.load(img/start.jpg) # 加载开始画面图片 over pygame.image.load(img/over.jpg) # 加载结束画面图片 ihp pygame.image.load(img/hp.png) # 加载生命值图标 btn_up pygame.image.load(img/btn_up.png) # 加载开始按钮的正常状态图片 btn_down pygame.image.load(img/btn_down.png) # 加载开始按钮的按下状态图片 bbtn_up pygame.image.load(img/bbtn_up.png) # 加载结束按钮的正常状态图片 bbtn_down pygame.image.load(img/bbtn_down.png) # 加载结束按钮的按下状态图片# 加载声音资源 pygame.mixer.init() # 初始化声音模块 coin_sound pygame.mixer.Sound(sound/coin.mp3) # 加载月饼音效 bomb_sound pygame.mixer.Sound(sound/bomb.mp3) # 加载炸弹音效 game_start_sound pygame.mixer.Sound(sound/start.mp3) # 加载游戏开始音效 game_over_sound pygame.mixer.Sound(sound/game_over.mp3) # 加载游戏结束音效word HP # 生命值文字 font pygame.font.SysFont(, 32) # 创建字体对象大小为32 text font.render(word, True, (75, 217, 65)) # 渲染生命值文字颜色为绿色 score 0 # 初始化分数为0 text1 font.render(str(score), True, (255, 255, 255)) # 渲染分数颜色为白色 bx 0 # 初始化篮子的x坐标 lx, ly [], [] # 月饼的x和y坐标列表 fx, fy [], [] # 炸弹的x和y坐标列表 speedy 1 # 初始速度 hp 4 # 初始化生命值为4# 初始化月饼的位置 for i in range(0, 4):tx random.randint(0, 586) # 随机生成月饼的x坐标ty (i - 1) * 150 # 计算月饼的y坐标lx.append(tx) # 将x坐标添加到列表ly.append(ty) # 将y坐标添加到列表# 初始化炸弹的位置 for i in range(0, 2):x random.randint(0, 586) # 随机生成炸弹的x坐标y (i - 1) * 300 # 计算炸弹的y坐标fx.append(x) # 将x坐标添加到列表fy.append(y) # 将y坐标添加到列表class Button(object):def init(self, button_up, button_down, position):self.btn_up button_up # 按钮的正常状态图self.btn_down button_down # 按钮的按下状态图self.position position # 按钮的位置x, ydef is_over(self):point_x, point_y pygame.mouse.get_pos() # 获取鼠标的当前坐标x, y self.position # 按钮的位置坐标w, h self.btn_down.get_size() # 按钮的宽度和高度# 检查鼠标是否在按钮的水平范围内in_x x - w / 2 point_x x w / 2# 检查鼠标是否在按钮的垂直范围内in_y y - h / 2 point_y y h / 2return in_x and in_y # 如果鼠标在按钮范围内则返回Truedef is_pressed(self):if event.type pygame.MOUSEBUTTONDOWN: # 如果检测到鼠标按下事件point_x, point_y pygame.mouse.get_pos() # 获取鼠标的当前坐标x, y self.position # 按钮的位置坐标w, h self.btn_down.get_size() # 按钮的宽度和高度# 检查鼠标是否在按钮的水平范围内in_x x - w / 2 point_x x w / 2# 检查鼠标是否在按钮的垂直范围内in_y y - h / 2 point_y y h / 2return True # 如果按钮被按下则返回Truedef render(self):w, h self.btn_up.get_size() # 获取按钮的宽度和高度x, y self.position # 按钮的位置坐标if self.is_over(): # 如果鼠标在按钮上sc.blit(self.btn_down, (x - w / 2, y - h / 2)) # 绘制按下状态的按钮图else:sc.blit(self.btn_up, (x - w / 2, y - h / 2)) # 绘制正常状态的按钮图button Button(btn_up, btn_down, (288, 460)) # 创建开始按钮对象 over_button Button(bbtn_up, bbtn_down, (288, 460)) # 创建结束按钮对象while True: # 主游戏循环for event in pygame.event.get(): # 处理所有事件if event.type pygame.QUIT: # 如果用户点击关闭按钮pygame.quit() # 退出pygameexit() # 退出程序sc.blit(start, (0, 0)) # 绘制开始画面over_button.render() # 渲染结束按钮if over_button.is_pressed(): # 如果点击了结束按钮hp 3 # 重置生命值score 0 # 重置分数text1 font.render(str(score), True, (255, 255, 255)) # 更新分数字符串game_start_sound.play() # 播放开始游戏音效if 0 hp 4 and score 0: # 游戏进行中sc.blit(bj, (0, 0)) # 绘制背景sc.blit(text, (10, 583)) # 绘制生命值文字sc.blit(text1, (570, 570)) # 绘制分数sc.blit(basket, (bx, 540)) # 绘制篮子# 根据分数调整掉落速度if score 50:speedy 0.4elif score 100:speedy 0.8elif score 150:speedy 1.2elif score 200:speedy 1.6# 处理月饼的掉落for i in range(len(lx)):sc.blit(coin, (lx[i], ly[i] - 600)) # 绘制月饼ly[i] speedy # 更新月饼的y坐标if ly[i] 610 600: # 如果月饼掉出屏幕ly[i] 600 # 重置月饼的y坐标lx[i] random.randint(0, 540) # 随机重置月饼的x坐标score - 5 # 减少分数text1 font.render(str(score), True, (255, 255, 255)) # 更新分数字符串# 检测月饼是否被篮子接住if bx lx[i] 24 bx 62 and 1120 ly[i] 1140:ly[i] 600 # 重置月饼的y坐标lx[i] random.randint(0, 586) # 随机重置月饼的x坐标score 10 # 增加分数text1 font.render(str(score), True, (255, 255, 255)) # 更新分数字符串coin_sound.play() # 播放收集月饼音效# 处理炸弹的掉落for i in range(len(fx)):sc.blit(bomb, (fx[i], fy[i] - 600)) # 绘制炸弹fy[i] speedy # 更新炸弹的y坐标if fy[i] 610 600: # 如果炸弹掉出屏幕fy[i] 600 # 重置炸弹的y坐标fx[i] random.randint(0, 545) # 随机重置炸弹的x坐标# 检测炸弹是否击中篮子if bx fx[i] 24 bx 62 and 1120 fy[i] 1140:hp - 1 # 生命值减少fy[i] 600 # 重置炸弹的y坐标fx[i] random.randint(0, 586) # 随机重置炸弹的x坐标bomb_sound.play() # 播放炸弹音效if event.type pygame.MOUSEMOTION: # 如果鼠标移动事件mx, my pygame.mouse.get_pos() # 获取鼠标位置bx mx - 24 # 更新篮子的x坐标# 边界检测if bx 0:bx 0 # 确保篮子不会超出左边界if bx 610 - 62:bx 548 # 确保篮子不会超出右边界keys pygame.key.get_pressed() # 获取按键状态if keys[pygame.K_a] or keys[pygame.K_RIGHT]: # 如果按下右键或A键bx 5 # 向右移动篮子if keys[pygame.K_d] or keys[pygame.K_LEFT]: # 如果按下左键或D键bx - 5 # 向左移动篮子# 绘制生命值图标for i in range(0, hp):sc.blit(ihp, (22 * i 40, 585))# 游戏结束if hp 0 or score 0:bx 0 # 重置篮子位置speedy 1 # 重置速度# 重置月饼的位置for i in range(len(lx)):lx[i] random.randint(0, 586) # 随机重置月饼的x坐标lyi * 150 # 计算月饼的y坐标# 重置炸弹的位置for i in range(len(fx)):fx[i] random.randint(0, 586) # 随机重置炸弹的x坐标fyi * 300 # 计算炸弹的y坐标sc.blit(over, (0, 0)) # 绘制结束画面button.render() # 渲染开始按钮game_over_sound.play() # 播放游戏结束音效if button.is_pressed(): # 如果点击了开始按钮hp 3 # 重置生命值score 0 # 重置分数text1 font.render(str(score), True, (255, 255, 255)) # 更新分数字符串game_start_sound.play() # 播放开始游戏音效pygame.display.update() # 更新屏幕显示 素材 basket.png - 玉兔图片bj.jpg - 游戏背景bomb.png - 月亮图片coin.png - 月饼图片start.jpg - 开始界面over.jpg - 游戏结束界面hp.png - 生命值图标btn_up.png, btn_down.png - 按钮图片 如何使用 安装Pygamepip install pygame下载代码和素材将游戏代码和所有素材下载到本地文件夹中。运行游戏右键或终端运行py文件。游戏操作 使用鼠标控制玉兔左右移动。点击开始按钮开始游戏。游戏过程中接住月饼加分接住月亮减分并减少生命值。游戏结束后点击重来按钮重新开始。 游戏功能 动态得分系统根据接住的月饼和月亮动态计算得分。生命值管理通过血条显示玉兔的生命值增加游戏的挑战性。难度自适应随着得分的增加游戏难度会逐渐提高增加游戏的可玩性。重新开始机制游戏结束后玩家可以立即重新开始无需重新加载游戏。 结束语 “但愿人长久千里共婵娟”在这个中秋让我们一起通过这个游戏传递温暖和快乐。 源码资料获取 · 技术与交流