切水果游戏开发1

编程入门 行业动态 更新时间:2024-10-17 13:29:21

切水果<a href=https://www.elefans.com/category/jswz/34/1770034.html style=游戏开发1"/>

切水果游戏开发1

多数无益,上代码:

import pygame
import random# 初始化pygame
pygame.init()# 设置窗口尺寸
window_width = 800
window_height = 600
window_size = (window_width, window_height)
window = pygame.display.set_mode(window_size)# 设置窗口标题
pygame.display.set_caption("切水果游戏")# 加载背景音乐和切水果音效
# pygame.mixer.music.load("background_music.mp3")
slice_sound = pygame.mixer.Sound("music.mp3")fruit_images = {"apple": pygame.transform.scale(pygame.image.load("apple.png"), (100, 100)),"banana": pygame.transform.scale(pygame.image.load("banana.png"), (100, 100)),"orange": pygame.transform.scale(pygame.image.load("orange.png"), (100, 100)),"watermelon": pygame.transform.scale(pygame.image.load("watermelon.png"), (100, 100)),"strawberry": pygame.transform.scale(pygame.image.load("strawberry.png"), (100, 100))
}# 定义水果颜色
fruit_colors = {"apple": (255, 0, 0),       # 红色"banana": (255, 255, 0),    # 黄色"orange": (255, 165, 0),    # 橙色"watermelon": (0, 255, 0),  # 绿色"strawberry": (255, 0, 255) # 紫色
}# 定义粒子颜色
particle_colors = {"apple": (255, 0, 0),       # 红色"banana": (255, 255, 0),    # 黄色"orange": (255, 165, 0),    # 橙色"watermelon": (0, 255, 0),  # 绿色"strawberry": (255, 0, 255) # 紫色
}# 定义水果初始位置和速度
fruit_initial_x = []
fruit_initial_y = []
fruit_speed = []
for i in range(5):fruit_initial_x.append(random.randint(50, window_width - 50))fruit_initial_y.append(-100)fruit_speed.append(random.randint(1, 5))# 定义切水果得分
score = 0# 定义粒子系统
particles = []class Particle:def __init__(self, x, y, color):self.x = xself.y = yself.color = colorself.radius = 5self.speed_x = random.randint(-5, 5)self.speed_y = random.randint(-15, -5)self.alpha = 255def update(self):self.x += self.speed_xself.y += self.speed_yself.alpha -= 10def draw(self):color = tuple(max(0, min(c, 255)) for c in self.color)alpha = max(0, min(self.alpha, 255))pygame.draw.circle(window, color + (alpha,), (int(self.x), int(self.y)), self.radius)# 游戏主循环
running = True
clock = pygame.time.Clock()
# pygame.mixer.music.play(-1)while running:# 填充窗口背景色window.fill((0, 0, 0))# 处理事件for event in pygame.event.get():if event.type == pygame.QUIT:running = Falseelif event.type == pygame.MOUSEBUTTONDOWN:# 获取鼠标位置mouse_x, mouse_y = pygame.mouse.get_pos()# 判断鼠标是否划过水果for i in range(5):if fruit_initial_x[i] <= mouse_x <= fruit_initial_x[i] + 100 and fruit_initial_y[i] <= mouse_y <= fruit_initial_y[i] + 100:# 播放切水果音效slice_sound.play()# 增加得分score += 1# 生成粒子效果for _ in range(20):particles.append(Particle(fruit_initial_x[i] + 50, fruit_initial_y[i] + 50, particle_colors[list(fruit_images.keys())[i]]))# 重新生成水果位置和速度fruit_initial_x[i] = random.randint(50, window_width - 50)fruit_initial_y[i] = -100fruit_speed[i] = random.randint(1, 5)for event in pygame.event.get():if event.type == pygame.QUIT:running = Falseelif event.type == pygame.MOUSEBUTTONDOWN:# 获取鼠标位置mouse_x, mouse_y = pygame.mouse.get_pos()# 判断鼠标是否在窗口范围内if 0 <= mouse_x <= window_width and 0 <= mouse_y <= window_height:# 判断鼠标是否划过水果for i in range(5):if fruit_initial_x[i] <= mouse_x <= fruit_initial_x[i] + 100 and fruit_initial_y[i] <= mouse_y <= fruit_initial_y[i] + 100:# 播放切水果音效slice_sound.play()# 增加得分score += 1# 生成粒子效果for _ in range(20):particles.append(Particle(fruit_initial_x[i] + 50, fruit_initial_y[i] + 50, particle_colors[list(fruit_images.keys())[i]]))# 重新生成水果位置和速度fruit_initial_x[i] = random.randint(50, window_width - 50)fruit_initial_y[i] = -100fruit_speed[i] = random.randint(1, 5)# 获取鼠标位置mouse_x, mouse_y = pygame.mouse.get_pos()# 绘制水果for i in range(5):fruit_initial_y[i] += fruit_speed[i]window.blit(fruit_images[list(fruit_images.keys())[i]], (fruit_initial_x[i], fruit_initial_y[i]))# 判断鼠标是否划过水果if fruit_initial_x[i] <= mouse_x <= fruit_initial_x[i] + 100 and fruit_initial_y[i] <= mouse_y <= fruit_initial_y[i] + 100:# 播放切水果音效slice_sound.play()# 增加得分score += 1# 生成粒子效果for _ in range(20):particles.append(Particle(fruit_initial_x[i] + 50, fruit_initial_y[i] + 50, particle_colors[list(fruit_images.keys())[i]]))# 重新生成水果位置和速度fruit_initial_x[i] = random.randint(50, window_width - 50)fruit_initial_y[i] = -100fruit_speed[i] = random.randint(1, 5)# 更新和绘制粒子效果for particle in particles:particle.update()particle.draw()if particle.alpha <= 0:particles.remove(particle)# pass# 绘制得分font = pygame.font.Font(None, 36)text = font.render("Score: " + str(score), True, (255, 255, 255))window.blit(text, (10, 10))# 更新窗口pygame.display.flip()# 控制帧率clock.tick(60)# 退出游戏
pygame.quit()

工程目录:

效果:

遗留问题:

1,碰到就切碎了,不少,要点击+碰到好些

2,没背景音乐

3,没搞个地雷出来,切中就减分或结束的那种

4,没排名,应该搞个排名出来

5,速度应该要递增,错过要减分的那种

工程地址:game: 游戏仓库 - Gitee

更多推荐

切水果游戏开发1

本文发布于:2023-12-07 09:37:09,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1670862.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:游戏开发   水果

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!