分享下曾经做的一个JS小游戏——《Battle City》

尽管到了如今HTML5大红大紫,不过要兼容主流浏览器,还是逃不过IE这关。如此说来,还不如纯粹的div+css制作的js应用兼容性最好了:)  

  

  之前也发过,但是当时因为找不到源码,所以从压缩过的JS反向修改回来,导致代码混乱不堪。之前做的尺寸很小,今天把图片放大了一倍,晚上闲着把关数增加到了原版35关。

 

  (方向键:ASDW   射击:KL  连发:IO  确定:Enter  【第一次可以进入选关】)

     

  之前用jsmin压缩代码的,换成现在的google closure编译会出现问题。因此现在修改下框架结构和部分模块,现在可以用ADVANCED_OPTIMIZATIONS压缩了,如果有什么BUG留言。

  

  整个工程4000行左右的代码,包括一个叫WebPlay的游戏库。用到的都是很基本方法和概念,总体并不复杂。对于初学OOP思想,或者游戏基本概念的,都可以参考下! 作为2012贺岁礼物分享给大家吧~ 

 

   

  

  Demo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一个简单的三国小游戏的 Python 代码,玩家可以在游戏中扮演一个三国时期的角色,与其他角色进行战斗并提升自己的属性。以下是示例代码: ```python import random class Character: def __init__(self, name, health, attack, defense): self.name = name self.health = health self.attack = attack self.defense = defense def take_damage(self, damage): actual_damage = max(damage - self.defense, 0) self.health -= actual_damage def is_alive(self): return self.health > 0 def attack_target(self, target): damage = random.randint(1, self.attack) target.take_damage(damage) print(f"{self.name} 对 {target.name} 造成了 {damage} 点伤害。") class Player(Character): def __init__(self, name, health, attack, defense, experience=0, level=1): super().__init__(name, health, attack, defense) self.experience = experience self.level = level def gain_experience(self, amount): self.experience += amount if self.experience >= 100: self.level_up() def level_up(self): self.level += 1 self.experience = 0 self.health += 10 self.attack += 5 self.defense += 5 print(f"{self.name} 升级了!等级提升到了 {self.level} 级。") class Enemy(Character): pass def create_enemy(): name = random.choice(["曹操", "孙权", "刘备"]) health = random.randint(50, 100) attack = random.randint(10, 20) defense = random.randint(5, 10) return Enemy(name, health, attack, defense) def battle(player): enemy = create_enemy() print(f"你遇到了 {enemy.name},准备与之战斗!") while player.is_alive() and enemy.is_alive(): player.attack_target(enemy) if not enemy.is_alive(): print(f"{enemy.name} 被你打败了!") player.gain_experience(20) break enemy.attack_target(player) if not player.is_alive(): print("你被打败了!游戏结束。") break def main(): print("欢迎来到三国世界!") name = input("请输入你的名字: ") player = Player(name, health=100, attack=20, defense=10) while True: print(f"你当前的等级是 {player.level},经验值是 {player.experience}。") choice = input("请选择你要的事情:1.战斗 2.休息 3.退出游戏 ") if choice == "1": battle(player) elif choice == "2": player.health = min(player.health + 20, 100) print("你恢复了 20 点生命值。") else: print("谢谢游玩,再见!") break if __name__ == "__main__": main() ``` 在这个游戏中,玩家可以输入自己的名字,然后进入三国世界。玩家可以选择战斗、休息或退出游戏。每次战斗会随机遇到一个敌人,玩家需要不断攻击敌人直到战斗结束。战斗胜利后,玩家可以获得经验值,经验值达到一定程度后就可以升级,提升自己的属性。玩家可以选择休息来回复生命值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值