📄 charactercontroller.java
字号:
package sanguo.ctrl;
import java.util.LinkedList;
import javax.swing.text.Position;
import sanguo.character.Character;
import sanguo.map.Map;
import sanguo.util.Calculator;
public class CharacterController {
private Map map;
public CharacterController(Map map) {
this.map = map;
}
public boolean fight(Character fighter, Character sufferer) {
LinkedList<Character> chars = map.getCharacters();
if (!chars.contains(fighter) || !chars.contains(sufferer))
return false;
if (Calculator.calculateFightableDistance(fighter) < Calculator
.calculateDistance(fighter.getPosition(), sufferer
.getPosition()))
return false;
sufferer.setBlood(sufferer.getBlood() - 10);
if (sufferer.getBlood() <= 0) {
// :TODO perform a elimination.
}
return true;
}
public boolean move(sanguo.character.Character c, sanguo.util.Position toPos) {
LinkedList<Character> chars = map.getCharacters();
if (!chars.contains(c))
return false;
if (Calculator.calculateMovableDistance(c) < Calculator
.calculateDistance(c.getPosition(), toPos))
return false;
c.setPosition(toPos);
return true;
}
public boolean rest(Character c){
LinkedList<Character> chars = map.getCharacters();
if (!chars.contains(c))
return false;
int blood = 20;
c.setBlood(c.getBlood()+ blood);
return true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -