Monday, May 24, 2010

How can i actually PLAY the game i made using C++?

heres the code im using dev and it compiles but nothing pops up?


#include %26lt;allegro.h%26gt;





BITMAP *xSprite;


BITMAP *oSprite;





int board[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 0}; //This will be used to keep


//track of the Xs and Os


int curSquare = 0; //This will keep track of the current square


//the selector is on





int turn = 1; //This will keep track of whose turn it is


//1 Will be for X and 2 for O





int x = 0; //X and Y position of selector


int y = 0;





int tempX = 0; //holds temporary values used to clear selector


int tempY = 0;





void setupBoard(){ //This function will draw in the grid





acquire_screen();





line( screen, 200, 0, 200, 480, makecol( 255, 255, 255));


line( screen, 400, 0, 400, 480, makecol( 255, 255, 255));


line( screen, 0, 150, 680, 150, makecol( 255, 255, 255));


line( screen, 0, 300, 680, 300, makecol( 255, 255, 255));





rect( screen, x+1, y+1, x + 199, y + 149, makecol( 255, 255, 0));





release_screen();





}





void updateBoard(){ //draws in selector





rect( screen, tempX+1, tempY+1, tempX + 199, tempY + 149, makecol( 0, 0, 0));


rect( screen, x+1, y+1, x + 199, y + 149, makecol( 255, 255, 0));


rest(100);


}





void announceWinner(){ //Announces the winner








if( turn == 1){


textout_ex( screen, font, "X Wins!!!!", 300, 240, makecol( 255, 0, 0), makecol(0, 0, 0));


} else {


textout_ex( screen, font, "O Wins!!!!", 300, 240, makecol( 255, 0, 0), makecol(0, 0, 0));


}








}





void checkWin(){ //checks for a winner





if( board[0] == turn %26amp;%26amp; board[1] == turn %26amp;%26amp; board[2] == turn){


announceWinner();


} else if( board[0] == turn %26amp;%26amp; board[3] == turn %26amp;%26amp; board[6] == turn){


announceWinner();


} else if( board[0] == turn %26amp;%26amp; board[4] == turn %26amp;%26amp; board[8] == turn){


announceWinner();


} else if( board[1] == turn %26amp;%26amp; board[4] == turn %26amp;%26amp; board[7] == turn){


announceWinner();


} else if( board[2] == turn %26amp;%26amp; board[4] == turn %26amp;%26amp; board[6] == turn){


announceWinner();


} else if( board[2] == turn %26amp;%26amp; board[5] == turn %26amp;%26amp; board[8] == turn){


announceWinner();


} else if( board[3] == turn %26amp;%26amp; board[4] == turn %26amp;%26amp; board[5] == turn){


announceWinner();


} else if( board[6] == turn %26amp;%26amp; board[7] == turn %26amp;%26amp; board[8] == turn){


announceWinner();


}





}











void drawXO(){ //draws in the X and O





acquire_screen();





if(turn == 1){


draw_sprite( screen, xSprite, x, y);


board[curSquare] = 1;


checkWin();


++turn;


} else if( turn == 2){


draw_sprite( screen, oSprite, x, y);


board[curSquare] = 2;


checkWin();


--turn;


}





release_screen();





rest(100);





}





void moveBox(){ //takes input





clear_keybuf();


tempX = x;


tempY = y;





if( key[KEY_UP] %26amp;%26amp; y != 0){





y -= 150;


curSquare -=3;


updateBoard();





} else if( key[KEY_DOWN] %26amp;%26amp; y != 300){





y += 150;


curSquare +=3;


updateBoard();





} else if( key[KEY_RIGHT] %26amp;%26amp; x != 400){





x += 200;


++curSquare;


updateBoard();





} else if( key[KEY_LEFT] %26amp;%26amp; x != 0){





x -= 200;


--curSquare;


updateBoard();





} else if( key[KEY_ENTER] %26amp;%26amp; board[curSquare] == 0){





drawXO();





}





}





int main(){





allegro_init();


install_keyboard();


set_color_depth(16);


set_gfx_mode( GFX_AUTODETECT, 640, 480, 0, 0);





xSprite = load_bitmap( "x.bmp", NULL);





oSprite = load_bitmap( "o.bmp", NULL);





setupBoard();





while( !key[KEY_ESC]){


moveBox();





}





destroy_bitmap( xSprite);


destroy_bitmap( oSprite);





return 0;





}


END_OF_MAIN();

How can i actually PLAY the game i made using C++?
Maybe im not reading it right, but i dont ever see your main access your function that takes input, along with some other functions. Sorry if im not a help. I'm unfamiliar with some of your syntax, and i would have a different style.





But definitely go to the debug tool step over and such.
Reply:Use a debugger and trace your program step-by-step to see what is not working properly.
Reply:try to test your functions parameter


No comments:

Post a Comment