home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Graphics;
- import java.awt.Point;
- import java.util.Vector;
-
- class Slot extends Queue {
- private int _color;
-
- Slot(int var1) {
- super(var1);
- this._color = var1;
- }
-
- boolean isFull() {
- return ((Vector)this).size() == this._color;
- }
-
- int getColor() {
- return this._color;
- }
-
- void drawCage(Graphics var1, IsoPoint var2, int var3, int var4, boolean var5) {
- var1.setColor(var5 ? Tubes.colors[this._color].darker() : Tubes.colors[this._color]);
- IsoPoint var6 = new IsoPoint(var2.x, var2.y);
- var6.isoMove(0, 0, var3);
- var6.drawHalfIsoCircle(var1, var4, var5);
- int var7 = var3 < 0 ? -1 : 1;
- var6.drawHalfIsoCylinder(var1, var7 * (2 * var4 * this._color - Math.abs(var3)), var4, var5);
- ((Point)var6).move(var2.x, var2.y);
- var6.isoMove(0, 0, var7 * 2 * var4);
- int var8 = 0;
-
- while(var8 < this._color) {
- var6.drawHalfIsoCircle(var1, var4, var5);
- ++var8;
- var6.isoMove(0, 0, var7 * 2 * var4);
- }
-
- }
-
- void draw(Graphics var1, IsoPoint var2, int var3, int var4) {
- this.drawCage(var1, var2, var3, var4, true);
- IsoPoint var5 = new IsoPoint(var2.x, var2.y);
- var5.isoMove(0, 0, var3 < 0 ? -var4 - 2 * var4 * (this._color - ((Vector)this).size()) : var4);
- int var6 = 0;
-
- while(var6 < ((Vector)this).size()) {
- ((Bead)((Queue)this).at(var6)).draw(var1, var5.x, var5.y);
- ++var6;
- var5.isoMove(0, 0, var3 < 0 ? -2 * var4 : 2 * var4);
- }
-
- this.drawCage(var1, var2, var3, var4, false);
- }
- }
-