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

网站icp备案证书wordpress通知邮件美化

网站icp备案证书,wordpress通知邮件美化,搬瓦工 wordpress,让企业“足不出户” 上海酝酿建设综合性企业服务平台以下是一个使用 Python 的 pygame 库实现的简单对战游戏示例#xff0c;游戏中玩家可以控制两个角色进行对战#xff0c;并且支持自定义图片(最好使用无底色的png图片)。完整源码以及实现思路#xff1a; import pygame import os# 初始化 Pygame pygame.init()# 设置游戏窗…以下是一个使用 Python 的 pygame 库实现的简单对战游戏示例游戏中玩家可以控制两个角色进行对战并且支持自定义图片(最好使用无底色的png图片)。完整源码以及实现思路 import pygame import os# 初始化 Pygame pygame.init()# 设置游戏窗口 WIDTH, HEIGHT 800, 600 WIN pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption(对战游戏)# 加载角色图片假设图片存在于当前目录下 try:PLAYER1_IMAGE pygame.image.load(os.path.join(player1.png)).convert_alpha()PLAYER2_IMAGE pygame.image.load(os.path.join(player2.png)).convert_alpha()PLAYER1_IMAGE pygame.transform.scale(PLAYER1_IMAGE, (100, 100))PLAYER2_IMAGE pygame.transform.scale(PLAYER2_IMAGE, (100, 100))BULLET_IMAGE pygame.image.load(os.path.join(bullet.png)).convert_alpha()BULLET_IMAGE pygame.transform.scale(BULLET_IMAGE, (50, 50)) except FileNotFoundError:print(未找到角色或子弹图片请确保 player1.png、player2.png 和 bullet.png 在当前目录。)pygame.quit()exit()# 定义颜色 WHITE (255, 255, 255) RED (255, 0, 0) GREEN (0, 255, 0)# 定义字体 FONT pygame.font.SysFont(comicsans, 30)# 定义子弹类 class Bullet(pygame.sprite.Sprite):def __init__(self, x, y, direction):super().__init__()self.image BULLET_IMAGEself.rect self.image.get_rect()self.rect.x xself.rect.y yself.speed 10self.direction directiondef update(self):if self.direction 1: # 向右self.rect.x self.speedelse: # 向左self.rect.x - self.speed# 如果子弹超出屏幕范围将其从精灵组中移除if self.rect.x 0 or self.rect.x WIDTH:self.kill()# 定义角色类 class Player(pygame.sprite.Sprite):def __init__(self, x, y, image):super().__init__()self.image imageself.rect self.image.get_rect()self.rect.x xself.rect.y yself.speed 5self.health 100self.attacking Falseself.attack_cooldown 0self.bullets pygame.sprite.Group()def move_left(self):if self.rect.x 0:self.rect.x - self.speeddef move_right(self):if self.rect.x WIDTH - self.rect.width:self.rect.x self.speeddef move_up(self):if self.rect.y 0:self.rect.y - self.speeddef move_down(self):if self.rect.y HEIGHT - self.rect.height:self.rect.y self.speeddef attack(self):if self.attack_cooldown 0:self.attacking Trueself.attack_cooldown 20# 创建子弹并添加到精灵组if self.image PLAYER1_IMAGE:bullet Bullet(self.rect.right, self.rect.centery, 1)else:bullet Bullet(self.rect.left - self.rect.width, self.rect.centery, -1)self.bullets.add(bullet)def take_damage(self, damage):self.health - damageif self.health 0:self.health 0def update(self):if self.attack_cooldown 0:self.attack_cooldown - 1if self.attack_cooldown 0:self.attacking Falseself.bullets.update()# 创建角色实例 player1 Player(100, 250, PLAYER1_IMAGE) player2 Player(600, 250, PLAYER2_IMAGE)# 创建精灵组 all_sprites pygame.sprite.Group() all_sprites.add(player1, player2)# 主游戏循环 clock pygame.time.Clock() running True while running:clock.tick(60)# 处理事件for event in pygame.event.get():if event.type pygame.QUIT:running Falseelif event.type pygame.KEYDOWN:if event.key pygame.K_a:player1.move_left()elif event.key pygame.K_d:player1.move_right()elif event.key pygame.K_w:player1.move_up()elif event.key pygame.K_s:player1.move_down()elif event.key pygame.K_SPACE:player1.attack()elif event.key pygame.K_LEFT:player2.move_left()elif event.key pygame.K_RIGHT:player2.move_right()elif event.key pygame.K_UP:player2.move_up()elif event.key pygame.K_DOWN:player2.move_down()elif event.key pygame.K_RETURN:player2.attack()# 更新角色状态player1.update()player2.update()# 检测子弹与角色的碰撞for bullet in player1.bullets:if pygame.sprite.collide_rect(bullet, player2):player2.take_damage(10)bullet.kill()for bullet in player2.bullets:if pygame.sprite.collide_rect(bullet, player1):player1.take_damage(10)bullet.kill()# 绘制背景WIN.fill(WHITE)# 绘制血量条pygame.draw.rect(WIN, RED, (10, 10, 200, 20))pygame.draw.rect(WIN, GREEN, (10, 10, 2 * player1.health, 20))pygame.draw.rect(WIN, RED, (WIDTH - 210, 10, 200, 20))pygame.draw.rect(WIN, GREEN, (WIDTH - 210, 10, 2 * player2.health, 20))# 绘制血量数值player1_health_text FONT.render(fPlayer 1 Health: {player1.health}, 1, RED)player2_health_text FONT.render(fPlayer 2 Health: {player2.health}, 1, RED)WIN.blit(player1_health_text, (10, 40))WIN.blit(player2_health_text, (WIDTH - 210, 40))# 绘制角色和子弹all_sprites.draw(WIN)player1.bullets.draw(WIN)player2.bullets.draw(WIN)# 检查游戏结束if player1.health 0:winner_text FONT.render(Player 2 Wins!, 1, RED)WIN.blit(winner_text, (WIDTH // 2 - winner_text.get_width() // 2, HEIGHT // 2 - winner_text.get_height() // 2))pygame.display.flip()pygame.time.delay(3000)running Falseelif player2.health 0:winner_text FONT.render(Player 1 Wins!, 1, RED)WIN.blit(winner_text, (WIDTH // 2 - winner_text.get_width() // 2, HEIGHT // 2 - winner_text.get_height() // 2))pygame.display.flip()pygame.time.delay(3000)running False# 更新显示pygame.display.flip()# 退出 Pygame pygame.quit()代码说明 1、子弹类 Bullet 继承自 pygame.sprite.Sprite包含子弹的位置、速度和方向等属性。 update 方法用于更新子弹的位置当子弹超出屏幕范围时将其从精灵组中移除。 2、角色类 Player 添加了 bullets 属性用于管理该角色发射的子弹精灵组。 在 attack 方法中当角色攻击时创建子弹对象并添加到 bullets 精灵组中。 update 方法中调用 self.bullets.update() 来更新子弹的状态。 3、主循环部分 增加了检测子弹与角色碰撞的逻辑当子弹击中对方角色时对方角色扣血子弹消失。 在绘制部分除了绘制角色还绘制了角色发射的子弹。 使用方法 1、将代码保存为一个 Python 文件例如 battle_game_with_bullets.py。 准备三张图片分别命名为 player1.png、player2.png 和 bullet.png并将它们放在与代码文件相同的目录下。 2、运行代码即可开始游戏。玩家 1 使用 A、D、W、S 键移动记得开启大写Space 键攻击玩家 2 使用方向键移动Enter 键攻击。攻击时会发射子弹子弹击中对方角色可造成伤害。 可以自由补充扩展
http://www.hkea.cn/news/14499758/

