X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=era.mi%2Fsrc%2Fera%2Fmi%2Flogic%2Ftests%2FGUITest.java;h=a135e58d9dd2543715f677cb36d8e65c081af3d3;hb=27e4465d9b23acd5d97dbb4789a70f30c86a9302;hp=8630772b62dd07ffb54e8abeeb1d60ba4402acb2;hpb=4712d3e6ee08461b7754dbfba1c9e82372bb474d;p=Mograsim.git diff --git a/era.mi/src/era/mi/logic/tests/GUITest.java b/era.mi/src/era/mi/logic/tests/GUITest.java index 8630772b..a135e58d 100644 --- a/era.mi/src/era/mi/logic/tests/GUITest.java +++ b/era.mi/src/era/mi/logic/tests/GUITest.java @@ -20,7 +20,7 @@ import era.mi.logic.components.ManualSwitch; import era.mi.logic.components.gates.NotGate; import era.mi.logic.components.gates.OrGate; import era.mi.logic.timeline.Timeline.ExecutionResult; -import era.mi.logic.wires.WireArray; +import era.mi.logic.wires.Wire; public class GUITest extends JPanel { @@ -31,20 +31,20 @@ public class GUITest extends JPanel private static final int OR_DELAY = 100; private static final int NOT_DELAY = 100; - WireArray r = new WireArray(1, WIRE_DELAY); - WireArray s = new WireArray(1, WIRE_DELAY); - WireArray t1 = new WireArray(1, WIRE_DELAY); - WireArray t2 = new WireArray(1, WIRE_DELAY); - WireArray q = new WireArray(1, WIRE_DELAY); - WireArray nq = new WireArray(1, WIRE_DELAY); + Wire r = new Wire(1, WIRE_DELAY); + Wire s = new Wire(1, WIRE_DELAY); + Wire t1 = new Wire(1, WIRE_DELAY); + Wire t2 = new Wire(1, WIRE_DELAY); + Wire q = new Wire(1, WIRE_DELAY); + Wire nq = new Wire(1, WIRE_DELAY); - ManualSwitch rIn = new ManualSwitch(r); - ManualSwitch sIn = new ManualSwitch(s); + ManualSwitch rIn = new ManualSwitch(r.createReadWriteEnd()); + ManualSwitch sIn = new ManualSwitch(s.createReadWriteEnd()); - OrGate or1 = new OrGate(OR_DELAY, t2, r, nq); - OrGate or2 = new OrGate(OR_DELAY, t1, s, q); - NotGate not1 = new NotGate(NOT_DELAY, t2, q); - NotGate not2 = new NotGate(NOT_DELAY, t1, nq); + OrGate or1 = new OrGate(OR_DELAY, t2.createReadWriteEnd(), r.createReadOnlyEnd(), nq.createReadOnlyEnd()); + OrGate or2 = new OrGate(OR_DELAY, t1.createReadWriteEnd(), s.createReadOnlyEnd(), q.createReadOnlyEnd()); + NotGate not1 = new NotGate(NOT_DELAY, t2.createReadOnlyEnd(), q.createReadWriteEnd()); + NotGate not2 = new NotGate(NOT_DELAY, t1.createReadOnlyEnd(), nq.createReadWriteEnd()); Map switchMap = new HashMap<>(); @@ -177,7 +177,7 @@ public class GUITest extends JPanel g.drawString(s, x - (int) (w * anchorX), y + (int) (h * anchorY)); } - private void drawWire(Graphics g, WireArray wa, String name, double x1, double y1, double x2, double y2) + private void drawWire(Graphics g, Wire wa, String name, double x1, double y1, double x2, double y2) { setTo(g, wa); g.drawLine(gX(x1), gY(y1), gX(x2), gY(y2)); @@ -224,7 +224,7 @@ public class GUITest extends JPanel g.setColor(Color.BLACK); } - private static void setTo(Graphics g, WireArray wa) + private static void setTo(Graphics g, Wire wa) { switch (wa.getValue()) { @@ -240,6 +240,9 @@ public class GUITest extends JPanel case ZERO: g.setColor(Color.BLACK); break; + case U: + g.setColor(Color.MAGENTA); + break; default: throw new IllegalArgumentException(); } @@ -279,7 +282,7 @@ public class GUITest extends JPanel gt.repaint(12); try { - Thread.sleep(Math.max(16 - System.currentTimeMillis() + lastFrame, 0)); + Thread.sleep(Math.max(updateT - System.currentTimeMillis() + lastFrame, 0)); } catch (Exception e) {