update javadoc css
[fleet.git] / ships / obsolete / HomeworkCounter.java
1 package edu.berkeley.fleet.interpreter.ships;
2 import edu.berkeley.fleet.interpreter.*;
3 import edu.berkeley.fleet.*;
4
5 import java.util.*;
6 import java.io.*;
7
8 public class HomeworkCounter extends InterpreterShip {
9
10     private int count = -1;
11
12     TokenOutbox zero     = new TokenOutbox(this, "zero");
13     TokenOutbox positive = new TokenOutbox(this, "positive");
14     DataInbox    load     = new DataInbox(this, "load");
15     TokenInbox  ask      = new TokenInbox(this, "ask");
16
17     public HomeworkCounter(Interpreter fleet, String name) {
18         super(fleet, name);
19     }
20
21     public void service() {
22         if (!zero.readyForTokenFromShip()) return;
23         if (!positive.readyForTokenFromShip()) return;
24         if (load.dataReadyForShip()) {
25             count = load.removeDataForShip();
26             return;
27         }
28         if (ask.tokenReadyForShip()) {
29             ask.removeTokenForShip();
30             if (count > 0) {
31                 count--;
32                 positive.addTokenFromShip();
33             } else if (count<=0) {
34                 zero.addTokenFromShip();
35             }
36         }
37     }
38
39 }