/** * Creates a Magicka-style casting system. */ import java.awt.*; import objectdraw.*; public class Magicka extends FrameWindowController { private FilledRect earthButton; private FilledRect fireButton; private FilledRect waterButton; private FilledRect airButton; private FilledRect iceButton; private FilledRect electricityButton; private FilledRect arcaneButton; private String element1; private String element2; private String mod; private FilledOval aoeButton; private FilledOval aoeInterior; private FilledRect boltButton; private boolean ifMod; private boolean second; private boolean third; /** * Creates the interface. */ public void begin() { aoeButton = new FilledOval(305,10,100,100,canvas); aoeButton.setColor(new Color(127,255,0)); aoeInterior = new FilledOval(315,20,80,80,canvas); boltButton = new FilledRect(525,10,20,100,canvas); boltButton.setColor(new Color(127,255,0)); aoeInterior.setColor(Color.white); earthButton = new FilledRect(20,150,100,100,canvas); earthButton.setColor(new Color(205,201,203)); fireButton = new FilledRect(140,150,100,100,canvas); fireButton.setColor(new Color(205,201,203)); waterButton = new FilledRect(260,150,100,100,canvas); waterButton.setColor(new Color(205,201,203)); airButton = new FilledRect(380,150,100,100,canvas); airButton.setColor(new Color(205,201,203)); iceButton = new FilledRect(500,150,100,100,canvas); iceButton.setColor(new Color(205,201,203)); electricityButton = new FilledRect(620,150,100,100,canvas); electricityButton.setColor(new Color(205,201,203)); arcaneButton = new FilledRect(740,150,100,100,canvas); arcaneButton.setColor(new Color(205,201,203)); } /** * Color changes and addition to the list when an element is pressed. */ public void onMousePress(Location point) { if(aoeButton.contains(point) || aoeInterior.contains(point)) { ifMod = true; earthButton.setColor(new Color(139,69,19)); fireButton.setColor(new Color(255,20,0)); waterButton.setColor(new Color(0,191,255)); airButton.setColor(new Color(208,208,215)); iceButton.setColor(new Color(224,255,255)); electricityButton.setColor(new Color(255,255,0)); aoeButton.setColor(new Color(205,201,203)); boltButton.setColor(new Color(205,201,203)); System.out.print("\n"+"An area attack of "); } if(boltButton.contains(point)) { ifMod = true; earthButton.setColor(new Color(139,69,19)); fireButton.setColor(new Color(255,20,0)); waterButton.setColor(new Color(0,191,255)); airButton.setColor(new Color(208,208,215)); iceButton.setColor(new Color(224,255,255)); electricityButton.setColor(new Color(255,255,0)); aoeButton.setColor(new Color(205,201,203)); boltButton.setColor(new Color(205,201,203)); System.out.print("\n"+"A bolt of "); } if(earthButton.contains(point) && ifMod) { if(third = true); { earthButton.setColor(new Color(205,201,203)); } if(second = true); { earthButton.setColor(new Color(119,49,0)); System.out.print("earth."); third = true; } if(second = false); { earthButton.setColor(new Color(119,49,0)); System.out.print("earth and "); second = true; } } if(fireButton.contains(point) && ifMod) { if(third = true); { fireButton.setColor(new Color(205,201,203)); } if(second = true); { fireButton.setColor(new Color(235,0,0)); System.out.print("fire."); third = true; } if(second = false); { fireButton.setColor(new Color(235,0,0)); System.out.print("fire and "); second = true; } } if(waterButton.contains(point) && ifMod) { if(third = true); { waterButton.setColor(new Color(205,201,203)); } if(second = true); { waterButton.setColor(new Color(0,171,235)); System.out.print("water."); third = true; } if(second = false); { waterButton.setColor(new Color(0,171,235)); System.out.print("water and "); second = true; } } if(airButton.contains(point) && ifMod) { if(third = true); { airButton.setColor(new Color(205,201,203)); } if(second = true); { airButton.setColor(new Color(188,188,195)); System.out.print("air."); third = true; } if(second = false); { airButton.setColor(new Color(188,188,195)); System.out.print("air and "); second = true; } } if(iceButton.contains(point) && ifMod) { if(third = true); { airButton.setColor(new Color(205,201,203)); } if(second = true); { iceButton.setColor(new Color(204,235,235)); System.out.print("ice."); third = true; } if(second = false); { iceButton.setColor(new Color(204,235,235)); System.out.print("ice and "); second = true; } } if(electricityButton.contains(point) && ifMod) { if(third = true); { electricityButton.setColor(new Color(205,201,203)); } if(second = true); { electricityButton.setColor(new Color(240,240,0)); System.out.print("electricity."); third = true; } if(second = false); { electricityButton.setColor(new Color(240,240,0)); System.out.print("electricity and "); second = true; } } if(arcaneButton.contains(point) && ifMod) { if(third = true); { arcaneButton.setColor(new Color(205,201,203)); } if(second = true); { arcaneButton.setColor(new Color(179,1,113)); System.out.print("arcane power."); third = true; if(second = false); { arcaneButton.setColor(new Color(179,1,113)); System.out.print("arcane power and "); second = true; } } } } public void onMouseRelease(Location point) { if(ifMod) { earthButton.setColor(new Color(139,69,19)); fireButton.setColor(new Color(255,20,0)); waterButton.setColor(new Color(0,191,255)); airButton.setColor(new Color(208,208,215)); iceButton.setColor(new Color(224,255,255)); electricityButton.setColor(new Color(255,255,0)); arcaneButton.setColor(new Color(199,21,133)); } } }