// i outed the designatethegoodmoves by depth>-1 // SEE IF THERE IS A WAY TO MAKE KING VANISH: SOMETHING DOES WITHOUT ALERTING GOTCHA // is there en passant; if so you must also adjust altermaybeboard here and eralier // you must take the king if you can OR leave; to do this you will make IsMySideInCheckBy using an isenemyrook(i,j,k,whoisattacking) // next thing is to do the promotions and pawn twosteps // Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: packimports(3) // Source File Name: TrigonCh.java import java.applet.Applet; import java.awt.*; import java.io.PrintStream; public class TrigonCh extends ChessTri { public TrigonCh() { } public void alterMaybeBoard(Graphics g, ChsqTri chsqTri, ChsqTri chsqTri1, CBTri cbTri, CBTri cbTri_1) { cbTri_1.sq_[chsqTri.rank_][chsqTri.file_].piece_=0; cbTri_1.sq_[chsqTri.rank_][chsqTri.file_].side_=0; cbTri_1.sq_[chsqTri1.rank_][chsqTri1.file_].piece_=cbTri.sq_[chsqTri.rank_][chsqTri.file_].piece_; cbTri_1.sq_[chsqTri1.rank_][chsqTri1.file_].side_=cbTri.sq_[chsqTri.rank_][chsqTri.file_].side_; if ((IHaveMovedABishop[chsqTri.side_]==false)&(IHaveLostABishop[chsqTri.side_]==false)&(chsqTri.piece_==4)) {TransferTheOtherBishop(cbTri_1,chsqTri.rank_,chsqTri.file_,chsqTri1.rank_,chsqTri1.file_);} } public void TransferTheOtherBishop(CBTri cbTri,int bishop_from_rank,int bishop_from_file,int bishop_to_rank,int bishop_to_file){ if (NowBoard.sq_[bishop_to_rank][bishop_to_file].pointing_up()==false){return;} if ((bishop_from_rank==3)&(bishop_from_file==6)) { cbTri.sq_[6][3].piece_=0;cbTri.sq_[6][3].side_=0; cbTri.sq_[6][4].piece_=4;cbTri.sq_[6][4].side_=2; } if ((bishop_from_rank==6)&(bishop_from_file==3)) { cbTri.sq_[3][6].piece_=0;cbTri.sq_[3][6].side_=0; cbTri.sq_[4][6].piece_=4;cbTri.sq_[4][6].side_=2; } if ((bishop_from_rank==11)&(bishop_from_file==8)) { cbTri.sq_[11][14].piece_=0;cbTri.sq_[11][14].side_=0; cbTri.sq_[11][13].piece_=4;cbTri.sq_[11][13].side_=1; } if ((bishop_from_rank==11)&(bishop_from_file==14)) { cbTri.sq_[11][8].piece_=0;cbTri.sq_[11][8].side_=0; cbTri.sq_[11][9].piece_=4;cbTri.sq_[11][9].side_=1; } if ((bishop_from_rank==6)&(bishop_from_file==19)) { cbTri.sq_[3][16].piece_=0;cbTri.sq_[3][16].side_=0; cbTri.sq_[4][16].piece_=4;cbTri.sq_[4][16].side_=3; } if ((bishop_from_rank==3)&(bishop_from_file==16)) { cbTri.sq_[6][19].piece_=0;cbTri.sq_[6][19].side_=0; cbTri.sq_[6][18].piece_=4;cbTri.sq_[6][18].side_=3; } } public void DoKnightAttackers(){ if(patt==3) { catt=xatt+3;datt=yatt ;AddAnAttacker(); catt=xatt-3;datt=yatt ;AddAnAttacker(); catt=xatt-1;datt=yatt-2;AddAnAttacker(); catt=xatt-1;datt=yatt+2;AddAnAttacker(); catt=xatt+1;datt=yatt-2;AddAnAttacker(); catt=xatt+1;datt=yatt+2;AddAnAttacker(); if (NowBoard.sq_[yatt][xatt].pointing_up()==true) { catt=xatt+2;datt=yatt-1;AddAnAttacker(); catt=xatt-2;datt=yatt-1;AddAnAttacker(); catt=xatt+4;datt=yatt+1;AddAnAttacker(); catt=xatt-4;datt=yatt+1;AddAnAttacker(); catt=xatt+3;datt=yatt+2;AddAnAttacker(); catt=xatt-3;datt=yatt+2;AddAnAttacker(); } else { catt=xatt+2;datt=yatt+1;AddAnAttacker(); catt=xatt-2;datt=yatt+1;AddAnAttacker(); catt=xatt+4;datt=yatt-1;AddAnAttacker(); catt=xatt-4;datt=yatt-1;AddAnAttacker(); catt=xatt+3;datt=yatt-2;AddAnAttacker(); catt=xatt-3;datt=yatt-2;AddAnAttacker(); } } } public void DoBishopAttackers(){ if((patt==4) | (patt==9)) { catt=xatt;datt=yatt; while ((catt>0)&(datt>0)&(catt<=wydth)&(datt<=hyte)) { step_01(catt,datt);catt=dx;datt=dy; AddAnAttacker(); if (NowBoard.sq_[datt][catt].side_ !=0){catt=200;} } catt=xatt;datt=yatt; while ((catt>0)&(datt>0)&(catt<=wydth)&(datt<=hyte)) { step_03(catt,datt);catt=dx;datt=dy; AddAnAttacker(); if (NowBoard.sq_[datt][catt].side_ !=0){catt=200;} } catt=xatt;datt=yatt; while ((catt>0)&(datt>0)&(catt<=wydth)&(datt<=hyte)) { step_05(catt,datt);catt=dx;datt=dy; AddAnAttacker(); if (NowBoard.sq_[datt][catt].side_ !=0){catt=200;} } catt=xatt;datt=yatt; while ((catt>0)&(datt>0)&(catt<=wydth)&(datt<=hyte)) { step_07(catt,datt);catt=dx;datt=dy; AddAnAttacker(); if (NowBoard.sq_[datt][catt].side_ !=0){catt=200;} } catt=xatt;datt=yatt; while ((catt>0)&(datt>0)&(catt<=wydth)&(datt<=hyte)) { step_09(catt,datt);catt=dx;datt=dy; AddAnAttacker(); if (NowBoard.sq_[datt][catt].side_ !=0){catt=200;} } catt=xatt;datt=yatt; while ((catt>0)&(datt>0)&(catt<=wydth)&(datt<=hyte)) { step_11(catt,datt);catt=dx;datt=dy; AddAnAttacker(); if (NowBoard.sq_[datt][catt].side_ !=0){catt=200;} } } }; public void DoRookAttackers(){ if((patt==5) | (patt==6) | (patt==9)) { catt=xatt;datt=yatt; while ((catt>0)&(datt>0)&(catt<=wydth)&(datt<=hyte)) { step_02(catt,datt);catt=dx;datt=dy; AddAnAttacker(); if (NowBoard.sq_[datt][catt].side_ !=0){catt=200;} } catt=xatt;datt=yatt; while ((catt>0)&(datt>0)&(catt<=wydth)&(datt<=hyte)) { step_04(catt,datt);catt=dx;datt=dy; AddAnAttacker(); if (NowBoard.sq_[datt][catt].side_ !=0){catt=200;} } catt=xatt;datt=yatt; while ((catt>0)&(datt>0)&(catt<=wydth)&(datt<=hyte)) { step_06(catt,datt);catt=dx;datt=dy; AddAnAttacker(); if (NowBoard.sq_[datt][catt].side_ !=0){catt=200;} } catt=xatt;datt=yatt; while ((catt>0)&(datt>0)&(catt<=wydth)&(datt<=hyte)) { step_08(catt,datt);catt=dx;datt=dy; AddAnAttacker(); if (NowBoard.sq_[datt][catt].side_ !=0){catt=200;} } catt=xatt;datt=yatt; while ((catt>0)&(datt>0)&(catt<=wydth)&(datt<=hyte)) { step_10(catt,datt);catt=dx;datt=dy; AddAnAttacker(); if (NowBoard.sq_[datt][catt].side_ !=0){catt=200;} } catt=xatt;datt=yatt; while ((catt>0)&(datt>0)&(catt<=wydth)&(datt<=hyte)) { step_12(catt,datt);catt=dx;datt=dy; AddAnAttacker(); if (NowBoard.sq_[datt][catt].side_ !=0){catt=200;} } } }; public void CastleStuff(Graphics g) { if (NowBoard.sq_[moveto_rank][moveto_file].piece_==-2) { if ((moveto_rank==11)&(moveto_file==16)) { NowBoard.sq_[11][18].piece_=0;NowBoard.sq_[11][18].side_=0; NowBoard.sq_[11][14].piece_=5;NowBoard.sq_[11][14].side_=1; } if ((moveto_rank==11)&(moveto_file== 8)) { NowBoard.sq_[11][ 4].piece_=0;NowBoard.sq_[11][ 4].side_=0; NowBoard.sq_[11][10].piece_=5;NowBoard.sq_[11][10].side_=1; } if ((moveto_rank== 7)&(moveto_file== 2)) { NowBoard.sq_[ 8][ 1].piece_=0;NowBoard.sq_[ 8][ 1].side_=0; NowBoard.sq_[ 6][ 3].piece_=5;NowBoard.sq_[ 6][ 3].side_=2; } if ((moveto_rank== 3)&(moveto_file== 6)) { NowBoard.sq_[ 1][ 8].piece_=0;NowBoard.sq_[ 1][ 8].side_=0; NowBoard.sq_[ 4][ 5].piece_=5;NowBoard.sq_[ 4][ 5].side_=2; } if ((moveto_rank== 2)&(moveto_file==15)) { NowBoard.sq_[ 1][14].piece_=0;NowBoard.sq_[ 1][14].side_=0; NowBoard.sq_[ 3][16].piece_=5;NowBoard.sq_[ 3][16].side_=3; } if ((moveto_rank== 6)&(moveto_file==19)) { NowBoard.sq_[ 8][21].piece_=0;NowBoard.sq_[ 8][21].side_=0; NowBoard.sq_[ 5][18].piece_=5;NowBoard.sq_[ 5][18].side_=3 ; } } } public void SupplementalMovers(Graphics g, ChsqTri chsqTri, CBTri cbTri, CBTri cbTri_1) { if ((chsqTri.piece_==-2)&(depth<3)) { if ((chsqTri.rank_==11)&(chsqTri.file_==12) &(AmIUnderAttack(11,12,1)==false) &(AmIUnderAttack(11,14,1)==false) &(cbTri.sq_[11][14].piece_==0) &(cbTri.sq_[11][16].piece_==0) &(cbTri.sq_[11][18].piece_==6)) {d[depth]=11;c[depth]=16;MaybeAdd(g, chsqTri, cbTri, cbTri_1);} if ((chsqTri.rank_==11)&(chsqTri.file_==12) &(AmIUnderAttack(11,12,1)==false) &(AmIUnderAttack(11,10,1)==false) &(cbTri.sq_[11][10].piece_==0) &(cbTri.sq_[11][ 8].piece_==0) &(cbTri.sq_[11][ 6].piece_==0) &(cbTri.sq_[11][ 4].piece_==6)) {d[depth]=11;c[depth]= 8;MaybeAdd(g, chsqTri, cbTri, cbTri_1);} if ((chsqTri.rank_== 5)&(chsqTri.file_== 4) &(AmIUnderAttack( 5, 4,2)==false) &(AmIUnderAttack( 6, 3,2)==false) &(cbTri.sq_[ 6][ 3].piece_==0) &(cbTri.sq_[ 7][ 2].piece_==0) &(cbTri.sq_[ 8][ 1].piece_==6)) {d[depth]= 7;c[depth]= 2;MaybeAdd(g, chsqTri, cbTri, cbTri_1);} if ((chsqTri.rank_== 5)&(chsqTri.file_== 4) &(AmIUnderAttack( 5, 4,2)==false) &(AmIUnderAttack( 4, 5,2)==false) &(cbTri.sq_[ 4][ 5].piece_==0) &(cbTri.sq_[ 3][ 6].piece_==0) &(cbTri.sq_[ 2][ 7].piece_==0) &(cbTri.sq_[ 1][ 8].piece_==6)) {d[depth]= 3;c[depth]= 6;MaybeAdd(g, chsqTri, cbTri, cbTri_1);} if ((chsqTri.rank_== 4)&(chsqTri.file_==17) &(AmIUnderAttack( 4,17,3)==false) &(AmIUnderAttack( 3,16,3)==false) &(cbTri.sq_[ 3][16].piece_==0) &(cbTri.sq_[ 2][15].piece_==0) &(cbTri.sq_[ 1][14].piece_==6)) {d[depth]= 2;c[depth]=15;MaybeAdd(g, chsqTri, cbTri, cbTri_1);} if ((chsqTri.rank_== 4)&(chsqTri.file_==17) &(AmIUnderAttack( 4,17,3)==false) &(AmIUnderAttack( 5,18,3)==false) &(cbTri.sq_[ 5][18].piece_==0) &(cbTri.sq_[ 6][19].piece_==0) &(cbTri.sq_[ 7][20].piece_==0) &(cbTri.sq_[ 8][21].piece_==6)) {d[depth]= 6;c[depth]=19;MaybeAdd(g, chsqTri, cbTri, cbTri_1);} } if ((chsqTri.piece_==-1)|(chsqTri.piece_==-2)) { c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; step_12(c[depth],d[depth]);c[depth]=dx;d[depth]=dy; MaybeAdd(g, chsqTri, cbTri, cbTri_1); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; step_01(c[depth],d[depth]);c[depth]=dx;d[depth]=dy; MaybeAdd(g, chsqTri, cbTri, cbTri_1); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; step_02(c[depth],d[depth]);c[depth]=dx;d[depth]=dy; MaybeAdd(g, chsqTri, cbTri, cbTri_1); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; step_03(c[depth],d[depth]);c[depth]=dx;d[depth]=dy; MaybeAdd(g, chsqTri, cbTri, cbTri_1); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; step_04(c[depth],d[depth]);c[depth]=dx;d[depth]=dy; MaybeAdd(g, chsqTri, cbTri, cbTri_1); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; step_05(c[depth],d[depth]);c[depth]=dx;d[depth]=dy; MaybeAdd(g, chsqTri, cbTri, cbTri_1); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; step_06(c[depth],d[depth]);c[depth]=dx;d[depth]=dy; MaybeAdd(g, chsqTri, cbTri, cbTri_1); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; step_07(c[depth],d[depth]);c[depth]=dx;d[depth]=dy; MaybeAdd(g, chsqTri, cbTri, cbTri_1); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; step_08(c[depth],d[depth]);c[depth]=dx;d[depth]=dy; MaybeAdd(g, chsqTri, cbTri, cbTri_1); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; step_09(c[depth],d[depth]);c[depth]=dx;d[depth]=dy; MaybeAdd(g, chsqTri, cbTri, cbTri_1); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; step_10(c[depth],d[depth]);c[depth]=dx;d[depth]=dy; MaybeAdd(g, chsqTri, cbTri, cbTri_1); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; step_11(c[depth],d[depth]);c[depth]=dx;d[depth]=dy; MaybeAdd(g, chsqTri, cbTri, cbTri_1); } if ((chsqTri.piece_==5)|(chsqTri.piece_==6)|(chsqTri.piece_==9)) { c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; do {step_12(c[depth],d[depth]);c[depth]=dx;d[depth]=dy;} while ( (MaybeAdd(g, chsqTri, cbTri, cbTri_1)==true) | ((CheckSquare[depth]==true) & (SquatterOnCheckSquare[depth]==false))); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; do {step_02(c[depth],d[depth]);c[depth]=dx;d[depth]=dy;} while ( (MaybeAdd(g, chsqTri, cbTri, cbTri_1)==true) | ((CheckSquare[depth]==true) & (SquatterOnCheckSquare[depth]==false))); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; do {step_04(c[depth],d[depth]);c[depth]=dx;d[depth]=dy;} while ( (MaybeAdd(g, chsqTri, cbTri, cbTri_1)==true) | ((CheckSquare[depth]==true) & (SquatterOnCheckSquare[depth]==false))); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; do {step_06(c[depth],d[depth]);c[depth]=dx;d[depth]=dy;} while ( (MaybeAdd(g, chsqTri, cbTri, cbTri_1)==true) | ((CheckSquare[depth]==true) & (SquatterOnCheckSquare[depth]==false))); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; do {step_08(c[depth],d[depth]);c[depth]=dx;d[depth]=dy;} while ( (MaybeAdd(g, chsqTri, cbTri, cbTri_1)==true) | ((CheckSquare[depth]==true) & (SquatterOnCheckSquare[depth]==false))); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; do {step_10(c[depth],d[depth]);c[depth]=dx;d[depth]=dy;} while ( (MaybeAdd(g, chsqTri, cbTri, cbTri_1)==true) | ((CheckSquare[depth]==true) & (SquatterOnCheckSquare[depth]==false))); } if ((chsqTri.piece_==4)&(IHaveMovedABishop[chsqTri.side_]==false)) { if ((chsqTri.rank_==3)&(chsqTri.file_==6)){d[depth]=4;c[depth]=6;MaybeAdd(g, chsqTri, cbTri, cbTri_1);} if ((chsqTri.rank_==6)&(chsqTri.file_==3)){d[depth]=6;c[depth]=4;MaybeAdd(g, chsqTri, cbTri, cbTri_1);} if ((chsqTri.rank_==11)&(chsqTri.file_==8)){d[depth]=11;c[depth]=9;MaybeAdd(g, chsqTri, cbTri, cbTri_1);} if ((chsqTri.rank_==11)&(chsqTri.file_==14)){d[depth]=11;c[depth]=13;MaybeAdd(g, chsqTri, cbTri, cbTri_1);} if ((chsqTri.rank_==6)&(chsqTri.file_==19)){d[depth]=6;c[depth]=18;MaybeAdd(g, chsqTri, cbTri, cbTri_1);} if ((chsqTri.rank_==3)&(chsqTri.file_==16)){d[depth]=4;c[depth]=16;MaybeAdd(g, chsqTri, cbTri, cbTri_1);} } if ((chsqTri.piece_==4)|(chsqTri.piece_==9)) { c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; do {step_01(c[depth],d[depth]);c[depth]=dx;d[depth]=dy;} while ( (MaybeAdd(g, chsqTri, cbTri, cbTri_1)==true) | ((CheckSquare[depth]==true) & (SquatterOnCheckSquare[depth]==false))); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; do {step_03(c[depth],d[depth]);c[depth]=dx;d[depth]=dy;} while ( (MaybeAdd(g, chsqTri, cbTri, cbTri_1)==true) | ((CheckSquare[depth]==true) & (SquatterOnCheckSquare[depth]==false))); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; do {step_05(c[depth],d[depth]);c[depth]=dx;d[depth]=dy;} while ( (MaybeAdd(g, chsqTri, cbTri, cbTri_1)==true) | ((CheckSquare[depth]==true) & (SquatterOnCheckSquare[depth]==false))); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; do {step_07(c[depth],d[depth]);c[depth]=dx;d[depth]=dy;} while ( (MaybeAdd(g, chsqTri, cbTri, cbTri_1)==true) | ((CheckSquare[depth]==true) & (SquatterOnCheckSquare[depth]==false))); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; do {step_09(c[depth],d[depth]);c[depth]=dx;d[depth]=dy;} while ( (MaybeAdd(g, chsqTri, cbTri, cbTri_1)==true) | ((CheckSquare[depth]==true) & (SquatterOnCheckSquare[depth]==false))); c[depth]=chsqTri.file_;d[depth]=chsqTri.rank_; do {step_11(c[depth],d[depth]);c[depth]=dx;d[depth]=dy;} while ( (MaybeAdd(g, chsqTri, cbTri, cbTri_1)==true) | ((CheckSquare[depth]==true) & (SquatterOnCheckSquare[depth]==false))); } if (chsqTri.piece_==3) { d[depth]=chsqTri.rank_-2;c[depth]=chsqTri.file_+1;MaybeAdd(g, chsqTri, cbTri, cbTri_1); d[depth]=chsqTri.rank_-2;c[depth]=chsqTri.file_-1;MaybeAdd(g, chsqTri, cbTri, cbTri_1); d[depth]=chsqTri.rank_+2;c[depth]=chsqTri.file_+1;MaybeAdd(g, chsqTri, cbTri, cbTri_1); d[depth]=chsqTri.rank_+2;c[depth]=chsqTri.file_-1;MaybeAdd(g, chsqTri, cbTri, cbTri_1); d[depth]=chsqTri.rank_ ;c[depth]=chsqTri.file_-3;MaybeAdd(g, chsqTri, cbTri, cbTri_1); d[depth]=chsqTri.rank_ ;c[depth]=chsqTri.file_+3;MaybeAdd(g, chsqTri, cbTri, cbTri_1); if (chsqTri.pointing_up()==true) { d[depth]=chsqTri.rank_-1;c[depth]=chsqTri.file_+2;MaybeAdd(g, chsqTri, cbTri, cbTri_1); d[depth]=chsqTri.rank_-1;c[depth]=chsqTri.file_-2;MaybeAdd(g, chsqTri, cbTri, cbTri_1); d[depth]=chsqTri.rank_+1;c[depth]=chsqTri.file_+4;MaybeAdd(g, chsqTri, cbTri, cbTri_1); d[depth]=chsqTri.rank_+1;c[depth]=chsqTri.file_-4;MaybeAdd(g, chsqTri, cbTri, cbTri_1); d[depth]=chsqTri.rank_+2;c[depth]=chsqTri.file_+3;MaybeAdd(g, chsqTri, cbTri, cbTri_1); d[depth]=chsqTri.rank_+2;c[depth]=chsqTri.file_-3;MaybeAdd(g, chsqTri, cbTri, cbTri_1); } if (chsqTri.pointing_up()==false) { d[depth]=chsqTri.rank_+1;c[depth]=chsqTri.file_+2;MaybeAdd(g, chsqTri, cbTri, cbTri_1); d[depth]=chsqTri.rank_+1;c[depth]=chsqTri.file_-2;MaybeAdd(g, chsqTri, cbTri, cbTri_1); d[depth]=chsqTri.rank_-1;c[depth]=chsqTri.file_+4;MaybeAdd(g, chsqTri, cbTri, cbTri_1); d[depth]=chsqTri.rank_-1;c[depth]=chsqTri.file_-4;MaybeAdd(g, chsqTri, cbTri, cbTri_1); d[depth]=chsqTri.rank_-2;c[depth]=chsqTri.file_+3;MaybeAdd(g, chsqTri, cbTri, cbTri_1); d[depth]=chsqTri.rank_-2;c[depth]=chsqTri.file_-3;MaybeAdd(g, chsqTri, cbTri, cbTri_1); } } } public void NormalMoveExtra() { // System.out.print("["+mover_rank+""+mover_file+""+moveto_rank+""+moveto_file+"]"); if (NowBoard.sq_[moveto_rank][moveto_file].piece_<0) { // System.out.print("GOTCHA!"+mover_rank+""+mover_file+""+moveto_rank+""+moveto_file); // WhoIsHuman[1]=true;WhoIsHuman[2]=true;WhoIsHuman[3]=true; a=NowBoard.sq_[moveto_rank][moveto_file].side_; for(xx=1; (xx0) { if(accepted_terms) { g.drawRect(26+34*(wydth+1)-58, 316-230, 67, 18); g.drawRect(27+34*(wydth+1)-58, 317-230, 65, 16); } if(!accepted_terms) { g.drawRect(147+34*(wydth+1)-58, 316-230, 95, 18); g.drawRect(148+34*(wydth+1)-58, 317-230, 93, 16); } } if(who_is_winning>0) g.drawString("Continue Game", 150+34*(wydth+1)-58, 330-230); g.setFont(f3); g.drawString("--Ed Friedlander", 150+34*(wydth+1)-58,150); g.setFont(f2); if(humanizing) g.drawString("OKAY", 210+34*(wydth+1)-58, 300-230); g.setColor(Color.white); if(WhoIsHuman[1]) { g.drawRect(747,48, 48, 18); g.drawRect(748,49, 46, 16); } if(!WhoIsHuman[1]) { g.drawRect(807,48, 61, 18); g.drawRect(808,49, 59, 16); } g.setColor(Color.red); if(WhoIsHuman[2]) { g.drawRect(747,68, 48, 18); g.drawRect(748,69, 46, 16); } if(!WhoIsHuman[2]) { g.drawRect(807,68, 61, 18); g.drawRect(808,69, 59, 16); } g.setColor(Color.yellow); if(WhoIsHuman[3]) { g.drawRect(747,88, 48, 18); g.drawRect(748,89, 46, 16); } if(!WhoIsHuman[3]) { g.drawRect(807,88, 61, 18); g.drawRect(808,89, 59, 16); } g.setColor(Color.black); SaySomethingElseAboutWhoIsHuman(g); DisplayRules(g); } public void inquire_about_terms(){} public boolean mouseDown(Event event, int i, int j) { System.out.println("x="+i+" y="+j); if(NowBoard==null) return true; Graphics g=getGraphics(); TotalMaybeBoard(NowBoard, MaybeBoard); TotalMaybeBoard(MaybeBoard, TwoBoard); TotalMaybeBoard(TwoBoard, ThreeBoard); TotalMaybeBoard(ThreeBoard, FourBoard); ShowStatusNothing(); xx= (i-30)%60; a= 1+ ( (i-30)/60)*2; b= 1+(j-30) /45; yy= (j-30)%45; if (b%2==0){ if (xx<2*(45-yy)/3){a--;} else {if (xx-30>2*(yy)/3){a++;}} } if (b%2==1){ if (xx<2*(yy)/3){a--;} else {if (xx-30>2*(45-yy)/3){a++;}} } if(j<30) if(humanizing | PromotingAPawn) { return true; } else { DisplayRules(g); return true; } if(!PromotingAPawn) SayWhoIsHuman(g); if(PromotingAPawn) DrawPromotionOptions(g); if(GameOver) { GameOver=false; StartUp(g); repaint(); return true; } // a=i / 30; // b=9 - j / 30; if(!PromotingAPawn) if((i>=746) & (j>=50) & (i<=793) & (j<=70)) { humanizing=true; WhoIsHuman[1]=true; SayWhoIsHuman(g); } else if ((i>=807) & (j>=50) & (i<=867) & (j<=70)) { humanizing=true; WhoIsHuman[1]=false; SayWhoIsHuman(g); } else if((i>=746) & (j>=70) & (i<=793) & (j<=90)) { humanizing=true; WhoIsHuman[2]=true; SayWhoIsHuman(g); } else if ((i>=807) & (j>=70) & (i<=867) & (j<=90)) { humanizing=true; WhoIsHuman[2]=false; SayWhoIsHuman(g); } else if((i>=746) & (j>=90) & (i<=793) & (j<=110)) { humanizing=true; WhoIsHuman[3]=true; SayWhoIsHuman(g); } else if ((i>=807) & (j>=90) & (i<=867) & (j<=110)) { humanizing=true; WhoIsHuman[3]=false; SayWhoIsHuman(g); } else if((i>=26+34*(wydth+1)) & (j>=316-230) & (i<=93+34*(wydth+1)) & (j<=334-230)) { if(who_is_winning==0) return true; humanizing=true; accepted_terms=true; SayWhoIsHuman(g); } else if((i>=147+34*(wydth+1)) & (j>=316-230) & (i<=242+34*(wydth+1)) & (j<=334-230)) { if(who_is_winning==0) return true; humanizing=true; accepted_terms=false; SayWhoIsHuman(g); } else if((i>=896) & (j>=56) & (i<950) & (j<70)) { humanizing=false; SayWhoIsHuman(g); if(accepted_terms) { if(who_is_winning !=0) GameOver=true; if(who_is_winning==1) wins[1]++; if(who_is_winning==2) wins[2]++; if(who_is_winning==3) drawn_games++; if(who_is_winning !=0) { StartUp(g); repaint(); markingAPiece=true; return true; } } } if(humanizing) return true; if((a<1) | (a>wydth) | (b<1) | (b>hyte) && !PromotingAPawn) return true; if(PromotingAPawn) { if(!PromotionClicks(i, j)) return true; NowBoard.sq_[queening_rank][queening_file].piece_=xxx; MaybeBoard.sq_[queening_rank][queening_file].piece_=xxx; NowBoard.sq_[queening_rank][queening_file].drawchsq(g, 1, false); TotalMaybeBoard(NowBoard,MaybeBoard);DidICheckOrStalemate(g, whoseMove); PromotingAPawn=false; if (WhoIsHuman[whoseMove]==true){SayWhoIsHuman(g);} NextOrdinaryPlayer(g); if(WhoIsHuman[whoseMove]) { markingAPiece=true; return true; } } if(WhoIsHuman[whoseMove]) if(markingAPiece) markAPiece(g, b, a); else if(HumanMoveAPiece(g, b, a)) { if(GameOver) return true; if(PromotingAPawn) return true; NextOrdinaryPlayer(g); } while((!WhoIsHuman[whoseMove]) & (!GameOver) & (!PromotingAPawn)) { MachineMoves(g, whoseMove); if(GameOver) return true; NextOrdinaryPlayer(g); if(WhoIsHuman[whoseMove]) markingAPiece=true; } return true; } public void NextOrdinaryPlayer(Graphics g) { if ((IsMySideInCheck(1)==true)|(IsMySideInCheck(2)==true) |(IsMySideInCheck(3)==true)){ShowStatusQ("Check!");} IsTheGameOver(); if(GameOver) return; if (WhoIsHuman[whoseMove]==true){SayWhoIsHuman(g);} failsafe(g); whoseMove++; if (whoseMove==4){whoseMove=1;} UnTwoThePawns(whoseMove); moveCounter=0; player_can_take_king[0]=false; player_can_take_king[1]=false; player_can_take_king[2]=false; player_can_take_king[3]=false; for(xx=1; (xx0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd0)&(cc0)&(dd