mirror of
https://github.com/simon987/Much-Assembly-Required.git
synced 2025-04-19 18:46:43 +00:00
Fixes #91
This commit is contained in:
parent
a8beb8c3e2
commit
c7b9df0690
@ -37,37 +37,40 @@ public class CubotLeg extends CpuHardware implements JSONSerialisable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handleInterrupt(Status status) {
|
public void handleInterrupt(Status status) {
|
||||||
int a = getCpu().getRegisterSet().getRegister("A").getValue();
|
|
||||||
int b = getCpu().getRegisterSet().getRegister("B").getValue();
|
|
||||||
|
|
||||||
if (a == LEGS_SET_DIR) {
|
if (cubot.getCurrentAction() == Action.IDLE) {
|
||||||
|
int a = getCpu().getRegisterSet().getRegister("A").getValue();
|
||||||
|
int b = getCpu().getRegisterSet().getRegister("B").getValue();
|
||||||
|
|
||||||
|
if (a == LEGS_SET_DIR) {
|
||||||
|
|
||||||
|
|
||||||
Direction dir = Direction.getDirection(b);
|
|
||||||
|
|
||||||
if (dir != null) {
|
|
||||||
if (cubot.spendEnergy(20)) {
|
|
||||||
cubot.setDirection(Direction.getDirection(b));
|
|
||||||
status.setErrorFlag(false);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
status.setErrorFlag(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
} else if (a == LEGS_SET_DIR_AND_WALK) {
|
|
||||||
|
|
||||||
if (cubot.getMaxEnergy() >= 100) {
|
|
||||||
Direction dir = Direction.getDirection(b);
|
Direction dir = Direction.getDirection(b);
|
||||||
|
|
||||||
if (dir != null) {
|
if (dir != null) {
|
||||||
cubot.setDirection(Direction.getDirection(b));
|
if (cubot.spendEnergy(20)) {
|
||||||
status.setErrorFlag(false);
|
cubot.setDirection(Direction.getDirection(b));
|
||||||
|
status.setErrorFlag(false);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
status.setErrorFlag(true);
|
status.setErrorFlag(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
cubot.setCurrentAction(Action.WALKING);
|
|
||||||
|
} else if (a == LEGS_SET_DIR_AND_WALK) {
|
||||||
|
|
||||||
|
if (cubot.getMaxEnergy() >= 100) {
|
||||||
|
Direction dir = Direction.getDirection(b);
|
||||||
|
|
||||||
|
if (dir != null) {
|
||||||
|
cubot.setDirection(Direction.getDirection(b));
|
||||||
|
status.setErrorFlag(false);
|
||||||
|
} else {
|
||||||
|
status.setErrorFlag(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
cubot.setCurrentAction(Action.WALKING);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user