软件价值12-射箭游戏

2024-02-11 16:28
文章标签 软件 游戏 价值 射箭

本文主要是介绍软件价值12-射箭游戏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

射箭游戏,按空格键发射,打击移动靶,左上角显示成绩状态。

代码:

import pygame
import sys
import random# 初始化Pygame
pygame.init()# 设置窗口大小
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
pygame.display.set_caption("射箭游戏")# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)# 设置靶子的参数
target_width = 50
target_height = 100
target_x = SCREEN_WIDTH - target_width - 20
target_y = SCREEN_HEIGHT // 2 - target_height // 2
target_speed = 0.1
target_hit = False
hit_count = 0
arrow_count = 0# 设置箭的参数
arrow_width = 50
arrow_height = 10
arrow_x = 50
arrow_y = SCREEN_HEIGHT // 2 - arrow_height // 2
arrow_speed = 0.5
arrow_direction = "right"
arrow_fired = False# 设置计时器
clock = pygame.time.Clock()
FPS = 60# 初始化内置声音
hit_sound = pygame.mixer.Sound("sound/beep.mp3")
shoot_sound = pygame.mixer.Sound("sound/shoot.mp3")# 绘制靶子
def draw_target():pygame.draw.rect(screen, RED, (target_x, target_y, target_width, target_height))# 绘制箭
def draw_arrow():pygame.draw.rect(screen, BLUE, (arrow_x, arrow_y, arrow_width, arrow_height))# 检查箭是否击中靶子
def check_hit():global target_hit, hit_count, arrow_countif not target_hit and arrow_x + arrow_width >= target_x and arrow_y + arrow_height >= target_y and arrow_y <= target_y + target_height:target_hit = Truehit_count += 1# 播放音效hit_sound.play()# 显示箭支数和成功率
def show_hit_info():global arrow_count, hit_countfont = pygame.font.SysFont(None, 25)text = font.render("Hits: " + str(hit_count), True, BLACK)screen.blit(text, (10, 50))if arrow_count > 0:hit_rate = hit_count / arrow_count * 100else:hit_rate = 0text = font.render("Hit Rate: {:.2f}%".format(hit_rate), True, BLACK)screen.blit(text, (10, 90))# 显示击中次数
def show_arrow_count():font = pygame.font.SysFont(None, 25)text = font.render("Arrows: " + str(arrow_count), True, BLACK)screen.blit(text, (10, 10))# 主循环
while True:for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()sys.exit()elif event.type == pygame.KEYDOWN:if event.key == pygame.K_SPACE and not arrow_fired:arrow_fired = Truearrow_count += 1shoot_sound.play()# 清屏screen.fill(WHITE)# 绘制靶子draw_target()# 绘制箭draw_arrow()# 移动靶子target_y += target_speed * clock.get_time()if target_y <= 0:target_speed = abs(target_speed)elif target_y >= SCREEN_HEIGHT - target_height:target_speed = -abs(target_speed)# 移动箭if arrow_fired:if arrow_direction == "right":arrow_x += arrow_speed * clock.get_time()if arrow_x >= SCREEN_WIDTH:arrow_fired = Falsetarget_hit = Falsearrow_x = 50elif arrow_direction == "left":arrow_x -= arrow_speed * clock.get_time()if arrow_x <= 0:arrow_fired = Falsetarget_hit = Falsearrow_x = 50# 检查箭是否击中靶子check_hit()# 如果箭击中靶子,显示成功,并计数if target_hit:font = pygame.font.SysFont(None, 36)text = font.render("Hit!", True, GREEN)screen.blit(text, (SCREEN_WIDTH // 2 - 50, SCREEN_HEIGHT // 2))target_y = 0target_speed = random.uniform(0.1, 0.9)# 显示击中次数show_hit_info()# 显示箭支数和成功率show_arrow_count()# 更新画面pygame.display.flip()# 控制帧率clock.tick(FPS)

截图:

运行:

 

射箭游戏

改进:

可以增加射箭的力度输入等来增加乐趣与难度。

这篇关于软件价值12-射箭游戏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/700258

相关文章

高仿精仿愤怒的小鸟android版游戏源码

