/**
* 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));
}
}
}