Create Character #4
28
src/main/java/Character.java
Normal file
28
src/main/java/Character.java
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
public abstract class Character {
|
||||||
|
protected String name;
|
||||||
|
protected int health;
|
||||||
|
protected int level;
|
||||||
|
protected Position position;
|
||||||
|
|
||||||
|
|
||||||
|
public Character(String name) {
|
||||||
|
this.name = name;
|
||||||
|
this.health = 10;
|
||||||
|
this.level = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Character(String name, int level) {
|
||||||
|
this.name = name;
|
||||||
|
this.level = level;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHealth(int i) {
|
||||||
|
this.health = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isAlive() {
|
||||||
|
return health > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract void spawn(int x, int y);
|
||||||
|
}
|
||||||
@ -1,24 +1,13 @@
|
|||||||
public class Player {
|
public class Player extends Character {
|
||||||
private final String name;
|
|
||||||
private int health;
|
|
||||||
private int mana;
|
|
||||||
|
|
||||||
public Player(String name) {
|
public Player(String name) {
|
||||||
this.name = name;
|
super(name);
|
||||||
this.health = 100;
|
|
||||||
this.mana = 100;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName() {
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getHealth() {
|
@Override
|
||||||
return health;
|
public void spawn(int x, int y) {
|
||||||
}
|
|
||||||
|
|
||||||
public int getMana() {
|
|
||||||
return mana;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
1
src/main/java/Position.java
Normal file
1
src/main/java/Position.java
Normal file
@ -0,0 +1 @@
|
|||||||
|
public record Position(int x, int y) {}
|
||||||
@ -7,23 +7,20 @@ class PlayerTest {
|
|||||||
private Player defaultPlayer() {
|
private Player defaultPlayer() {
|
||||||
return new Player("abc");
|
return new Player("abc");
|
||||||
}
|
}
|
||||||
@Test
|
|
||||||
void setNameOnCreation() {
|
@Test
|
||||||
|
public void is_dead_if_health_is_zero() {
|
||||||
var p = defaultPlayer();
|
var p = defaultPlayer();
|
||||||
assertEquals("abc", p.getName(), "Player name should have been set");
|
p.setHealth(0);
|
||||||
|
assertFalse(p.isAlive());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void setHealthOnCreation() {
|
public void can_change_position() {
|
||||||
var p = defaultPlayer();
|
var p = defaultPlayer();
|
||||||
assertEquals(100, p.getHealth(), "Player health should have been set");
|
assertEquals(new Position(0,0), p.getPosition());
|
||||||
|
p.moveTo(new Position(1,1));
|
||||||
|
assertEquals(new Position(1,1), p.getPosition());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
void setsManaOnCreation() {
|
|
||||||
var p = defaultPlayer();
|
|
||||||
assertEquals(100, p.getMana(), "Player mana should have been set");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user