/[projet1]/users/barnsey123/HNEFATAFL/main.c
Defence Force logotype

Diff of /users/barnsey123/HNEFATAFL/main.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1041 by barnsey123, Tue Dec 17 18:09:54 2013 UTC revision 1042 by barnsey123, Wed Dec 18 18:24:12 2013 UTC
# Line 82  Line 82 
82  //                                              the "LookBackInAnger" issue...  //                                              the "LookBackInAnger" issue...
83  // 14-12-2013 NB v0.099 forgot calchightarget after pacman4 (brokenarrow)  // 14-12-2013 NB v0.099 forgot calchightarget after pacman4 (brokenarrow)
84  // 17-12-2013 NB v0.100 fixed bug in inccantake, brassed off.  // 17-12-2013 NB v0.100 fixed bug in inccantake, brassed off.
85    // 18-12-2013 NB v0.101 solved the "don't move away from king if leaves path open" issue
86    //                                              More efficient text routines (saving 150 bytes)
87  /****************************************/  /****************************************/
88  // TODO:  // TODO:
89  // Fix the bloody thing  // Fix the bloody thing
# Line 536  SKIPPY2: Line 538  SKIPPY2:
538      game=-1 Stalemate.      game=-1 Stalemate.
539      game=-2 Attacker wins.                                                                                                                                    game=-2 Attacker wins.                                                                                                                              
540  */  */
541      message="          ATTACKER WINS!"; // default (game=-2)      message="          ATTACKER WINS"; // default (game=-2)
542      // king escapes or all attackers killed      // king escapes or all attackers killed
543      if ( game == 0 )  message="            KING WINS";      if ( game == 0 )  message="            KING WINS";
544      // computer can't move      // computer can't move
# Line 551  SKIPPY2: Line 553  SKIPPY2:
553          }          }
554      }      }
555      printmessage();      printmessage();
556      erasetext=120; // 40*3 (3 lines to erase)      //erasetext=80; // 40*3 (3 lines to erase)
557      message="\n       ()( PRESS A KEY )()";      //message="\n       ()( PRESS A KEY )()";    
558                        //printline();
     printline();  
