Mercurial > hg > Members > nobuyasu > Alice > DPPAlice
view src/alice/test/dpp/datasegment/Philosophy.java @ 26:80023cb92594 draft
add some CodeSegment. ForkStateTake, CheckForkOwnerCodeSegment, TakeForkManager
author | one |
---|---|
date | Tue, 11 Dec 2012 16:07:41 +0900 |
parents | dbc5c8e8e9c2 |
children |
line wrap: on
line source
package alice.test.dpp.datasegment; import org.msgpack.annotation.Message; import org.msgpack.annotation.MessagePackOrdinalEnum; @Message public class Philosophy { @MessagePackOrdinalEnum public static enum State { THINK, TAKERIGHTFORK, TAKELEFTFORK, TAKEFORK, EAT, PUTFORK, PUTRIGHTFORK, PUTLEFTFORK; } private String name, leftFork, rightFork; private State state; public boolean hasRightFork = false; public boolean hasLeftFork = false; public Philosophy() {} public Philosophy(String n,String lFork, String rFork) { name = n; leftFork = lFork; rightFork = rFork; state = State.THINK; } public Philosophy(Philosophy p) { name = p.getName(); leftFork = p.getLeftFork(); rightFork = p.getRightFork(); } public State getState() { return state; } public void setState(State s) { state = s; } public String getName() { return name; } public String getLeftFork() { return leftFork; } public String getRightFork() { return rightFork; } public void resetHasForkFlag() { hasRightFork = false; hasLeftFork = false; } public void checkForkFlag(String fork) { if (rightFork.equals(fork)) { hasRightFork = true; } else if (leftFork.equals(fork)) { hasLeftFork = true; } else {} } }