Skip to content

Commit

Permalink
added axis to better track board positions.
Browse files Browse the repository at this point in the history
  • Loading branch information
mgoadric committed Dec 4, 2011
1 parent 0b47437 commit 4eef737
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 7 deletions.
3 changes: 0 additions & 3 deletions Axiom.java
Expand Up @@ -462,9 +462,6 @@ public void generateMoves(Player p) {
}
}

// TODO MHG 12/1/2011 cannot have two sceptres crossing
// TODO MHG 12/1/2011 cannot have a sceptre hit a cube on the opposite side

// CLOCKWISE and COUNTERCLOCKWISE
int[][] cmap = {{Cube.XUP, Cube.YUP, Cube.XDOWN, Cube.YDOWN},
{Cube.XUP, Cube.YDOWN, Cube.XDOWN, Cube.YUP}};
Expand Down
2 changes: 1 addition & 1 deletion Cube.java
Expand Up @@ -24,7 +24,7 @@ public class Cube {
public static final int ZDOWN = 5;
public static final int NONE = -1;
public static final String[] fnames = {"x+", "x-", "y+", "y-", "z+", "z-"};
public static final int[] opposite ={XDOWN, XUP, YDOWN, YUP, ZDOWN, ZUP};
public static final int[] opposite = {XDOWN, XUP, YDOWN, YUP, ZDOWN, ZUP};

// Data members
private int[] location;
Expand Down
89 changes: 86 additions & 3 deletions ShowBoard.java
Expand Up @@ -108,9 +108,9 @@ public ShowBoard(Scanner scan) {
Transform3D transform = new Transform3D();
Box cone = null;
if (color.equals("black")) {
cone = new Box(0.4f, 0.4f, 0.4f, redAppear);
cone = new Box(0.49f, 0.49f, 0.49f, redAppear);
} else {
cone = new Box(0.4f, 0.4f, 0.4f, whiteAppear);
cone = new Box(0.49f, 0.49f, 0.49f, whiteAppear);
}
Vector3f vector = new Vector3f(x, y, z);
transform.setTranslation(vector);
Expand Down Expand Up @@ -218,7 +218,7 @@ public ShowBoard(Scanner scan) {
}
}
//universe.getViewingPlatform().setNominalViewingTransform();

g2.addChild(new Axis());

// add the group of objects to the Universe
universe.addBranchGraph(group);
Expand All @@ -242,3 +242,86 @@ public static void main(String[] args) {

}
}

/*
* Getting Started with the Java 3D API written in Java 3D
*
* This program demonstrates: 1. writing a visual object class In this program,
* Axis class defines a visual object This particular class extends Shape3D See
* the text for a discussion. 2. Using LineArray to draw 3D lines.
*/

class Axis extends Shape3D {

////////////////////////////////////////////
//
// create axis visual object
//
public Axis() {

this.setGeometry(createGeometry());

}

private Geometry createGeometry() {
// create line for X axis
IndexedLineArray axisLines = new IndexedLineArray(18,
GeometryArray.COORDINATES, 30);

axisLines.setCoordinate(0, new Point3f(-5.0f, 0.0f, 0.51f));
axisLines.setCoordinate(1, new Point3f(5.0f, 0.0f, 0.51f));
axisLines.setCoordinate(2, new Point3f(4.9f, 0.05f, 0.56f));
axisLines.setCoordinate(3, new Point3f(4.9f, -0.05f, 0.56f));
axisLines.setCoordinate(4, new Point3f(4.9f, 0.05f, 0.46f));
axisLines.setCoordinate(5, new Point3f(4.9f, -0.05f, 0.46f));

axisLines.setCoordinate(6, new Point3f(0.0f, -5.0f, 0.51f));
axisLines.setCoordinate(7, new Point3f(0.0f, 5.0f, 0.51f));
axisLines.setCoordinate(8, new Point3f(0.05f, 4.9f, 0.56f));
axisLines.setCoordinate(9, new Point3f(-0.05f, 4.9f, 0.56f));
axisLines.setCoordinate(10, new Point3f(0.05f, 4.9f, 0.46f));
axisLines.setCoordinate(11, new Point3f(-0.05f, 4.9f, 0.46f));

axisLines.setCoordinate(12, new Point3f(0.0f, 0.0f, 0.51f));
axisLines.setCoordinate(13, new Point3f(0.0f, 0.0f, 5.0f));
axisLines.setCoordinate(14, new Point3f(0.1f, 0.1f, 4.9f));
axisLines.setCoordinate(15, new Point3f(-0.1f, 0.1f, 4.9f));
axisLines.setCoordinate(16, new Point3f(0.1f, -0.1f, 4.9f));
axisLines.setCoordinate(17, new Point3f(-0.1f, -0.1f, 4.9f));

axisLines.setCoordinateIndex(0, 0);
axisLines.setCoordinateIndex(1, 1);
axisLines.setCoordinateIndex(2, 2);
axisLines.setCoordinateIndex(3, 1);
axisLines.setCoordinateIndex(4, 3);
axisLines.setCoordinateIndex(5, 1);
axisLines.setCoordinateIndex(6, 4);
axisLines.setCoordinateIndex(7, 1);
axisLines.setCoordinateIndex(8, 5);
axisLines.setCoordinateIndex(9, 1);
axisLines.setCoordinateIndex(10, 6);
axisLines.setCoordinateIndex(11, 7);
axisLines.setCoordinateIndex(12, 8);
axisLines.setCoordinateIndex(13, 7);
axisLines.setCoordinateIndex(14, 9);
axisLines.setCoordinateIndex(15, 7);
axisLines.setCoordinateIndex(16, 10);
axisLines.setCoordinateIndex(17, 7);
axisLines.setCoordinateIndex(18, 11);
axisLines.setCoordinateIndex(19, 7);
axisLines.setCoordinateIndex(20, 12);
axisLines.setCoordinateIndex(21, 13);
axisLines.setCoordinateIndex(22, 14);
axisLines.setCoordinateIndex(23, 13);
axisLines.setCoordinateIndex(24, 15);
axisLines.setCoordinateIndex(25, 13);
axisLines.setCoordinateIndex(26, 16);
axisLines.setCoordinateIndex(27, 13);
axisLines.setCoordinateIndex(28, 17);
axisLines.setCoordinateIndex(29, 13);

return axisLines;

} // end of Axis createGeometry()

} // end of class Axis

0 comments on commit 4eef737

Please sign in to comment.