面向对象三大特性:
①封装:
对象:属性(特征)/方法(行为)
暴露了一个接口给你使用、不给外界访问具体内容
②继承:关键字extends
is-a关系:苹果是水果calss Apple extends Fruit
接口关键字:interface/implement
③多态:我有一个水果工厂
class Furit{}
class Apple extends Fruit{}
class Banana extends Fruit{}
class FuritFactroy{
//生产水果的方法,返回值肯定是水果
Furit create(String name){
if(name.equals("苹果")){
//生产苹果
return new Apple();
}else if(){
return new Banana();
}
}
}
1.首先给我完成以下界面:
《《《《《《《《SEA BATTAL》》》》》》》》》
野生的怪物粗线了:
怪物: 大乌贼 HP:161 MP:61
玩家 HP:22 MP:2
请选择你的行动:
1.攻击 2.特技 3.防御
2.分析并创建具体的对象:
1.怪物(Monster):名字,有HP和MP——属性
方法——攻击(attack),防御(defense)等
2.玩家(Player):名字,有HP和MP——属性
方法——攻击(attack),防御(defense)等
3.修改主方法:
1.创建一个怪物对象
2.创建一个玩家对象
3.使界面满足我们的需求
4.完成攻击:
1.怪物的攻击方法
1)需要获取攻击对象的信息
2)计算出被攻击后的HP剩余值
3)判断HP剩余值是否合理
4)如果不合理就GAMEOVER、反之更新HP
2.玩家的攻击方法(需要获取攻击对象的信息)
1)需要获取攻击对象的信息
2)计算出被攻击后的HP剩余值
3)判断HP剩余值是否合理
4)如果不合理就胜利、反之更新HP
5.完成剩余的工作(开始游戏流程):
请选择你的行动:
1.攻击 2.特技 3.防御
1 ←Scanner输入
玩家用力一跳,造成了0点伤害 ←调用玩家的攻击方法
怪物: 大乌贼 HP:161 MP:61 ←刷新enemy数据
怪物深深吸了一口气,造成了80点伤害 ←调用怪物的攻击方法
玩家mm受到了80点伤害 ←信息
mm倒下了,GAMEOVER ←结果
6.完善设计,伤害计算公式:
怪物和玩家都应该有别的一些属性:
①atk攻击力
②def防御力
普通攻击造成的伤害:
(50%atk-25%def)+(50%atk-25%def)*(0~1.2之间)随机数
↑↑↑↑
工具类:计算普通攻击的伤害
(确保50%atk>25%def,否则一律不能造成伤害)
atk是攻击方的、def是被攻击方的
7.代码优化:
1)战斗部分的代码
2)信息部分
3)游戏结束
8.程序扩展:
1.抽象类Monster以及抽象类Player
用来派生出具体的怪物、以及具体职业的玩家
职业:Lancer、Archer、Caster
怪物:深海巨触、大乌贼
9.游戏初始化以及职业选择:
评论0
最新资源