Professional Documents
Culture Documents
Checkers Finished 06-03
Checkers Finished 06-03
var element=0;
var element2=0;
var j;
var k;
var count=0;
var o;
var p;
var marks;
var colors=0;
var t=Randomizer.nextInt(0,1);
var killedR =0;
var killedG =0;
function start(){
background();
board();
balls();
if(t==0) {
count=0;
}else{
count=3;
}
mouseClickMethod(step);
whoStarts();
whoWins();
function line(x,y,z,k) {
var lin = new Line(x,y,z,k);
lin.setColor(Color.WHITE);
lin.setLineWidth(5);
add(lin);
}
function background() {
var rect = new Rectangle(getWidth(), getHeight());
add(rect);
line(15,15, 15, getHeight()-96);
line(15,getHeight()-96, getWidth()-15, getHeight()-96);
line(15,15, getWidth()-15, 15);
line(getWidth()-15, 15, getWidth()-15, getHeight()-96);
}
function board () {
while(y<=350) {
rect(x, y, color);
x = x + size;
if(color==Color.BLACK) {
color = Color.WHITE;
}else{
color = Color.BLACK;
}
rect(x, y, color);
if(color==Color.BLACK) {
color = Color.WHITE;
}else{
color = Color.BLACK;
}
x = x + size;
if(x>=getWidth()-65) {
x = 15;
y = y+size;
if(color==Color.BLACK) {
color = Color.WHITE;
}else{
color = Color.BLACK;
}
}
}
}
function ballx(x, y) {
ball = new Circle(20);
ball.setColor(Color.RED);
ball.setPosition(x, y);
add(ball);
}
function bally(x, y) {
var ball = new Circle(20);
ball.setColor(Color.GREY);
ball.setPosition(x, y);
add(ball);
}
function balls() {
for(var i=0; i<12; i++) {
ballx(m,n);
m=m+2*size;
if(m>=getWidth()) {
n=n+size;
m=x+size/2;
if(n>=100) {
m=x+size/2+size;
}
}
}
for(var i=0; i<12; i++) {
bally(a,b);
a=a+size*2;
if(a>=getWidth()) {
b=b+size;
a=x+size/2+size;
if(b>=350) {
a=x+size/2;
}
}
}
}
function step(e) {
if(count%6==5) {
count=count-2;
}
///////////????????????????????????????????????????????????????????????????????????
????????????????????
if(count%6==4) {
if(getElementAt(e.getX(), e.getY())==element2 ||
getElementAt(e.getX(), e.getY())==marks) {
element2 = 0;
remove(marks);
count++;
}else{
if(getElementAt(e.getX(), e.getY())!=element2 &&
getElementAt(e.getX(), e.getY())!=marks &&
((p+size<getHeight()-size*2 && o-size>0 && getElementAt(o-size,
p+size).getColor()==Color.BLACK) ||
(p+size<getHeight()-size*2 && o+size<getWidth() && getElementAt(o+size,
p+size).getColor()==Color.BLACK))
}
/////////////////////////////////// RED KILLS GREY
if(p+size*2<getHeight()-90 && o-size*2>0 && (getElementAt(o-
size,p+size).getColor()==Color.GREY || getElementAt(o-
size,p+size).getColor()==Color.CYAN) &&
(o-size*2>0 && getElementAt(o-size*2,
p+size*2).getColor()==Color.BLACK))
{ if(e.getX()<=o && e.getY()>=p) {
element2.move(-size*2, size*2);
if(element2.getY()>320) { element2.setColor(Color.YELLOW); }
remove(marks);
remove(getElementAt(o-size,p+size));
killedG++;
count=count+2;
}
}
}
}
////////////////////////////////////KILLING BACK///////////////////
if(colors==1 && o-size*2>0 && (getElementAt(o-size,p-
size).getColor()==Color.GREY ||
getElementAt(o-size,p-size).getColor()==Color.CYAN) &&
(o-size*2>0 && p-size*2>0 && getElementAt(o-size*2, p-
size*2).getColor()==Color.BLACK))
{ if(e.getX()<=o && e.getY()<=p) {
element2.move(-size*2, -size*2);
remove(marks);
remove(getElementAt(o-size,p-size));
killedG++;
count=count+2;
colors=0;
}
}
}
}
/////////////////////////////////////////////////////////
}
}
////////////????????????????????????????????????????????????????????????????????
?????????????
if(count%6==3) {
if(getElementAt(e.getX(), e.getY()).getColor()==Color.RED) {
element2 = getElementAt(e.getX(), e.getY());
o = element2.getX();
p = element2.getY();
mark(o, p);
count++;
}
}
if(count%6==2) {
count=0;
}
///////////////!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!
if(count%6==1) {
if(getElementAt(e.getX(), e.getY())==element ||
getElementAt(e.getX(), e.getY())==marks) {
element = 0;
remove(marks);
count++;
}else{
}
///////////////////////////////// GREY KILLS RED
if(k-size*2>0 && j-size>0 && (getElementAt(j-size,k-
size).getColor()==Color.RED ||
getElementAt(j-size,k-size).getColor()==Color.YELLOW) &&
(j-size*2>0 && getElementAt(j-size*2, k-
size*2).getColor()==Color.BLACK))
{ if(e.getX()<=j && e.getY()<=k) {
element.move(-size*2, -size*2);
if(element.getY()<40) { element.setColor(Color.CYAN); }
remove(marks);
remove(getElementAt(j-size,k-size));
killedR++;
count=count+2;
}
}
}
}
}
}
//////////////////////////////////////////////////////////////
}
}
///////!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!
if(count%6==0) {
if(getElementAt(e.getX(), e.getY()).getColor()==Color.GREY) {
element = getElementAt(e.getX(), e.getY());
j = element.getX();
k = element.getY();
mark(j, k);
count++;
}
/////////////////// When GREY BECOMES CAYEN
if(getElementAt(e.getX(), e.getY()).getColor()==Color.CYAN) {
element = getElementAt(e.getX(), e.getY());
j = element.getX();
k = element.getY();
mark(j, k);
count++;
colors=1;
}
}
}
function mark(x,y) {
marks = new Circle(6);
marks.setColor(Color.ORANGE);
marks.setPosition(x,y);
add(marks);
}
function whoStarts() {
if(t==0) {
var txt= new Text("GREY STARTS");
txt.setPosition(200, 440);
txt.setColor(Color.WHITE);
add(txt);
}else{
var txt= new Text("RED STARTS");
txt.setPosition(200, 440);
txt.setColor(Color.RED);
add(txt);
}
}
function whoWins() {
if(killedG>=12) {
var txt= new Text("RED WINS!");
txt.setPosition(100, 440);
txt.setColor(Color.RED);
add(txt);
}
if(killedR>=12) {
var txt= new Text("GREY WINS!");
txt.setPosition(100, 440);
txt.setColor(Color.WHITE);
add(txt);
}
}