这是一款很完美的高仿精仿愤怒的小鸟android版游戏源码,大家可以研究一下吧、 为了报复偷走鸟蛋的肥猪们,鸟儿以自己的身体为武器,仿佛炮弹一样去攻击肥猪们的堡垒。游戏是十分卡通的2D画面,看着愤怒的红色小鸟,奋不顾身的往绿色的肥猪的堡垒砸去,那种奇妙的感觉还真是令人感到很欢乐。而游戏的配乐同样充满了欢乐的感觉,轻松的节奏,欢快的风格。 源码下载

电子盖章怎么做_电子盖章软件

使用e-章宝(易友EU3000智能盖章软件)进行电子盖章的步骤如下: 一、准备阶段 软件获取: 访问e-章宝(易友EU3000智能盖章软件)的官方网站或相关渠道,下载并安装软件。账户注册与登录: 首次使用需注册账户,并根据指引完成注册流程。注册完成后,使用用户名和密码登录软件。 二、电子盖章操作 文档导入: 在e-章宝软件中,点击“添加”按钮,导入待盖章的PDF文件。支持批量导入多个文件,

剑指offer(C++)--孩子们的游戏(圆圈中最后剩下的数)

题目 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1报数....这样下去

小红书商家电话采集软件使用指南

使用小红书商家电话采集软件可以提高商家电话的采集效率,以下是使用指南及附带代码。 步骤一:安装Python和相关库 首先,确保你的电脑已经安装了Python运行环境(建议安装Python3版本)。安装完成后,同样需要安装一些相关的库,如requests、beautifulsoup4等。在命令行窗口中输入以下命令进行安装: pip install requestspip install bea

中国341城市生态系统服务价值数据集(2000-2020年)

生态系统服务反映了人类直接或者间接从自然生态系统中获得的各种惠益,对支撑和维持人类生存和福祉起着重要基础作用。目前针对全国城市尺度的生态系统服务价值的长期评估还相对较少。我们在Xie等(2017)的静态生态系统服务当量因子表基础上,选取净初级生产力,降水量,生物迁移阻力,土壤侵蚀度和道路密度五个变量,对生态系统供给服务、调节服务、支持服务和文化服务共4大类和11小类的当量因子进行了时空调整,计算了

【服务器08】之【游戏框架】之【加载主角】

首先简单了解一下帧率 FixedUpdate( )   >   Update( )   >   LateUpdate( ) 首先FixedUpdate的设置值 默认一秒运行50次 虽然默认是0.02秒,但FiexedUpdate并不是真的0.02秒调用一次,因为在脚本的生命周期内,FixedUpdate有一个小循环,这个循环也是通过物理时间累计看是不是大于0.02了,然后调用一次。有

2024年6月24日-6月30日(ue独立游戏为核心)

试过重点放在独立游戏上,有个indienova独立游戏团队是全职的,由于他们干了几个月,节奏暂时跟不上,紧张焦虑了。五一时也有点自暴自弃了,实在没必要,按照自己的节奏走即可。精力和时间也有限,放在周末进行即可。除非哪天失业了,再也找不到工作了,再把重心放在独立游戏上。 另外,找到一个同样业余的美术,从头做肉鸽游戏,两周一次正式交流即可。节奏一定要放慢,不能影响正常工作生活。如果影响到了,还不如自

植物大战僵尸杂交版2.1版本终于来啦!游戏完全免费

在这个喧嚣的城市里,我找到了一片神奇的绿色世界——植物大战僵尸杂交版。它不仅是一款游戏,更像是一扇打开自然奥秘的窗户,让我重新认识了植物和自然的力量。 植物大战僵尸杂交版最新绿色版下载链接: https://pan.quark.cn/s/d60ed6e4791c 🌱 🔥 激情介绍:不只是游戏,更是生态课 植物大战僵尸杂交版将经典的策略塔防游戏带入了一个全新的维度。这里,每一种植物都拥

服务器监控:运维行业的核心保障与第三方监控软件的选择

随着信息技术的飞速发展,企业IT架构日益复杂,服务器作为整个IT系统的核心,其稳定性和性能对业务的连续性至关重要。在运维行业中,服务器监控作为保障服务器稳定运行的关键环节,已经受到了越来越多企业的重视。本文将探讨服务器监控的重要性、挑战以及选择第三方监控软件的原因,并推荐一款优秀的服务器监控软件——监控易。 一、服务器监控的重要性     服务器监控是指对服务器硬件、操作系统、应用程序

docx转doc工具(软件)

word中的docx转成doc格式软件下载: http://pan.baidu.com/s/1ntsi0yt <script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize