// ---------------------------------------------- // - EXON ( Ver 1.2 ) 13th MARCH 1999 - // - - // - Programmed by : Paul Flint (BEAKER) - // - Time spent so far : 2 Weeks ( 55 Hours ) - // - PSX Program Number : First C Program ! - // - ( I guess it shows. ) - // ---------------------------------------------- // This program uses the excellent pad routines from Nelson Santos/ROGUE ( cheers! ) // ***** Thanks Must Go To ****** // Everyone who supplies source code on the Net Yaroze Site // ( I'd have been lost without it ! ) // Herbert Schildt for his book:- " Teach Yourself C " // SCEE For sending me my bundle of joy so quickly // ***** Special Thanks ****** // Scott Campbell for his help regarding TIM files and general support // ************************************************************************************ // ----------------------------------------------- // Includes // ----------------------------------------------- #include <__rts_info_t__.h> #include #include "rougepad.h" // Include the rougepad.h header file // ----------------------------------------------- // Defines // ----------------------------------------------- // Total number of sprites #define SPRITE_CNT (256) // Screen size detail #define SCREEN_WIDTH 320 #define SCREEN_HEIGHT 240 // Tim address' in Memory #define spriteAdd 0x801a0000 #define spriteAdd2 0x80100000 #define spriteAdd3 0x80110000 #define spriteAdd4 0x80120000 #define spriteAdd5 0x80130000 #define spriteAdd6 0x80140000 #define spriteAdd7 0x80150000 #define spriteAdd8 0x80160000 #define spriteAdd9 0x80170000 #define spriteAdd10 0x80180000 #define spriteAdd11 0x80190000 #define spriteAdd12 0x801b0000 #define spriteAdd13 0x801c0000 #define spriteAdd14 0x801d0000 // Set ordering table length #define OT_LENGTH (4) // ----------------------------------------------- // General Function Prototypes // ----------------------------------------------- void InitSprite1 (); // (open sequence pic) void InitSprite2 (); // (open sequence pic) void InitSprite3 (); // (open sequence pic) void InitSprite4 (); // (open sequence pic) void InitSprite5 (); // (open sequence pic) void InitSprite6 (); // Player 1 Sprite void InitSprite7 (); // Player 2 Sprite void InitSprite8 (); // Game Background left side (coz I can't work out GsBG yet,) void InitSprite9 (); // Game Background right side (sprites are used as background) void InitSprite10 (); // Player 1's X void InitSprite11 (); // Player 2's O void InitSprite12 (); // Player 1's Winner Sprite void InitSprite13 (); // Player 2's Winner Sprite void InitSprite14 (); // Game was a Draw Sprite void InitGrid(); // Clear all grid values to 0 ( no-one owns them ) void DrawGrid(); // Draw all owned grid location void GetGridNumberP1(); // used to determine which grid player 1 is at void GetGridNumberP2(); // used to determine which grid player 2 is at void DrawO(int number); // Register grid location ownership to Player 2 void DrawX(int number); // Register grid location ownership to Player 1 void delay(int num); // delay function to pause program (open sequence) void FadeSprite4Out(); // fade sprite4 out to zero brightness (open sequence) void FadeSprite4In(); // fade sprite4 in to normal brightness (open sequence) void FlashSprite5(); // flash sprite5 on / off (open sequence) void CheckP1Score(); // used to check player 1's score void CheckP2Score(); // used to check player 2's score void DisplayWinner(); // check to see who won and display victory screen accordingly // ------------------------------------ // Game Function Prototypes // ------------------------------------ void opentitle(); // Run Title Sequence void InitGame(); // Run Game void SomePad1(); // Pad 1 reading function void SomePad2(); // Pad 2 reading function // ----------------------------------------------- // Initialise Structures // ----------------------------------------------- // Ordering table 1 variables GsOT WorldOT[2]; GsOT_TAG OTTags[2][1<8096) TestSprite3.scaley=TestSprite3.scalex=8096; // Find out which buffer is being used activeBuff = GsGetActiveBuff(); // Packet area GsSetWorkBase((PACKET *)GpuPacketArea[activeBuff]); // Clear the ordering table GsClearOt(0,0,&WorldOT[activeBuff]); // Register sprite into ordering table // Uses GsSortFastSprite for speed - no rotation/scaling needed GsSortSprite(&TestSprite3,&WorldOT[activeBuff],0); // Wait for all drawing to finish DrawSync(0); // Wait for vertical blank interrupt VSync(0); // Switch display buffer & offscreen buffer GsSwapDispBuff(); // Sort the ordering table GsSortClear(0,0,0,&WorldOT[activeBuff]); // Draw the objects registered in the Ordering table GsDrawOt(&WorldOT[activeBuff]); delay(2000); Quit++; } delay(2000000); // call to delay function to pause program // so last image is held on screen for a moment Quit=0; while (Quit != 80) { TestSprite3.x+=5; // scroll sprite 3 right // Find out which buffer is being used activeBuff = GsGetActiveBuff(); // Packet area GsSetWorkBase((PACKET *)GpuPacketArea[activeBuff]); // Clear the ordering table GsClearOt(0,0,&WorldOT[activeBuff]); // Register sprite into ordering table // Uses GsSortFastSprite for speed - no rotation/scaling needed GsSortSprite(&TestSprite3,&WorldOT[activeBuff],0); // Wait for all drawing to finish DrawSync(0); // Wait for vertical blank interrupt VSync(0); // Switch display buffer & offscreen buffer GsSwapDispBuff(); // Sort the ordering table GsSortClear(0,0,0,&WorldOT[activeBuff]); // Draw the objects registered in the Ordering table GsDrawOt(&WorldOT[activeBuff]); delay(2000); Quit++; } FadeSprite4In(); Quit=0; while(Quit!=1) { FlashSprite5(); } FadeSprite4Out(); delay(2000); InitGame(); // Call to start game } // end of opentitle() ////////////////////////////////////////////////////////////////////////////////////////// // ------------------------------------- // void FadeSprite4Out() // ------------------------------------- void FadeSprite4Out() { int fade = 0; while(fade!= 128) { TestSprite4.r--; TestSprite4.g--; TestSprite4.b--; // Find out which buffer is being used activeBuff = GsGetActiveBuff(); // Clear the ordering table GsClearOt(0,0,&WorldOT[activeBuff]); // Register sprite into ordering table // Uses GsSortFastSprite for speed - no rotation/scaling needed GsSortFastSprite(&TestSprite4,&WorldOT[activeBuff],0); // Wait for all drawing to finish DrawSync(0); // Wait for vertical blank interrupt VSync(0); // Switch display buffer & offscreen buffer GsSwapDispBuff(); // Sort the ordering table GsSortClear(0,0,0,&WorldOT[activeBuff]); // Draw the objects registered in the Ordering table GsDrawOt(&WorldOT[activeBuff]); fade++; } }// end of FadeSprite4Out() ///////////////////////////////////////////////////////////////////////////////////////////// // ------------------------------------- // void FadeSprite4In() // ------------------------------------- void FadeSprite4In() { int fade = 0; while(fade!= 128) { TestSprite4.r++; TestSprite4.g++; TestSprite4.b++; // Find out which buffer is being used activeBuff = GsGetActiveBuff(); // Clear the ordering table GsClearOt(0,0,&WorldOT[activeBuff]); // Register sprite into ordering table // Uses GsSortFastSprite for speed - no rotation/scaling needed GsSortFastSprite(&TestSprite4,&WorldOT[activeBuff],0); // Wait for all drawing to finish DrawSync(0); // Wait for vertical blank interrupt VSync(0); // Switch display buffer & offscreen buffer GsSwapDispBuff(); // Sort the ordering table GsSortClear(0,0,0,&WorldOT[activeBuff]); // Draw the objects registered in the Ordering table GsDrawOt(&WorldOT[activeBuff]); fade++; } }// end of FadeSprite4In() //////////////////////////////////////////////////////////////////////////////////////////// // -------------------- // void FlashSprite5() // -------------------- void FlashSprite5() { int flash = 0; while(flash != 32 && Quit !=1) { TestSprite5.r--; TestSprite5.g--; TestSprite5.b--; TestSprite5.r--; TestSprite5.g--; TestSprite5.b--; Pad1 = PadRead(1); // Read in input data from Pad 1 //Pad2 = PadRead(2); // Read in input data from Pad 1 if (Pad1 & PADSTART) // if user pressed START on Pad1 { flash=32; Quit=1; } // Find out which buffer is being used activeBuff = GsGetActiveBuff(); // Clear the ordering table GsClearOt(0,0,&WorldOT[activeBuff]); // Register sprite into ordering table // Uses GsSortFastSprite for speed - no rotation/scaling needed GsSortFastSprite(&TestSprite4,&WorldOT[activeBuff],0); GsSortFastSprite(&TestSprite5,&WorldOT[activeBuff],0); // Wait for all drawing to finish DrawSync(0); // Wait for vertical blank interrupt VSync(0); // Switch display buffer & offscreen buffer GsSwapDispBuff(); // Sort the ordering table GsSortClear(0,0,0,&WorldOT[activeBuff]); // Draw the objects registered in the Ordering table GsDrawOt(&WorldOT[activeBuff]); flash++; } flash = 0; while(flash != 32 && Quit !=1) { TestSprite5.r++; TestSprite5.g++; TestSprite5.b++; TestSprite5.r++; TestSprite5.g++; TestSprite5.b++; Pad1 = PadRead(1); // Read in input data from Pad 1 //Pad2 = PadRead(2); // Read in input data from Pad 2 if (Pad1 & PADSTART) // if user pressed START on Pad1 { flash=32; Quit=1; } // Find out which buffer is being used activeBuff = GsGetActiveBuff(); // Clear the ordering table GsClearOt(0,0,&WorldOT[activeBuff]); // Register sprite into ordering table // Uses GsSortFastSprite for speed - no rotation/scaling needed GsSortFastSprite(&TestSprite4,&WorldOT[activeBuff],0); GsSortFastSprite(&TestSprite5,&WorldOT[activeBuff],0); // Wait for all drawing to finish DrawSync(0); // Wait for vertical blank interrupt VSync(0); // Switch display buffer & offscreen buffer GsSwapDispBuff(); // Sort the ordering table GsSortClear(0,0,0,&WorldOT[activeBuff]); // Draw the objects registered in the Ordering table GsDrawOt(&WorldOT[activeBuff]); flash++; } }// end of FlashSprite5() //////////////////////////////////////////////////////////////////////////////////////// // ---------------------------- // void SomePad1() // ---------------------------- void SomePad1() { if (Pad1 & PADSTART && Pad1 & PADSELECT) { run=240; } if (Pad1 & PADRIGHT) { if(P1screenx != 19) { TestSprite6.x+=15; P1screenx++; delay(80000); } } if (Pad1 & PADLEFT) { if(P1screenx != 0) { TestSprite6.x-=15; P1screenx--; delay(80000); } } if (Pad1 & PADDOWN) { if(P1screeny != 11) { TestSprite6.y+=15; P1screeny++; delay(80000); } } if (Pad1 & PADUP) { if(P1screeny != 0) { TestSprite6.y-=15; P1screeny--; delay(80000); } } // Place an X at current position and swap control to P1 if (Pad1 & PADX) { GetGridNumberP1(); DrawX(gridnumber); } }// end of void SomePad1() //////////////////////////////////////////////////////////////////////////////////////////// // ---------------------------- // void SomePad2() // ---------------------------- void SomePad2() { if (Pad2 & PADRIGHT) { if(P2screenx != 0) { TestSprite7.x+=15; P2screenx--; delay(80000); } } if (Pad2 & PADLEFT) { if(P2screenx != 19) { TestSprite7.x-=15; P2screenx++; delay(80000); } } if (Pad2 & PADDOWN) { if(P2screeny != 11) { TestSprite7.y+=15; P2screeny++; delay(80000); } } if (Pad2 & PADUP) { if(P2screeny != 0) { TestSprite7.y-=15; P2screeny--; delay(80000); } } // Place an O at current position and swap control to P1 if (Pad2 & PADX) { GetGridNumberP2(); DrawO(gridnumber); } }// end of void SomePad2() //////////////////////////////////////////////////////////////////////////////////////////// // -------------------------------------- // void InitGame() // -------------------------------------- void InitGame() { run = 0; p1score = 0; p2score = 0; while(run != 240) { // Find out which buffer is being used activeBuff = GsGetActiveBuff(); //********************************************************************** // FOR ANYONE WHO HAS VISITED MY WEBSITE, THIS NEXT LINE OF // CODE WAS ORIGINALLY MISSING WHICH CAUSED THE GAME TO CRASH // FOR NO APPARENT REASON. (REMOVE IT AND SEE WHAT HAPPENS !) // I DISCOVERED THIS BY CALLING InitGame() BEFORE OpenTitle() // FROM main() AND THE GAME SCREEN DIDN'T DISPLAY AT ALL. // Packet area (VERY IMPORTANT !!) GsSetWorkBase((PACKET *)GpuPacketArea[activeBuff]); //********************************************************************** // Clear the ordering table GsClearOt(0,0,&WorldOT[activeBuff]); if(swap == 0) { Pad1 = PadRead(1); // Read in input data from Pad 1 if (Pad1 != 0) // if a key on pad 1 has been pressed... { SomePad1(); } GsSortSprite(&TestSprite6,&WorldOT[activeBuff],1); } if(swap == 1) { Pad2 = PadRead(2); // Read in input data from Pad 2 if (Pad2 != 0) // if a key on pad 2 has been pressed... { SomePad2(); } GsSortSprite(&TestSprite7,&WorldOT[activeBuff],1); } GsSortFastSprite(&TestSprite8,&WorldOT[activeBuff],3); GsSortFastSprite(&TestSprite9,&WorldOT[activeBuff],3); DrawGrid(); // Wait for all drawing to finish DrawSync(0); // Wait for vertical blank interrupt VSync(0); // Switch display buffer & offscreen buffer GsSwapDispBuff(); // Sort the ordering table GsSortClear(0,0,0,&WorldOT[activeBuff]); // Draw the objects registered in the Ordering table GsDrawOt(&WorldOT[activeBuff]); /* Load basic font pattern in frame buffer */ FntLoad(960, 256); /* Font display location setting */ FntOpen(5, 0, 320, 240, 0, 1024); FntPrint("P1: %d\n\n",p1score); FntPrint("P2: %d",p2score); FntFlush(-1); } DisplayWinner(); }// end of InitGame() //////////////////////////////////////////////////////////////////////////////////// // --------------------------------- // void GetGridNumberP1() // --------------------------------- void GetGridNumberP1() { // Row 1 (of 12) if(TestSprite6.x == 10 && TestSprite6.y == 55) { gridnumber = 0; } if(TestSprite6.x == 25 && TestSprite6.y == 55) { gridnumber = 1; } if(TestSprite6.x == 40 && TestSprite6.y == 55) { gridnumber = 2; } if(TestSprite6.x == 55 && TestSprite6.y == 55) { gridnumber = 3; } if(TestSprite6.x == 70 && TestSprite6.y == 55) { gridnumber = 4; } if(TestSprite6.x == 85 && TestSprite6.y == 55) { gridnumber = 5; } if(TestSprite6.x == 100 && TestSprite6.y == 55) { gridnumber = 6; } if(TestSprite6.x == 115 && TestSprite6.y == 55) { gridnumber = 7; } if(TestSprite6.x == 130 && TestSprite6.y == 55) { gridnumber = 8; } if(TestSprite6.x == 145 && TestSprite6.y == 55) { gridnumber = 9; } if(TestSprite6.x == 160 && TestSprite6.y == 55) { gridnumber = 10; } if(TestSprite6.x == 175 && TestSprite6.y == 55) { gridnumber = 11; } if(TestSprite6.x == 190 && TestSprite6.y == 55) { gridnumber = 12; } if(TestSprite6.x == 205 && TestSprite6.y == 55) { gridnumber = 13; } if(TestSprite6.x == 220 && TestSprite6.y == 55) { gridnumber = 14; } if(TestSprite6.x == 235 && TestSprite6.y == 55) { gridnumber = 15; } if(TestSprite6.x == 250 && TestSprite6.y == 55) { gridnumber = 16; } if(TestSprite6.x == 265 && TestSprite6.y == 55) { gridnumber = 17; } if(TestSprite6.x == 280 && TestSprite6.y == 55) { gridnumber = 18; } if(TestSprite6.x == 295 && TestSprite6.y == 55) { gridnumber = 19; } // Row 2 (of 12) if(TestSprite6.x == 10 && TestSprite6.y == 70) { gridnumber = 20; } if(TestSprite6.x == 25 && TestSprite6.y == 70) { gridnumber = 21; } if(TestSprite6.x == 40 && TestSprite6.y == 70) { gridnumber = 22; } if(TestSprite6.x == 55 && TestSprite6.y == 70) { gridnumber = 23; } if(TestSprite6.x == 70 && TestSprite6.y == 70) { gridnumber = 24; } if(TestSprite6.x == 85 && TestSprite6.y == 70) { gridnumber = 25; } if(TestSprite6.x == 100 && TestSprite6.y == 70) { gridnumber = 26; } if(TestSprite6.x == 115 && TestSprite6.y == 70) { gridnumber = 27; } if(TestSprite6.x == 130 && TestSprite6.y == 70) { gridnumber = 28; } if(TestSprite6.x == 145 && TestSprite6.y == 70) { gridnumber = 29; } if(TestSprite6.x == 160 && TestSprite6.y == 70) { gridnumber = 30; } if(TestSprite6.x == 175 && TestSprite6.y == 70) { gridnumber = 31; } if(TestSprite6.x == 190 && TestSprite6.y == 70) { gridnumber = 32; } if(TestSprite6.x == 205 && TestSprite6.y == 70) { gridnumber = 33; } if(TestSprite6.x == 220 && TestSprite6.y == 70) { gridnumber = 34; } if(TestSprite6.x == 235 && TestSprite6.y == 70) { gridnumber = 35; } if(TestSprite6.x == 250 && TestSprite6.y == 70) { gridnumber = 36; } if(TestSprite6.x == 265 && TestSprite6.y == 70) { gridnumber = 37; } if(TestSprite6.x == 280 && TestSprite6.y == 70) { gridnumber = 38; } if(TestSprite6.x == 295 && TestSprite6.y == 70) { gridnumber = 39; } // Row 3 (of 12) if(TestSprite6.x == 10 && TestSprite6.y == 85) { gridnumber = 40; } if(TestSprite6.x == 25 && TestSprite6.y == 85) { gridnumber = 41; } if(TestSprite6.x == 40 && TestSprite6.y == 85) { gridnumber = 42; } if(TestSprite6.x == 55 && TestSprite6.y == 85) { gridnumber = 43; } if(TestSprite6.x == 70 && TestSprite6.y == 85) { gridnumber = 44; } if(TestSprite6.x == 85 && TestSprite6.y == 85) { gridnumber = 45; } if(TestSprite6.x == 100 && TestSprite6.y == 85) { gridnumber = 46; } if(TestSprite6.x == 115 && TestSprite6.y == 85) { gridnumber = 47; } if(TestSprite6.x == 130 && TestSprite6.y == 85) { gridnumber = 48; } if(TestSprite6.x == 145 && TestSprite6.y == 85) { gridnumber = 49; } if(TestSprite6.x == 160 && TestSprite6.y == 85) { gridnumber = 50; } if(TestSprite6.x == 175 && TestSprite6.y == 85) { gridnumber = 51; } if(TestSprite6.x == 190 && TestSprite6.y == 85) { gridnumber = 52; } if(TestSprite6.x == 205 && TestSprite6.y == 85) { gridnumber = 53; } if(TestSprite6.x == 220 && TestSprite6.y == 85) { gridnumber = 54; } if(TestSprite6.x == 235 && TestSprite6.y == 85) { gridnumber = 55; } if(TestSprite6.x == 250 && TestSprite6.y == 85) { gridnumber = 56; } if(TestSprite6.x == 265 && TestSprite6.y == 85) { gridnumber = 57; } if(TestSprite6.x == 280 && TestSprite6.y == 85) { gridnumber = 58; } if(TestSprite6.x == 295 && TestSprite6.y == 85) { gridnumber = 59; } // Row 4 (of 12) if(TestSprite6.x == 10 && TestSprite6.y == 100) { gridnumber = 60; } if(TestSprite6.x == 25 && TestSprite6.y == 100) { gridnumber = 61; } if(TestSprite6.x == 40 && TestSprite6.y == 100) { gridnumber = 62; } if(TestSprite6.x == 55 && TestSprite6.y == 100) { gridnumber = 63; } if(TestSprite6.x == 70 && TestSprite6.y == 100) { gridnumber = 64; } if(TestSprite6.x == 85 && TestSprite6.y == 100) { gridnumber = 65; } if(TestSprite6.x == 100 && TestSprite6.y == 100) { gridnumber = 66; } if(TestSprite6.x == 115 && TestSprite6.y == 100) { gridnumber = 67; } if(TestSprite6.x == 130 && TestSprite6.y == 100) { gridnumber = 68; } if(TestSprite6.x == 145 && TestSprite6.y == 100) { gridnumber = 69; } if(TestSprite6.x == 160 && TestSprite6.y == 100) { gridnumber = 70; } if(TestSprite6.x == 175 && TestSprite6.y == 100) { gridnumber = 71; } if(TestSprite6.x == 190 && TestSprite6.y == 100) { gridnumber = 72; } if(TestSprite6.x == 205 && TestSprite6.y == 100) { gridnumber = 73; } if(TestSprite6.x == 220 && TestSprite6.y == 100) { gridnumber = 74; } if(TestSprite6.x == 235 && TestSprite6.y == 100) { gridnumber = 75; } if(TestSprite6.x == 250 && TestSprite6.y == 100) { gridnumber = 76; } if(TestSprite6.x == 265 && TestSprite6.y == 100) { gridnumber = 77; } if(TestSprite6.x == 280 && TestSprite6.y == 100) { gridnumber = 78; } if(TestSprite6.x == 295 && TestSprite6.y == 100) { gridnumber = 79; } // Row 5 (of 12) if(TestSprite6.x == 10 && TestSprite6.y == 115) { gridnumber = 80; } if(TestSprite6.x == 25 && TestSprite6.y == 115) { gridnumber = 81; } if(TestSprite6.x == 40 && TestSprite6.y == 115) { gridnumber = 82; } if(TestSprite6.x == 55 && TestSprite6.y == 115) { gridnumber = 83; } if(TestSprite6.x == 70 && TestSprite6.y == 115) { gridnumber = 84; } if(TestSprite6.x == 85 && TestSprite6.y == 115) { gridnumber = 85; } if(TestSprite6.x == 100 && TestSprite6.y == 115) { gridnumber = 86; } if(TestSprite6.x == 115 && TestSprite6.y == 115) { gridnumber = 87; } if(TestSprite6.x == 130 && TestSprite6.y == 115) { gridnumber = 88; } if(TestSprite6.x == 145 && TestSprite6.y == 115) { gridnumber = 89; } if(TestSprite6.x == 160 && TestSprite6.y == 115) { gridnumber = 90; } if(TestSprite6.x == 175 && TestSprite6.y == 115) { gridnumber = 91; } if(TestSprite6.x == 190 && TestSprite6.y == 115) { gridnumber = 92; } if(TestSprite6.x == 205 && TestSprite6.y == 115) { gridnumber = 93; } if(TestSprite6.x == 220 && TestSprite6.y == 115) { gridnumber = 94; } if(TestSprite6.x == 235 && TestSprite6.y == 115) { gridnumber = 95; } if(TestSprite6.x == 250 && TestSprite6.y == 115) { gridnumber = 96; } if(TestSprite6.x == 265 && TestSprite6.y == 115) { gridnumber = 97; } if(TestSprite6.x == 280 && TestSprite6.y == 115) { gridnumber = 98; } if(TestSprite6.x == 295 && TestSprite6.y == 115) { gridnumber = 99; } // Row 6 (of 12) if(TestSprite6.x == 10 && TestSprite6.y == 130) { gridnumber = 100; } if(TestSprite6.x == 25 && TestSprite6.y == 130) { gridnumber = 101; } if(TestSprite6.x == 40 && TestSprite6.y == 130) { gridnumber = 102; } if(TestSprite6.x == 55 && TestSprite6.y == 130) { gridnumber = 103; } if(TestSprite6.x == 70 && TestSprite6.y == 130) { gridnumber = 104; } if(TestSprite6.x == 85 && TestSprite6.y == 130) { gridnumber = 105; } if(TestSprite6.x == 100 && TestSprite6.y == 130) { gridnumber = 106; } if(TestSprite6.x == 115 && TestSprite6.y == 130) { gridnumber = 107; } if(TestSprite6.x == 130 && TestSprite6.y == 130) { gridnumber = 108; } if(TestSprite6.x == 145 && TestSprite6.y == 130) { gridnumber = 109; } if(TestSprite6.x == 160 && TestSprite6.y == 130) { gridnumber = 110; } if(TestSprite6.x == 175 && TestSprite6.y == 130) { gridnumber = 111; } if(TestSprite6.x == 190 && TestSprite6.y == 130) { gridnumber = 112; } if(TestSprite6.x == 205 && TestSprite6.y == 130) { gridnumber = 113; } if(TestSprite6.x == 220 && TestSprite6.y == 130) { gridnumber = 114; } if(TestSprite6.x == 235 && TestSprite6.y == 130) { gridnumber = 115; } if(TestSprite6.x == 250 && TestSprite6.y == 130) { gridnumber = 116; } if(TestSprite6.x == 265 && TestSprite6.y == 130) { gridnumber = 117; } if(TestSprite6.x == 280 && TestSprite6.y == 130) { gridnumber = 118; } if(TestSprite6.x == 295 && TestSprite6.y == 130) { gridnumber = 119; } // Row 7 (of 12) ********************************** if(TestSprite6.x == 10 && TestSprite6.y == 145) { gridnumber = 120; } if(TestSprite6.x == 25 && TestSprite6.y == 145) { gridnumber = 121; } if(TestSprite6.x == 40 && TestSprite6.y == 145) { gridnumber = 122; } if(TestSprite6.x == 55 && TestSprite6.y == 145) { gridnumber = 123; } if(TestSprite6.x == 70 && TestSprite6.y == 145) { gridnumber = 124; } if(TestSprite6.x == 85 && TestSprite6.y == 145) { gridnumber = 125; } if(TestSprite6.x == 100 && TestSprite6.y == 145) { gridnumber = 126; } if(TestSprite6.x == 115 && TestSprite6.y == 145) { gridnumber = 127; } if(TestSprite6.x == 130 && TestSprite6.y == 145) { gridnumber = 128; } if(TestSprite6.x == 145 && TestSprite6.y == 145) { gridnumber = 129; } if(TestSprite6.x == 160 && TestSprite6.y == 145) { gridnumber = 130; } if(TestSprite6.x == 175 && TestSprite6.y == 145) { gridnumber = 131; } if(TestSprite6.x == 190 && TestSprite6.y == 145) { gridnumber = 132; } if(TestSprite6.x == 205 && TestSprite6.y == 145) { gridnumber = 133; } if(TestSprite6.x == 220 && TestSprite6.y == 145) { gridnumber = 134; } if(TestSprite6.x == 235 && TestSprite6.y == 145) { gridnumber = 135; } if(TestSprite6.x == 250 && TestSprite6.y == 145) { gridnumber = 136; } if(TestSprite6.x == 265 && TestSprite6.y == 145) { gridnumber = 137; } if(TestSprite6.x == 280 && TestSprite6.y == 145) { gridnumber = 138; } if(TestSprite6.x == 295 && TestSprite6.y == 145) { gridnumber = 139; } // Row 8 (of 12) if(TestSprite6.x == 10 && TestSprite6.y == 160) { gridnumber = 140; } if(TestSprite6.x == 25 && TestSprite6.y == 160) { gridnumber = 141; } if(TestSprite6.x == 40 && TestSprite6.y == 160) { gridnumber = 142; } if(TestSprite6.x == 55 && TestSprite6.y == 160) { gridnumber = 143; } if(TestSprite6.x == 70 && TestSprite6.y == 160) { gridnumber = 144; } if(TestSprite6.x == 85 && TestSprite6.y == 160) { gridnumber = 145; } if(TestSprite6.x == 100 && TestSprite6.y == 160) { gridnumber = 146; } if(TestSprite6.x == 115 && TestSprite6.y == 160) { gridnumber = 147; } if(TestSprite6.x == 130 && TestSprite6.y == 160) { gridnumber = 148; } if(TestSprite6.x == 145 && TestSprite6.y == 160) { gridnumber = 149; } if(TestSprite6.x == 160 && TestSprite6.y == 160) { gridnumber = 150; } if(TestSprite6.x == 175 && TestSprite6.y == 160) { gridnumber = 151; } if(TestSprite6.x == 190 && TestSprite6.y == 160) { gridnumber = 152; } if(TestSprite6.x == 205 && TestSprite6.y == 160) { gridnumber = 153; } if(TestSprite6.x == 220 && TestSprite6.y == 160) { gridnumber = 154; } if(TestSprite6.x == 235 && TestSprite6.y == 160) { gridnumber = 155; } if(TestSprite6.x == 250 && TestSprite6.y == 160) { gridnumber = 156; } if(TestSprite6.x == 265 && TestSprite6.y == 160) { gridnumber = 157; } if(TestSprite6.x == 280 && TestSprite6.y == 160) { gridnumber = 158; } if(TestSprite6.x == 295 && TestSprite6.y == 160) { gridnumber = 159; } // Row 9 (of 12) if(TestSprite6.x == 10 && TestSprite6.y == 175) { gridnumber = 160; } if(TestSprite6.x == 25 && TestSprite6.y == 175) { gridnumber = 161; } if(TestSprite6.x == 40 && TestSprite6.y == 175) { gridnumber = 162; } if(TestSprite6.x == 55 && TestSprite6.y == 175) { gridnumber = 163; } if(TestSprite6.x == 70 && TestSprite6.y == 175) { gridnumber = 164; } if(TestSprite6.x == 85 && TestSprite6.y == 175) { gridnumber = 165; } if(TestSprite6.x == 100 && TestSprite6.y == 175) { gridnumber = 166; } if(TestSprite6.x == 115 && TestSprite6.y == 175) { gridnumber = 167; } if(TestSprite6.x == 130 && TestSprite6.y == 175) { gridnumber = 168; } if(TestSprite6.x == 145 && TestSprite6.y == 175) { gridnumber = 169; } if(TestSprite6.x == 160 && TestSprite6.y == 175) { gridnumber = 170; } if(TestSprite6.x == 175 && TestSprite6.y == 175) { gridnumber = 171; } if(TestSprite6.x == 190 && TestSprite6.y == 175) { gridnumber = 172; } if(TestSprite6.x == 205 && TestSprite6.y == 175) { gridnumber = 173; } if(TestSprite6.x == 220 && TestSprite6.y == 175) { gridnumber = 174; } if(TestSprite6.x == 235 && TestSprite6.y == 175) { gridnumber = 175; } if(TestSprite6.x == 250 && TestSprite6.y == 175) { gridnumber = 176; } if(TestSprite6.x == 265 && TestSprite6.y == 175) { gridnumber = 177; } if(TestSprite6.x == 280 && TestSprite6.y == 175) { gridnumber = 178; } if(TestSprite6.x == 295 && TestSprite6.y == 175) { gridnumber = 179; } // Row 10 (of 12) if(TestSprite6.x == 10 && TestSprite6.y == 190) { gridnumber = 180; } if(TestSprite6.x == 25 && TestSprite6.y == 190) { gridnumber = 181; } if(TestSprite6.x == 40 && TestSprite6.y == 190) { gridnumber = 182; } if(TestSprite6.x == 55 && TestSprite6.y == 190) { gridnumber = 183; } if(TestSprite6.x == 70 && TestSprite6.y == 190) { gridnumber = 184; } if(TestSprite6.x == 85 && TestSprite6.y == 190) { gridnumber = 185; } if(TestSprite6.x == 100 && TestSprite6.y == 190) { gridnumber = 186; } if(TestSprite6.x == 115 && TestSprite6.y == 190) { gridnumber = 187; } if(TestSprite6.x == 130 && TestSprite6.y == 190) { gridnumber = 188; } if(TestSprite6.x == 145 && TestSprite6.y == 190) { gridnumber = 189; } if(TestSprite6.x == 160 && TestSprite6.y == 190) { gridnumber = 190; } if(TestSprite6.x == 175 && TestSprite6.y == 190) { gridnumber = 191; } if(TestSprite6.x == 190 && TestSprite6.y == 190) { gridnumber = 192; } if(TestSprite6.x == 205 && TestSprite6.y == 190) { gridnumber = 193; } if(TestSprite6.x == 220 && TestSprite6.y == 190) { gridnumber = 194; } if(TestSprite6.x == 235 && TestSprite6.y == 190) { gridnumber = 195; } if(TestSprite6.x == 250 && TestSprite6.y == 190) { gridnumber = 196; } if(TestSprite6.x == 265 && TestSprite6.y == 190) { gridnumber = 197; } if(TestSprite6.x == 280 && TestSprite6.y == 190) { gridnumber = 198; } if(TestSprite6.x == 295 && TestSprite6.y == 190) { gridnumber = 199; } // Row 11 (of 12) if(TestSprite6.x == 10 && TestSprite6.y == 205) { gridnumber = 200; } if(TestSprite6.x == 25 && TestSprite6.y == 205) { gridnumber = 201; } if(TestSprite6.x == 40 && TestSprite6.y == 205) { gridnumber = 202; } if(TestSprite6.x == 55 && TestSprite6.y == 205) { gridnumber = 203; } if(TestSprite6.x == 70 && TestSprite6.y == 205) { gridnumber = 204; } if(TestSprite6.x == 85 && TestSprite6.y == 205) { gridnumber = 205; } if(TestSprite6.x == 100 && TestSprite6.y == 205) { gridnumber = 206; } if(TestSprite6.x == 115 && TestSprite6.y == 205) { gridnumber = 207; } if(TestSprite6.x == 130 && TestSprite6.y == 205) { gridnumber = 208; } if(TestSprite6.x == 145 && TestSprite6.y == 205) { gridnumber = 209; } if(TestSprite6.x == 160 && TestSprite6.y == 205) { gridnumber = 210; } if(TestSprite6.x == 175 && TestSprite6.y == 205) { gridnumber = 211; } if(TestSprite6.x == 190 && TestSprite6.y == 205) { gridnumber = 212; } if(TestSprite6.x == 205 && TestSprite6.y == 205) { gridnumber = 213; } if(TestSprite6.x == 220 && TestSprite6.y == 205) { gridnumber = 214; } if(TestSprite6.x == 235 && TestSprite6.y == 205) { gridnumber = 215; } if(TestSprite6.x == 250 && TestSprite6.y == 205) { gridnumber = 216; } if(TestSprite6.x == 265 && TestSprite6.y == 205) { gridnumber = 217; } if(TestSprite6.x == 280 && TestSprite6.y == 205) { gridnumber = 218; } if(TestSprite6.x == 295 && TestSprite6.y == 205) { gridnumber = 219; } // Row 12 (of 12) if(TestSprite6.x == 10 && TestSprite6.y == 220) { gridnumber = 220; } if(TestSprite6.x == 25 && TestSprite6.y == 220) { gridnumber = 221; } if(TestSprite6.x == 40 && TestSprite6.y == 220) { gridnumber = 222; } if(TestSprite6.x == 55 && TestSprite6.y == 220) { gridnumber = 223; } if(TestSprite6.x == 70 && TestSprite6.y == 220) { gridnumber = 224; } if(TestSprite6.x == 85 && TestSprite6.y == 220) { gridnumber = 225; } if(TestSprite6.x == 100 && TestSprite6.y == 220) { gridnumber = 226; } if(TestSprite6.x == 115 && TestSprite6.y == 220) { gridnumber = 227; } if(TestSprite6.x == 130 && TestSprite6.y == 220) { gridnumber = 228; } if(TestSprite6.x == 145 && TestSprite6.y == 220) { gridnumber = 229; } if(TestSprite6.x == 160 && TestSprite6.y == 220) { gridnumber = 230; } if(TestSprite6.x == 175 && TestSprite6.y == 220) { gridnumber = 231; } if(TestSprite6.x == 190 && TestSprite6.y == 220) { gridnumber = 232; } if(TestSprite6.x == 205 && TestSprite6.y == 220) { gridnumber = 233; } if(TestSprite6.x == 220 && TestSprite6.y == 220) { gridnumber = 234; } if(TestSprite6.x == 235 && TestSprite6.y == 220) { gridnumber = 235; } if(TestSprite6.x == 250 && TestSprite6.y == 220) { gridnumber = 236; } if(TestSprite6.x == 265 && TestSprite6.y == 220) { gridnumber = 237; } if(TestSprite6.x == 280 && TestSprite6.y == 220) { gridnumber = 238; } if(TestSprite6.x == 295 && TestSprite6.y == 220) { gridnumber = 239; } }// end of void GetGridNumberP1() //////////////////////////////////////////////////////////////////////////////////// // --------------------------------- // void GetGridNumberP2() // --------------------------------- void GetGridNumberP2() { if(TestSprite7.x == 10 && TestSprite7.y == 55) { gridnumber = 0; } if(TestSprite7.x == 25 && TestSprite7.y == 55) { gridnumber = 1; } if(TestSprite7.x == 40 && TestSprite7.y == 55) { gridnumber = 2; } if(TestSprite7.x == 55 && TestSprite7.y == 55) { gridnumber = 3; } if(TestSprite7.x == 70 && TestSprite7.y == 55) { gridnumber = 4; } if(TestSprite7.x == 85 && TestSprite7.y == 55) { gridnumber = 5; } if(TestSprite7.x == 100 && TestSprite7.y == 55) { gridnumber = 6; } if(TestSprite7.x == 115 && TestSprite7.y == 55) { gridnumber = 7; } if(TestSprite7.x == 130 && TestSprite7.y == 55) { gridnumber = 8; } if(TestSprite7.x == 145 && TestSprite7.y == 55) { gridnumber = 9; } if(TestSprite7.x == 160 && TestSprite7.y == 55) { gridnumber = 10; } if(TestSprite7.x == 175 && TestSprite7.y == 55) { gridnumber = 11; } if(TestSprite7.x == 190 && TestSprite7.y == 55) { gridnumber = 12; } if(TestSprite7.x == 205 && TestSprite7.y == 55) { gridnumber = 13; } if(TestSprite7.x == 220 && TestSprite7.y == 55) { gridnumber = 14; } if(TestSprite7.x == 235 && TestSprite7.y == 55) { gridnumber = 15; } if(TestSprite7.x == 250 && TestSprite7.y == 55) { gridnumber = 16; } if(TestSprite7.x == 265 && TestSprite7.y == 55) { gridnumber = 17; } if(TestSprite7.x == 280 && TestSprite7.y == 55) { gridnumber = 18; } if(TestSprite7.x == 295 && TestSprite7.y == 55) { gridnumber = 19; } // Row 2 (of 12) if(TestSprite7.x == 10 && TestSprite7.y == 70) { gridnumber = 20; } if(TestSprite7.x == 25 && TestSprite7.y == 70) { gridnumber = 21; } if(TestSprite7.x == 40 && TestSprite7.y == 70) { gridnumber = 22; } if(TestSprite7.x == 55 && TestSprite7.y == 70) { gridnumber = 23; } if(TestSprite7.x == 70 && TestSprite7.y == 70) { gridnumber = 24; } if(TestSprite7.x == 85 && TestSprite7.y == 70) { gridnumber = 25; } if(TestSprite7.x == 100 && TestSprite7.y == 70) { gridnumber = 26; } if(TestSprite7.x == 115 && TestSprite7.y == 70) { gridnumber = 27; } if(TestSprite7.x == 130 && TestSprite7.y == 70) { gridnumber = 28; } if(TestSprite7.x == 145 && TestSprite7.y == 70) { gridnumber = 29; } if(TestSprite7.x == 160 && TestSprite7.y == 70) { gridnumber = 30; } if(TestSprite7.x == 175 && TestSprite7.y == 70) { gridnumber = 31; } if(TestSprite7.x == 190 && TestSprite7.y == 70) { gridnumber = 32; } if(TestSprite7.x == 205 && TestSprite7.y == 70) { gridnumber = 33; } if(TestSprite7.x == 220 && TestSprite7.y == 70) { gridnumber = 34; } if(TestSprite7.x == 235 && TestSprite7.y == 70) { gridnumber = 35; } if(TestSprite7.x == 250 && TestSprite7.y == 70) { gridnumber = 36; } if(TestSprite7.x == 265 && TestSprite7.y == 70) { gridnumber = 37; } if(TestSprite7.x == 280 && TestSprite7.y == 70) { gridnumber = 38; } if(TestSprite7.x == 295 && TestSprite7.y == 70) { gridnumber = 39; } // Row 3 (of 12) if(TestSprite7.x == 10 && TestSprite7.y == 85) { gridnumber = 40; } if(TestSprite7.x == 25 && TestSprite7.y == 85) { gridnumber = 41; } if(TestSprite7.x == 40 && TestSprite7.y == 85) { gridnumber = 42; } if(TestSprite7.x == 55 && TestSprite7.y == 85) { gridnumber = 43; } if(TestSprite7.x == 70 && TestSprite7.y == 85) { gridnumber = 44; } if(TestSprite7.x == 85 && TestSprite7.y == 85) { gridnumber = 45; } if(TestSprite7.x == 100 && TestSprite7.y == 85) { gridnumber = 46; } if(TestSprite7.x == 115 && TestSprite7.y == 85) { gridnumber = 47; } if(TestSprite7.x == 130 && TestSprite7.y == 85) { gridnumber = 48; } if(TestSprite7.x == 145 && TestSprite7.y == 85) { gridnumber = 49; } if(TestSprite7.x == 160 && TestSprite7.y == 85) { gridnumber = 50; } if(TestSprite7.x == 175 && TestSprite7.y == 85) { gridnumber = 51; } if(TestSprite7.x == 190 && TestSprite7.y == 85) { gridnumber = 52; } if(TestSprite7.x == 205 && TestSprite7.y == 85) { gridnumber = 53; } if(TestSprite7.x == 220 && TestSprite7.y == 85) { gridnumber = 54; } if(TestSprite7.x == 235 && TestSprite7.y == 85) { gridnumber = 55; } if(TestSprite7.x == 250 && TestSprite7.y == 85) { gridnumber = 56; } if(TestSprite7.x == 265 && TestSprite7.y == 85) { gridnumber = 57; } if(TestSprite7.x == 280 && TestSprite7.y == 85) { gridnumber = 58; } if(TestSprite7.x == 295 && TestSprite7.y == 85) { gridnumber = 59; } // Row 4 (of 12) if(TestSprite7.x == 10 && TestSprite7.y == 100) { gridnumber = 60; } if(TestSprite7.x == 25 && TestSprite7.y == 100) { gridnumber = 61; } if(TestSprite7.x == 40 && TestSprite7.y == 100) { gridnumber = 62; } if(TestSprite7.x == 55 && TestSprite7.y == 100) { gridnumber = 63; } if(TestSprite7.x == 70 && TestSprite7.y == 100) { gridnumber = 64; } if(TestSprite7.x == 85 && TestSprite7.y == 100) { gridnumber = 65; } if(TestSprite7.x == 100 && TestSprite7.y == 100) { gridnumber = 66; } if(TestSprite7.x == 115 && TestSprite7.y == 100) { gridnumber = 67; } if(TestSprite7.x == 130 && TestSprite7.y == 100) { gridnumber = 68; } if(TestSprite7.x == 145 && TestSprite7.y == 100) { gridnumber = 69; } if(TestSprite7.x == 160 && TestSprite7.y == 100) { gridnumber = 70; } if(TestSprite7.x == 175 && TestSprite7.y == 100) { gridnumber = 71; } if(TestSprite7.x == 190 && TestSprite7.y == 100) { gridnumber = 72; } if(TestSprite7.x == 205 && TestSprite7.y == 100) { gridnumber = 73; } if(TestSprite7.x == 220 && TestSprite7.y == 100) { gridnumber = 74; } if(TestSprite7.x == 235 && TestSprite7.y == 100) { gridnumber = 75; } if(TestSprite7.x == 250 && TestSprite7.y == 100) { gridnumber = 76; } if(TestSprite7.x == 265 && TestSprite7.y == 100) { gridnumber = 77; } if(TestSprite7.x == 280 && TestSprite7.y == 100) { gridnumber = 78; } if(TestSprite7.x == 295 && TestSprite7.y == 100) { gridnumber = 79; } // Row 5 (of 12) if(TestSprite7.x == 10 && TestSprite7.y == 115) { gridnumber = 80; } if(TestSprite7.x == 25 && TestSprite7.y == 115) { gridnumber = 81; } if(TestSprite7.x == 40 && TestSprite7.y == 115) { gridnumber = 82; } if(TestSprite7.x == 55 && TestSprite7.y == 115) { gridnumber = 83; } if(TestSprite7.x == 70 && TestSprite7.y == 115) { gridnumber = 84; } if(TestSprite7.x == 85 && TestSprite7.y == 115) { gridnumber = 85; } if(TestSprite7.x == 100 && TestSprite7.y == 115) { gridnumber = 86; } if(TestSprite7.x == 115 && TestSprite7.y == 115) { gridnumber = 87; } if(TestSprite7.x == 130 && TestSprite7.y == 115) { gridnumber = 88; } if(TestSprite7.x == 145 && TestSprite7.y == 115) { gridnumber = 89; } if(TestSprite7.x == 160 && TestSprite7.y == 115) { gridnumber = 90; } if(TestSprite7.x == 175 && TestSprite7.y == 115) { gridnumber = 91; } if(TestSprite7.x == 190 && TestSprite7.y == 115) { gridnumber = 92; } if(TestSprite7.x == 205 && TestSprite7.y == 115) { gridnumber = 93; } if(TestSprite7.x == 220 && TestSprite7.y == 115) { gridnumber = 94; } if(TestSprite7.x == 235 && TestSprite7.y == 115) { gridnumber = 95; } if(TestSprite7.x == 250 && TestSprite7.y == 115) { gridnumber = 96; } if(TestSprite7.x == 265 && TestSprite7.y == 115) { gridnumber = 97; } if(TestSprite7.x == 280 && TestSprite7.y == 115) { gridnumber = 98; } if(TestSprite7.x == 295 && TestSprite7.y == 115) { gridnumber = 99; } // Row 6 (of 12) if(TestSprite7.x == 10 && TestSprite7.y == 130) { gridnumber = 100; } if(TestSprite7.x == 25 && TestSprite7.y == 130) { gridnumber = 101; } if(TestSprite7.x == 40 && TestSprite7.y == 130) { gridnumber = 102; } if(TestSprite7.x == 55 && TestSprite7.y == 130) { gridnumber = 103; } if(TestSprite7.x == 70 && TestSprite7.y == 130) { gridnumber = 104; } if(TestSprite7.x == 85 && TestSprite7.y == 130) { gridnumber = 105; } if(TestSprite7.x == 100 && TestSprite7.y == 130) { gridnumber = 106; } if(TestSprite7.x == 115 && TestSprite7.y == 130) { gridnumber = 107; } if(TestSprite7.x == 130 && TestSprite7.y == 130) { gridnumber = 108; } if(TestSprite7.x == 145 && TestSprite7.y == 130) { gridnumber = 109; } if(TestSprite7.x == 160 && TestSprite7.y == 130) { gridnumber = 110; } if(TestSprite7.x == 175 && TestSprite7.y == 130) { gridnumber = 111; } if(TestSprite7.x == 190 && TestSprite7.y == 130) { gridnumber = 112; } if(TestSprite7.x == 205 && TestSprite7.y == 130) { gridnumber = 113; } if(TestSprite7.x == 220 && TestSprite7.y == 130) { gridnumber = 114; } if(TestSprite7.x == 235 && TestSprite7.y == 130) { gridnumber = 115; } if(TestSprite7.x == 250 && TestSprite7.y == 130) { gridnumber = 116; } if(TestSprite7.x == 265 && TestSprite7.y == 130) { gridnumber = 117; } if(TestSprite7.x == 280 && TestSprite7.y == 130) { gridnumber = 118; } if(TestSprite7.x == 295 && TestSprite7.y == 130) { gridnumber = 119; } // Row 7 (of 12) if(TestSprite7.x == 10 && TestSprite7.y == 145) { gridnumber = 120; } if(TestSprite7.x == 25 && TestSprite7.y == 145) { gridnumber = 121; } if(TestSprite7.x == 40 && TestSprite7.y == 145) { gridnumber = 122; } if(TestSprite7.x == 55 && TestSprite7.y == 145) { gridnumber = 123; } if(TestSprite7.x == 70 && TestSprite7.y == 145) { gridnumber = 124; } if(TestSprite7.x == 85 && TestSprite7.y == 145) { gridnumber = 125; } if(TestSprite7.x == 100 && TestSprite7.y == 145) { gridnumber = 126; } if(TestSprite7.x == 115 && TestSprite7.y == 145) { gridnumber = 127; } if(TestSprite7.x == 130 && TestSprite7.y == 145) { gridnumber = 128; } if(TestSprite7.x == 145 && TestSprite7.y == 145) { gridnumber = 129; } if(TestSprite7.x == 160 && TestSprite7.y == 145) { gridnumber = 130; } if(TestSprite7.x == 175 && TestSprite7.y == 145) { gridnumber = 131; } if(TestSprite7.x == 190 && TestSprite7.y == 145) { gridnumber = 132; } if(TestSprite7.x == 205 && TestSprite7.y == 145) { gridnumber = 133; } if(TestSprite7.x == 220 && TestSprite7.y == 145) { gridnumber = 134; } if(TestSprite7.x == 235 && TestSprite7.y == 145) { gridnumber = 135; } if(TestSprite7.x == 250 && TestSprite7.y == 145) { gridnumber = 136; } if(TestSprite7.x == 265 && TestSprite7.y == 145) { gridnumber = 137; } if(TestSprite7.x == 280 && TestSprite7.y == 145) { gridnumber = 138; } if(TestSprite7.x == 295 && TestSprite7.y == 145) { gridnumber = 139; } // Row 8 (of 12) if(TestSprite7.x == 10 && TestSprite7.y == 160) { gridnumber = 140; } if(TestSprite7.x == 25 && TestSprite7.y == 160) { gridnumber = 141; } if(TestSprite7.x == 40 && TestSprite7.y == 160) { gridnumber = 142; } if(TestSprite7.x == 55 && TestSprite7.y == 160) { gridnumber = 143; } if(TestSprite7.x == 70 && TestSprite7.y == 160) { gridnumber = 144; } if(TestSprite7.x == 85 && TestSprite7.y == 160) { gridnumber = 145; } if(TestSprite7.x == 100 && TestSprite7.y == 160) { gridnumber = 146; } if(TestSprite7.x == 115 && TestSprite7.y == 160) { gridnumber = 147; } if(TestSprite7.x == 130 && TestSprite7.y == 160) { gridnumber = 148; } if(TestSprite7.x == 145 && TestSprite7.y == 160) { gridnumber = 149; } if(TestSprite7.x == 160 && TestSprite7.y == 160) { gridnumber = 150; } if(TestSprite7.x == 175 && TestSprite7.y == 160) { gridnumber = 151; } if(TestSprite7.x == 190 && TestSprite7.y == 160) { gridnumber = 152; } if(TestSprite7.x == 205 && TestSprite7.y == 160) { gridnumber = 153; } if(TestSprite7.x == 220 && TestSprite7.y == 160) { gridnumber = 154; } if(TestSprite7.x == 235 && TestSprite7.y == 160) { gridnumber = 155; } if(TestSprite7.x == 250 && TestSprite7.y == 160) { gridnumber = 156; } if(TestSprite7.x == 265 && TestSprite7.y == 160) { gridnumber = 157; } if(TestSprite7.x == 280 && TestSprite7.y == 160) { gridnumber = 158; } if(TestSprite7.x == 295 && TestSprite7.y == 160) { gridnumber = 159; } // Row 9 (of 12) if(TestSprite7.x == 10 && TestSprite7.y == 175) { gridnumber = 160; } if(TestSprite7.x == 25 && TestSprite7.y == 175) { gridnumber = 161; } if(TestSprite7.x == 40 && TestSprite7.y == 175) { gridnumber = 162; } if(TestSprite7.x == 55 && TestSprite7.y == 175) { gridnumber = 163; } if(TestSprite7.x == 70 && TestSprite7.y == 175) { gridnumber = 164; } if(TestSprite7.x == 85 && TestSprite7.y == 175) { gridnumber = 165; } if(TestSprite7.x == 100 && TestSprite7.y == 175) { gridnumber = 166; } if(TestSprite7.x == 115 && TestSprite7.y == 175) { gridnumber = 167; } if(TestSprite7.x == 130 && TestSprite7.y == 175) { gridnumber = 168; } if(TestSprite7.x == 145 && TestSprite7.y == 175) { gridnumber = 169; } if(TestSprite7.x == 160 && TestSprite7.y == 175) { gridnumber = 170; } if(TestSprite7.x == 175 && TestSprite7.y == 175) { gridnumber = 171; } if(TestSprite7.x == 190 && TestSprite7.y == 175) { gridnumber = 172; } if(TestSprite7.x == 205 && TestSprite7.y == 175) { gridnumber = 173; } if(TestSprite7.x == 220 && TestSprite7.y == 175) { gridnumber = 174; } if(TestSprite7.x == 235 && TestSprite7.y == 175) { gridnumber = 175; } if(TestSprite7.x == 250 && TestSprite7.y == 175) { gridnumber = 176; } if(TestSprite7.x == 265 && TestSprite7.y == 175) { gridnumber = 177; } if(TestSprite7.x == 280 && TestSprite7.y == 175) { gridnumber = 178; } if(TestSprite7.x == 295 && TestSprite7.y == 175) { gridnumber = 179; } // Row 10 (of 12) if(TestSprite7.x == 10 && TestSprite7.y == 190) { gridnumber = 180; } if(TestSprite7.x == 25 && TestSprite7.y == 190) { gridnumber = 181; } if(TestSprite7.x == 40 && TestSprite7.y == 190) { gridnumber = 182; } if(TestSprite7.x == 55 && TestSprite7.y == 190) { gridnumber = 183; } if(TestSprite7.x == 70 && TestSprite7.y == 190) { gridnumber = 184; } if(TestSprite7.x == 85 && TestSprite7.y == 190) { gridnumber = 185; } if(TestSprite7.x == 100 && TestSprite7.y == 190) { gridnumber = 186; } if(TestSprite7.x == 115 && TestSprite7.y == 190) { gridnumber = 187; } if(TestSprite7.x == 130 && TestSprite7.y == 190) { gridnumber = 188; } if(TestSprite7.x == 145 && TestSprite7.y == 190) { gridnumber = 189; } if(TestSprite7.x == 160 && TestSprite7.y == 190) { gridnumber = 190; } if(TestSprite7.x == 175 && TestSprite7.y == 190) { gridnumber = 191; } if(TestSprite7.x == 190 && TestSprite7.y == 190) { gridnumber = 192; } if(TestSprite7.x == 205 && TestSprite7.y == 190) { gridnumber = 193; } if(TestSprite7.x == 220 && TestSprite7.y == 190) { gridnumber = 194; } if(TestSprite7.x == 235 && TestSprite7.y == 190) { gridnumber = 195; } if(TestSprite7.x == 250 && TestSprite7.y == 190) { gridnumber = 196; } if(TestSprite7.x == 265 && TestSprite7.y == 190) { gridnumber = 197; } if(TestSprite7.x == 280 && TestSprite7.y == 190) { gridnumber = 198; } if(TestSprite7.x == 295 && TestSprite7.y == 190) { gridnumber = 199; } // Row 11 (of 12) if(TestSprite7.x == 10 && TestSprite7.y == 205) { gridnumber = 200; } if(TestSprite7.x == 25 && TestSprite7.y == 205) { gridnumber = 201; } if(TestSprite7.x == 40 && TestSprite7.y == 205) { gridnumber = 202; } if(TestSprite7.x == 55 && TestSprite7.y == 205) { gridnumber = 203; } if(TestSprite7.x == 70 && TestSprite7.y == 205) { gridnumber = 204; } if(TestSprite7.x == 85 && TestSprite7.y == 205) { gridnumber = 205; } if(TestSprite7.x == 100 && TestSprite7.y == 205) { gridnumber = 206; } if(TestSprite7.x == 115 && TestSprite7.y == 205) { gridnumber = 207; } if(TestSprite7.x == 130 && TestSprite7.y == 205) { gridnumber = 208; } if(TestSprite7.x == 145 && TestSprite7.y == 205) { gridnumber = 209; } if(TestSprite7.x == 160 && TestSprite7.y == 205) { gridnumber = 210; } if(TestSprite7.x == 175 && TestSprite7.y == 205) { gridnumber = 211; } if(TestSprite7.x == 190 && TestSprite7.y == 205) { gridnumber = 212; } if(TestSprite7.x == 205 && TestSprite7.y == 205) { gridnumber = 213; } if(TestSprite7.x == 220 && TestSprite7.y == 205) { gridnumber = 214; } if(TestSprite7.x == 235 && TestSprite7.y == 205) { gridnumber = 215; } if(TestSprite7.x == 250 && TestSprite7.y == 205) { gridnumber = 216; } if(TestSprite7.x == 265 && TestSprite7.y == 205) { gridnumber = 217; } if(TestSprite7.x == 280 && TestSprite7.y == 205) { gridnumber = 218; } if(TestSprite7.x == 295 && TestSprite7.y == 205) { gridnumber = 219; } // Row 12 (of 12) if(TestSprite7.x == 10 && TestSprite7.y == 220) { gridnumber = 220; } if(TestSprite7.x == 25 && TestSprite7.y == 220) { gridnumber = 221; } if(TestSprite7.x == 40 && TestSprite7.y == 220) { gridnumber = 222; } if(TestSprite7.x == 55 && TestSprite7.y == 220) { gridnumber = 223; } if(TestSprite7.x == 70 && TestSprite7.y == 220) { gridnumber = 224; } if(TestSprite7.x == 85 && TestSprite7.y == 220) { gridnumber = 225; } if(TestSprite7.x == 100 && TestSprite7.y == 220) { gridnumber = 226; } if(TestSprite7.x == 115 && TestSprite7.y == 220) { gridnumber = 227; } if(TestSprite7.x == 130 && TestSprite7.y == 220) { gridnumber = 228; } if(TestSprite7.x == 145 && TestSprite7.y == 220) { gridnumber = 229; } if(TestSprite7.x == 160 && TestSprite7.y == 220) { gridnumber = 230; } if(TestSprite7.x == 175 && TestSprite7.y == 220) { gridnumber = 231; } if(TestSprite7.x == 190 && TestSprite7.y == 220) { gridnumber = 232; } if(TestSprite7.x == 205 && TestSprite7.y == 220) { gridnumber = 233; } if(TestSprite7.x == 220 && TestSprite7.y == 220) { gridnumber = 234; } if(TestSprite7.x == 235 && TestSprite7.y == 220) { gridnumber = 235; } if(TestSprite7.x == 250 && TestSprite7.y == 220) { gridnumber = 236; } if(TestSprite7.x == 265 && TestSprite7.y == 220) { gridnumber = 237; } if(TestSprite7.x == 280 && TestSprite7.y == 220) { gridnumber = 238; } if(TestSprite7.x == 295 && TestSprite7.y == 220) { gridnumber = 239; } }// end of void GetGridNumberP2() /////////////////////////////////////////////////////////////////////////////////////// // ---------------------------------- // void CheckP1Score() // ---------------------------------- void CheckP1Score() { int oldnumber; // used to store player's current move int check; // loop counter oldnumber = gridnumber; // save player's current move // check right of playermarker check = 0; gridnumber = oldnumber; // reset marker position to player's current move while(check == 0) { gridnumber++; if(grid[gridnumber] == 1) { p1score++; } else { check++; } } // check left of playermarker check = 0; gridnumber = oldnumber; // reset marker position to player's current move while(check == 0) { gridnumber--; if(grid[gridnumber] == 1) { p1score++; } else { check++; } } // check above playermarker check = 0; gridnumber = oldnumber; // reset marker position to player's current move while(check == 0) { gridnumber = gridnumber-20; if(grid[gridnumber] == 1) { p1score++; } else { check++; } } // check below playermarker check = 0; gridnumber = oldnumber; // reset marker position to player's current move while(check == 0) { gridnumber = gridnumber+20; if(grid[gridnumber] == 1) { p1score++; } else { check++; } } // check diogonal up left of playermarker check = 0; gridnumber = oldnumber; // reset marker position to player's current move while(check == 0) { gridnumber = gridnumber-21; if(grid[gridnumber] == 1) { p1score++; } else { check++; } } // check diogonal up right of playermarker check = 0; gridnumber = oldnumber; // reset marker position to player's current move while(check == 0) { gridnumber = gridnumber-19; if(grid[gridnumber] == 1) { p1score++; } else { check++; } } // check diogonal down left of playermarker check = 0; gridnumber = oldnumber; // reset marker position to player's current move while(check == 0) { gridnumber = gridnumber+19; if(grid[gridnumber] == 1) { p1score++; } else { check++; } } // check diogonal down right of playermarker check = 0; gridnumber = oldnumber; // reset marker position to player's current move while(check == 0) { gridnumber = gridnumber+21; if(grid[gridnumber] == 1) { p1score++; } else { check++; } } }// end of void CheckP1Score() //////////////////////////////////////////////////////////////////////////////////////// // ---------------------------------- // void CheckP2Score() // ---------------------------------- void CheckP2Score() { int oldnumber; // used to store player's current move int check; // loop counter oldnumber = gridnumber; // save player's current move // check right of playermarker check = 0; gridnumber = oldnumber; // reset marker position to player's current move while(check == 0) { gridnumber++; if(grid[gridnumber] == 2) { p2score++; } else { check++; } } // check left of playermarker check = 0; gridnumber = oldnumber; // reset marker position to player's current move while(check == 0) { gridnumber--; if(grid[gridnumber] == 2) { p2score++; } else { check++; } } // check above playermarker check = 0; gridnumber = oldnumber; // reset marker position to player's current move while(check == 0) { gridnumber = gridnumber-20; if(grid[gridnumber] == 2) { p2score++; } else { check++; } } // check below playermarker check = 0; gridnumber = oldnumber; // reset marker position to player's current move while(check == 0) { gridnumber = gridnumber+20; if(grid[gridnumber] == 2) { p2score++; } else { check++; } } // check diogonal up left of playermarker check = 0; gridnumber = oldnumber; // reset marker position to player's current move while(check == 0) { gridnumber = gridnumber-21; if(grid[gridnumber] == 2) { p2score++; } else { check++; } } // check diogonal up right of playermarker check = 0; gridnumber = oldnumber; // reset marker position to player's current move while(check == 0) { gridnumber = gridnumber-19; if(grid[gridnumber] == 2) { p2score++; } else { check++; } } // check diogonal down left of playermarker check = 0; gridnumber = oldnumber; // reset marker position to player's current move while(check == 0) { gridnumber = gridnumber+19; if(grid[gridnumber] == 2) { p2score++; } else { check++; } } // check diogonal down right of playermarker check = 0; gridnumber = oldnumber; // reset marker position to player's current move while(check == 0) { gridnumber = gridnumber+21; if(grid[gridnumber] == 2) { p2score++; } else { check++; } } }// end of void CheckP2Score() //////////////////////////////////////////////////////////////////////////////////////// //---------------------------- // void DisplayWinner() //---------------------------- void DisplayWinner() { int endgame = 0; while(endgame != 2) { // Find out which buffer is being used activeBuff = GsGetActiveBuff(); // Packet area GsSetWorkBase((PACKET *)GpuPacketArea[activeBuff]); // Clear the ordering table GsClearOt(0,0,&WorldOT[activeBuff]); GsSortFastSprite(&TestSprite8,&WorldOT[activeBuff],3); GsSortFastSprite(&TestSprite9,&WorldOT[activeBuff],3); DrawGrid(); // Register winning sprite into ordering table // Uses GsSortFastSprite for speed - no rotation/scaling needed if(p1score > p2score) { GsSortFastSprite(&TestSprite12,&WorldOT[activeBuff],0); } else if(p1score < p2score) { GsSortFastSprite(&TestSprite13,&WorldOT[activeBuff],0); } else { GsSortFastSprite(&TestSprite14,&WorldOT[activeBuff],0); } // Wait for all drawing to finish DrawSync(0); // Wait for vertical blank interrupt VSync(0); // Switch display buffer & offscreen buffer GsSwapDispBuff(); // Sort the ordering table GsSortClear(0,0,0,&WorldOT[activeBuff]); // Draw the objects registered in the Ordering table GsDrawOt(&WorldOT[activeBuff]); // Load basic font pattern in frame buffer FntLoad(960, 256); // Font display location setting FntOpen(5, 0, 320, 240, 0, 1024); FntPrint("P1: %d\n\n",p1score); FntPrint("P2: %d",p2score); FntFlush(-1); endgame++; } }// end of DisplayWinner() //////////////////////////////////////////////////////////////////////////////////////// void CheckWinner() { //********************************** //*** Nothing here yet. Will *** //*** eventually display win *** //*** lose or draw screens *** //********************************** }// end of void CheckWinner() ////////////////////////////////////////////////////////////////////////////////////////