Java Implementation of the game set.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

158 lines
4.2 KiB

package net.jrtechs.setgame;
public class Card
{
//color,number, shape, shading
private final int number; //0,1,2
private final int color; //0-red,1-blue,2-green
private final int shape; //0-square,1-triangle,2-circle
private final int shading; //0-solid, 1-striped, 2-clear
private boolean inUse = true;
//constructor
Card(int num, int col, int shap, int shad)
{
number = num;
color = col;
shape = shap;
shading = shad;
}
public int getNumber()
{
return number;
}
public int getColor()
{
return color;
}
public int getShape()
{
return shape;
}
public int getShading()
{
return shading;
}
public boolean getInUse()
{
return inUse;
}
public void setInUse(boolean change)
{
inUse = change;
}
public String toString()
{
String dis = new String();
switch(number)
{
case 0: dis = "1";
break;
case 1: dis = "2";
break;
case 2: dis = "3";
}
switch(color)
{
case 0: dis += " red";
break;
case 1: dis += " blue";
break;
case 2: dis += " green";
}
switch(shape)
{
case 0: dis += " square";
break;
case 1: dis += " triangle";
break;
case 2: dis += " circle";
}
switch(shading)
{
case 0: dis += " solid";
break;
case 1: dis += " striped";
break;
case 2: dis += " clear";
}
return dis;
}
public boolean equals(Card check)
{
if(check.shape == this.shape && check.color == this.color && check.number == this.number && check.shading == this.shading)
{
return true;
}
return false;
}
public static boolean equals(Card one, Card two, Card three)
{
if(one.equals(two) || one.equals(three) || two.equals(three))
{
return false;
}
return true;
}
//compares the colors of three cards
public static boolean compare_color(Card one, Card two, Card three)
{
if(one.color == two.color && one.color == three.color)
{
return true;
}
else if(one.color != two.color && one.color != three.color && two.color != three.color)
{
return true;
}
return false;
}
//compares the number of three cards
public static boolean compare_number(Card one, Card two, Card three)
{
if(one.number == two.number && one.number == three.number)
{
return true;
}
else if(one.number != two.number && one.number != three.number && two.number != three.number)
{
return true;
}
return false;
}
//compares the shading of the three cards
public static boolean compare_shading(Card one, Card two, Card three)
{
if(one.shading == two.shading && one.shading == three.shading)
{
return true;
}
else if(one.shading != two.shading && one.shading != three.shading && two.shading != three.shading)
{
return true;
}
return false;
}
//checks to see if three cards have the same shale
public static boolean compare_shape(Card one, Card two, Card three)
{
if(one.shape == two.shape && one.shape == three.shape)
{
return true;
}
else if(one.shape != two.shape && one.shape != three.shape && two.shape != three.shape)
{
return true;
}
return false;
}
//checks to see if three cards are a set
public static boolean isSet(Card one, Card two, Card three)
{
if(Card.compare_color(one, two, three) && Card.compare_number(one, two, three) && Card.compare_shading(one, two, three) && Card.compare_shape(one, two, three))
{
return true;
}
return false;
}
}