559      flashon();      flashon();
560        printturnline();
561      getchar();      getchar();
562      PrintTrophyScreen();      PrintTrophyScreen();
563    }    }
# Line 700  void FindPiece(){      // find a piece capabl Line 702  void FindPiece(){      // find a piece capabl
702                  }                  }
703                                    
704                  // check NORTH and SOUTH                  // check NORTH and SOUTH
705                  if ( surrounded < 3 ){                  //if ( surrounded < 3 ){
706                          if (foundpiece == 1){ // can't be taken so we've found a candidate && target is not on same row as candidate                          if (foundpiece == 1){ // can't be taken so we've found a candidate && target is not on same row as candidate
707                                  if ( CanTakeDirection[NORTH] ) {                                  if ( CanTakeDirection[NORTH] ) {
708                                          DeadPiece=targetns-1;                                          DeadPiece=targetns-1;
# Line 728  void FindPiece(){      // find a piece capabl Line 730  void FindPiece(){      // find a piece capabl
730                                          if (((a < kingns)&&(kingpieces[NORTH]==1)) || ((a > kingns)&&(kingpieces[SOUTH]==1))) setfoundpiece10();                                          if (((a < kingns)&&(kingpieces[NORTH]==1)) || ((a > kingns)&&(kingpieces[SOUTH]==1))) setfoundpiece10();
731                                  }                                  }
732                          }                          }
733                  }                  //}
734                  if (foundpiece == 1){                  if (foundpiece == 1){
735                          if (origorient < EAST){                          if (origorient < EAST){
736                                  ons = a;                                  ons = a;
# Line 1304  void printpossiblemoves(){ Line 1306  void printpossiblemoves(){
1306    char k;       // key entered    char k;       // key entered
1307    fb=1;    fb=1;
1308    printdestinations();  // print arrows on all destinations        printdestinations();  // print arrows on all destinations    
1309    message="\n       )() PRESS A KEY ()(";    //message="\n       )() PRESS A KEY ()(";
1310    printmessage();    erasetextarea();
1311    flashon();    //printmessage();             // "PRESS A KEY"
1312      flashon();                    // Make it FLASH RED
1313    printturnline();    printturnline();
1314    k=getchar();    k=getchar();
1315    //fb=0;    //fb=0;
# Line 1379  void backbone()        { Line 1382  void backbone()        {
1382      }      }
1383    }    }
1384  }  }
1385  // sidestep: take a step sideways if you can be caught where you are...  // sidestep: take a step sideways (or backwards) if you can be caught
1386    // if you stay where you are...
1387  void sidestep(){  void sidestep(){
1388          if (target[a][b] > 1)   {          if (target[a][b] > 1)   {
1389                  target[a][b]+=SIDESTEP;                  target[a][b]+=SIDESTEP;
1390                  //if ( ((orientation<EAST)&&(b==xew)) || ((orientation>SOUTH)&&(a==xns)) ) target[a][b]+=SIDESTEP;                  // add more points if step route on same row/col as king
1391                    if ( ( a == kingns ) || ( b == kingew ) ) target[a][b]+=10;
1392          }          }
1393                    
1394  }  }
# Line 1886  void takepiece(){ Line 1891  void takepiece(){
1891            TakeWeight=LOWTAKEWEIGHT;     // reduce the takeweight figure            TakeWeight=LOWTAKEWEIGHT;     // reduce the takeweight figure
1892            Trophies[FIRSTBLOOD][playertype-1]=TROPHY;    // update Trophies Array            Trophies[FIRSTBLOOD][playertype-1]=TROPHY;    // update Trophies Array
1893            firstblood=0;            firstblood=0;
1894            message=" ()( FIRST BLOOD TO ATTACKER )()\n       )() PRESS A KEY ()(";                      //message=" ()( FIRST BLOOD TO ATTACKER )()\n       )() PRESS A KEY ()(";
1895              message=" ()( FIRST BLOOD TO ATTACKER )()";          
1896              
1897            if ( playertype == DEFENDER ){            if ( playertype == DEFENDER ){
1898            message="   ()( FIRST BLOOD TO KING )()\n       )() PRESS A KEY ()(";                                        //message="   ()( FIRST BLOOD TO KING )()\n       )() PRESS A KEY ()(";
1899              message="   ()( FIRST BLOOD TO KING )()";                                
1900                              
1901            }            }
1902            submessage();            submessage();
1903                        
# Line 1896  void takepiece(){ Line 1905  void takepiece(){
1905  }  }
1906  void takemessage(){     // displays a firstblood or multiple take message  void takemessage(){     // displays a firstblood or multiple take message
1907          if ( takecounter == 2 ) {          if ( takecounter == 2 ) {
1908                  message="       ()( BLOOD EAGLE )()\n       )() PRESS A KEY ()(";                                  //message="       ()( BLOOD EAGLE )()\n       )() PRESS A KEY ()(";      
1909                    message="       ()( BLOOD EAGLE )()";            
1910                  Trophies[BLOODEAGLE][playertype-1]=TROPHY;                  Trophies[BLOODEAGLE][playertype-1]=TROPHY;
1911          }          }
1912          if ( takecounter == 3 ) {          if ( takecounter == 3 ) {
1913                  message="       ()(  BERZERKER  )()\n       )() PRESS A KEY ()(";                                  //message="       ()(  BERZERKER  )()\n       )() PRESS A KEY ()(";
1914                    message="       ()(  BERZERKER  )()";                            
1915                  Trophies[BERZERKER][playertype-1]=TROPHY;                  Trophies[BERZERKER][playertype-1]=TROPHY;
1916          }          }
1917          submessage();          submessage();
# Line 2259  void printtitles()             { Line 2270  void printtitles()             {
2270  void PrintTrophyScreen(){  void PrintTrophyScreen(){
2271          // Print text in text area          // Print text in text area
2272          Checker=11;CheckerBoard();          Checker=11;CheckerBoard();
2273            erasetext=120; // all three lines
2274          erasetextarea();          erasetextarea();
2275          message="       ()(    HNEFATAFL    ()(\n     )() VALHALLA AWARDS )()\n     ()(   PRESS A KEY   ()(";          message="       ()(    HNEFATAFL    ()(\n     )() VALHALLA AWARDS )()\n     ()(   PRESS A KEY   ()(";
2276          //message="       ()(    HNEFATAFL    ()(\n     )() VALHALLA AWARDS )()\nTURN:              REMAINING:";          //message="       ()(    HNEFATAFL    ()(\n     )() VALHALLA AWARDS )()\nTURN:              REMAINING:";

Legend:
Removed from v.1041  
changed lines
  Added in v.1042

  ViewVC Help
Powered by ViewVC 1.1.26