相关文章:

  • 网站承建商有哪些如何 做镜像网站
  • 用什么软件快速做网站福田莲花北网站建设
  • 免费网站设计 优帮云优质企业网站建设
  • 网站开发实习计划模板在服务器网站上做跳转
  • 农业网站 源码怎么用ip地址做网站
  • 公司制作网站怎么做网站开发交流吧
  • 用PS怎么做网站图片视频网站采集规则
  • 广东建设厅网站做网站不签合同
  • 网站开发背景怎么写网站搭建与服务器配置
  • 门户网站集群建设方案12380网站建设总结
  • 网站右侧二维码代码wordpress 登陆验证码
  • 将网站制作成app辽宁省建设工程新希望官网
  • 两人做性视频网站什么是网站解决方案
  • asp.net网站开发期末复习题摄影课程自学网站
  • 网站建设编程时注意事项网站开发开票编码归属
  • 如何删除自己建的网站服务器调用wordpress
  • 网广州建网站站制作没备案的网站收录
  • 网站未备案会怎么样网站服务器好
  • 网站界面怎么做网站注册商是什么
  • 银行网站维护是做哪些wordpress lazy load
  • 网上做名片的网站哈尔滨百度公司地址
  • 网站地区分站系统重庆网站建设总结与体会
  • 湛江网站建设方案报价做社情网站犯法怎么办
  • 成都金融网站建设公司排名网页设计公司深圳
  • 湘潭网站制作公司网站做排行多少费用
  • 网站建设国外大连建设工程信息网水电
  • 网站开发设计的阶段郑州企业网站建设兼职
  • 在线药店网站建设苏州高端网站建设机构
  • 手机网站建设咨询电话东莞建设网站费用
  • 网站建设为大学生服务怎么做网站优化的