// 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: PawnOdds.java import java.awt.Graphics; public class Taurus0 extends VernHugh { public Taurus0() { } public boolean ICanMove(Graphics g){ if (i_have_vanished[whoseMove]==true){return false;} if ((ConditionC()==true)&(IsMySideInCheck(whoseMove)==false)){return false;} moveCounter=0; for(x=1; (x < 15) & (moveCounter == 0); x++) for(y=1; (y < 15) & (moveCounter == 0); y++) if (i_can_move_you(whoseMove,NowBoard.sq_[y][x].side_)==true) { trueside= NowBoard.sq_[y][x].side_ ; NowBoard.sq_[y][x].side_=whoseMove; findPieceMoves(g, NowBoard.sq_[y][x], NowBoard, MaybeBoard); NowBoard.sq_[y][x].side_=trueside; } if(moveCounter == 0) { AmIParalyzed[nextplayer(whoseMove)]=true; if (IsMySideInCheck(whoseMove)==true) { i_have_vanished[whoseMove]=true; for(x=1; (x < 15) & (moveCounter == 0); x++) for(y=1; (y < 15) & (moveCounter == 0); y++) if (NowBoard.sq_[y][x].side_==whoseMove) { NowBoard.sq_[y][x].piece_=0; NowBoard.sq_[y][x].side_=0; } } else {if (ConditionA()==true) { GameOver=true; drawn_games++; showStatus("Stalemate"); } } return false; } if (ConditionB()==true) {GameOver=true;DeclareVictory();} return true; } public int HowManyHaveVanished(){ x=0; if (i_have_vanished[1]==true){x++;} if (i_have_vanished[2]==true){x++;} if (i_have_vanished[3]==true){x++;} if (i_have_vanished[4]==true){x++;} return x; } public void Castle2(Graphics g, Chsq chsq, CB16_16 cb16_16, CB16_16 cb16_16_1){ if ((chsq.side_==2) &(AmIUnderAttack(8,1,2)==false) &(AmIUnderAttack(9,1,2)==false) &(cb16_16.sq_[9][1].piece_==0) &(AmIUnderAttack(10,1,2)==false) &(cb16_16.sq_[11][1].piece_==6)) {c[depth]=1;d[depth]=10;MaybeAdd(g, chsq, cb16_16, cb16_16_1);} if ((chsq.side_==2) &(AmIUnderAttack(8,1,2)==false) &(AmIUnderAttack(7,1,2)==false) &(cb16_16.sq_[7][1].piece_==0) &(AmIUnderAttack(6,1,2)==false) &(cb16_16.sq_[6][1].piece_==0) &(cb16_16.sq_[5][1].piece_==0) &(cb16_16.sq_[4][1].piece_==6)) {c[depth]=1;d[depth]=6;MaybeAdd(g, chsq, cb16_16, cb16_16_1);}} public void Castle4(Graphics g, Chsq chsq, CB16_16 cb16_16, CB16_16 cb16_16_1){ if ((chsq.side_==4) &(AmIUnderAttack(7,14,4)==false) &(AmIUnderAttack(8,14,4)==false) &(cb16_16.sq_[8][14].piece_==0) &(AmIUnderAttack(9,14,4)==false) &(cb16_16.sq_[10][14].piece_==0) &(cb16_16.sq_[11][14].piece_==6)) {c[depth]=14;d[depth]=9;MaybeAdd(g, chsq, cb16_16, cb16_16_1);} if ((chsq.side_==4) &(AmIUnderAttack(7,14,4)==false) &(AmIUnderAttack(6,14,4)==false) &(cb16_16.sq_[6][14].piece_==0) &(AmIUnderAttack(5,14,4)==false) &(cb16_16.sq_[4][14].piece_==6)) {c[depth]=14;d[depth]=5;MaybeAdd(g, chsq, cb16_16, cb16_16_1);}} public void HughesCastle(){ if (NowBoard.sq_[mover_rank][mover_file].piece_!=-2){return;} if ((moveto_rank-mover_rank!=2)& (moveto_rank-mover_rank!=-2)& (moveto_file-mover_file!=2)& (moveto_file-mover_file!=-2)) {return;} if ((moveto_rank==1)&(moveto_file==10)) { NowBoard.sq_[1][11].piece_=0; NowBoard.sq_[1][11].side_=0; NowBoard.sq_[1][9].piece_=5; NowBoard.sq_[1][9].side_=whoseMove; } if ((moveto_rank==1)&(moveto_file==6)) { NowBoard.sq_[1][4].piece_=0; NowBoard.sq_[1][4].side_=0; NowBoard.sq_[1][7].piece_=5; NowBoard.sq_[1][7].side_=whoseMove; } if ((moveto_rank==14)&(moveto_file==9)) { NowBoard.sq_[14][11].piece_=0; NowBoard.sq_[14][11].side_=0; NowBoard.sq_[14][8].piece_=5; NowBoard.sq_[14][8].side_=whoseMove; } if ((moveto_rank==14)&(moveto_file==5)) { NowBoard.sq_[14][4].piece_=0; NowBoard.sq_[14][4].side_=0; NowBoard.sq_[14][6].piece_=5; NowBoard.sq_[14][6].side_=whoseMove; } if ((moveto_rank==6)&(moveto_file==1)) { NowBoard.sq_[4][1].piece_=0; NowBoard.sq_[4][1].side_=0; NowBoard.sq_[7][1].piece_=5; NowBoard.sq_[7][1].side_=whoseMove; } if ((moveto_rank==10)&(moveto_file==1)) { NowBoard.sq_[11][1].piece_=0; NowBoard.sq_[11][1].side_=0; NowBoard.sq_[9][1].piece_=5; NowBoard.sq_[9][1].side_=whoseMove; } if ((moveto_rank==5)&(moveto_file==14)) { NowBoard.sq_[4][14].piece_=0; NowBoard.sq_[4][14].side_=0; NowBoard.sq_[6][14].piece_=5; NowBoard.sq_[6][14].side_=whoseMove; } if ((moveto_rank==9)&(moveto_file==14)) { NowBoard.sq_[11][14].piece_=0; NowBoard.sq_[11][14].side_=0; NowBoard.sq_[8][14].piece_=5; NowBoard.sq_[8][14].side_=whoseMove; } } public void SeeWhetherTaurus2IsOver(Graphics g){ } public void NextOrdinaryPlayer(Graphics g) { SeeWhetherTaurus2IsOver(g); do { whoseMove=nextplayer(whoseMove); if (whoseMove==1){turncounter++;} UnTwoThePawns(whoseMove); } while ((GameOver==false)&(ICanMove(g)==false)); if (GameOver==false){ if (number_of_sides==4){ switch(whoseMove) { case 1: // '\001' ShowStatusQ("Purple moves!"); break; case 2: // '\002' ShowStatusQ("White moves!"); break; case 3: // '\003' ShowStatusQ("Green moves!"); break; case 4: // '\004' ShowStatusQ("Gold moves!"); break; }} if (number_of_sides==2){ switch(whoseMove) { case 1: // '\001' ShowStatusQ("Blue 1 moves!"); break; case 2: // '\002' ShowStatusQ("Red 1 moves!"); break; case 3: // '\003' ShowStatusQ("Blue 2 moves!"); break; case 4: // '\004' ShowStatusQ("Red 2 moves!"); break; }} } whatpiecescanmove(g); ShowStatusNothing(); } public boolean ConditionA(){ return false; } public boolean ConditionC(){ return false; } public boolean ConditionB(){ return false; } public void DeclareVictory(){ System.out.print("Declare victory?"); } public boolean IsMySideInCheck(int i) { if(AnotherWayToCheck(i)) return true; for(xxx=1; xxx < 15; xxx++) for(yyy=1; yyy < 15; yyy++) if((i == MaybeBoard.sq_[yyy][xxx].side_) & (MaybeBoard.sq_[yyy][xxx].piece_ < 0) && AmIUnderAttack(yyy, xxx, i)) return true; return false; } public void PromoStuff(Graphics g) { if (NowBoard.sq_[moveto_rank][moveto_file].piece_==401) { if ( (moveto_rank==14) | ((moveto_rank==11)&(moveto_file<=3)) | ((moveto_rank==11)&(moveto_file>=12)) | ((moveto_file==1)&(moveto_rank>=6)) | ((moveto_file==14)&(moveto_rank>=6)) ) {NowBoard.sq_[moveto_rank][moveto_file].piece_=9;} } if (NowBoard.sq_[moveto_rank][moveto_file].piece_==403) { if ( (moveto_rank==1) | ((moveto_rank==4)&(moveto_file<=3)) | ((moveto_rank==4)&(moveto_file>=12)) | ((moveto_file==1)&(moveto_rank<=9)) | ((moveto_file==14)&(moveto_rank<=9)) ) {NowBoard.sq_[moveto_rank][moveto_file].piece_=9;} } if (NowBoard.sq_[moveto_rank][moveto_file].piece_==402) { if ( (moveto_file==14) | ((moveto_file==11)&(moveto_rank<=3)) | ((moveto_file==11)&(moveto_rank>=12)) | ((moveto_rank==1)&(moveto_file>=6)) | ((moveto_rank==14)&(moveto_file>=6)) ) {NowBoard.sq_[moveto_rank][moveto_file].piece_=9;} } if (NowBoard.sq_[moveto_rank][moveto_file].piece_==404) { if ( (moveto_file==1) | ((moveto_file==4)&(moveto_rank<=3)) | ((moveto_file==4)&(moveto_rank>=12)) | ((moveto_rank==1)&(moveto_file<=9)) | ((moveto_rank==14)&(moveto_file<=9)) ) {NowBoard.sq_[moveto_rank][moveto_file].piece_=9;} } } public int trueside; }