Mercurial > hg > Members > nobuyasu > Alice > DPPAlice
view src/alice/test/dpp/codesegment/ScheduleCodeSegment.java @ 15:7e91e919a7de
modified
author | one |
---|---|
date | Sun, 09 Dec 2012 22:09:46 +0900 |
parents | 33727db069c2 |
children | f5c2fad58b7e |
line wrap: on
line source
package alice.test.dpp.codesegment; import alice.codesegment.CodeSegment; import alice.datasegment.CommandType; import alice.datasegment.Receiver; import alice.test.dpp.model.Philosophy; public class ScheduleCodeSegment extends CodeSegment { Receiver arg1 = ids.create(CommandType.TAKE); public ScheduleCodeSegment(String pName) { arg1.setKey(pName); } @Override public void run() { Philosophy phil = arg1.asClass(Philosophy.class); switch(phil.getState()) { case THINK: new ThinkCodeSegment(phil.getName()); break; case TAKERIGHTFORK: new TakeOneForkCodeSegment(phil.getName(), phil.getRightFork()); break; case TAKELEFTFORK: new TakeOneForkCodeSegment(phil.getName(), phil.getLeftFork()); break; /* case TAKEFORK: new TakeForkCodeSegment(phil.getName(), phil.getRightFork(), phil.getLeftFork() ); break; */ case EAT: new EatCodeSegment(phil.getName()); break; case PUTFORK: new PutForkCodeSegment(phil.getName(), phil.getRightFork(), phil.getLeftFork()); break; default: } ods.update("local", phil.getName(), phil); } }