import objectdraw.WindowController; import objectdraw.FilledRect; import objectdraw.FilledOval; import objectdraw.Location; import objectdraw.Text; import java.awt.Color; public class ColorSwap extends WindowController { private FilledRect card1; private FilledRect card2; private FilledOval swap1; private FilledOval swap2; private FilledOval move1; private FilledOval move2; public void begin() { card1 = new FilledRect(10,10, 40, 40, canvas); card2 = new FilledRect(60,10, 40, 40, canvas); swap1 = new FilledOval(150, 10, 20, 20, canvas); swap2 = new FilledOval(150, 40, 20, 20, canvas); move1 = new FilledOval(150, 100, 20, 20, canvas); move2 = new FilledOval(150, 130, 20, 20, canvas); card1.setColor(Color.red); card2.setColor(Color.blue); swap1.setColor(Color.yellow); swap2.setColor(Color.yellow); move1.setColor(Color.green); move2.setColor(Color.green); new Text("swap1", 180, 12, canvas); new Text("swap2", 180, 42, canvas); new Text("move card 1", 180, 102, canvas); new Text("move card 2", 180, 132, canvas); } private void swapColors1(FilledRect c1, FilledRect c2) { FilledRect temp = c1; c1 = c2; c2 = temp; } private void swapColors2(FilledRect c1, FilledRect c2) { Color tempColor = c1.getColor(); c1.setColor(c2.getColor()); c2.setColor(tempColor); } public void onMouseClick(Location point) { if(move1.contains(point)) card1.move(0, 20); else if(move2.contains(point)) card2.move(0, 20); else if(swap1.contains(point)) swapColors1(card1, card2); else if(swap2.contains(point)) swapColors2(card1, card2); } }