Witam.
Jestem totalnym laikiem i nie mam koncepcji gdzie lezy blad (pewnie nie jeden).
Otoz program kompiluje sie i uruchamia poprawnie na jednym komputerze, a na wszystkich innych do ktorych mam dostep winda zglasza ze program przestal dzialac i nastapi jego zakoncznie. Czy ktos ma jakies pomysly ? Z gory dzieki za pomoc.
#include
#include
using namespace std;
int kolko (int x,int y); //f rysujaca kolka
int krzyzyk (int x,int y); //f rysujaca krzyzyki
int gracz1(); //f - ruchy gracza 1
int gracz2(); //f - ruchy gracza 2
int sprawdz(int x); // f sprawdzajaca i wyswietlajaca wynik
int wynik=0;
int z=0;
int i=1;
char p; //zmienna pomocnicza do porownywania
char log[9]; //historia naciskanych klawiszy
bool wynikg[2][9];
int main()
{
allegro_init();
install_keyboard();
set_color_depth(16);
set_gfx_mode(GFX_AUTODETECT_WINDOWED,600,800,0,0);
clear_to_color(screen, makecol(128,128,128));
hline(screen, 0, 400, 600, makecol(255,255,255));
hline(screen, 0, 200, 600, makecol(255,255,255));
hline(screen, 0, 600, 600, makecol(255,255,255));
vline(screen, 200, 0, 600, makecol(255,255,255));
vline(screen, 400, 0, 600, makecol(255,255,255));
while(!key[KEY_ESC] && wynik<1){
p=readkey();
for(int i=0; i
if (p==log[i]) {textprintf(screen,font,20,690,makecol(255,255,128),"Ruch nie dozwolony");
i=-1;
p=readkey();}
}
log[z]=p;
::z++;
gracz1();
wynik=sprawdz(0);
if (wynik>0) continue;
textprintf(screen,font,20,650,makecol(255,255,128),"Ruch gracza 2");
p=readkey();
for(int i=0; i
if (p==log[i]) {textprintf(screen,font,20,690,makecol(255,255,128),"Ruch nie dozwolony");
i=-1;
p=readkey();}
}
log[z]=p;
::z++;
gracz2();
wynik=sprawdz(1);
};
readkey();
allegro_exit();
// system("pause");
return 0;
}
END_OF_MAIN();
//------------------------------------------------------------------------------
int gracz1(){
if (key [KEY_1_PAD]) {
kolko(100,500);
wynikg[0][0] = true;}
if (key [KEY_2_PAD]) {
kolko(300,500);
wynikg[0][1] = true;}
if (key [KEY_3_PAD]) {
kolko(500,500);
wynikg[0][2] = true;}
if (key [KEY_4_PAD]) {
kolko(100,300);
wynikg[0][3] = true;}
if (key [KEY_5_PAD]) {
kolko(300,300);
wynikg[0][4] = true;}
if (key [KEY_6_PAD]) {
kolko(500,300);
wynikg[0][5] = true;}
if (key [KEY_7_PAD]) {
kolko(100,100);
wynikg[0][6] = true;}
if (key [KEY_8_PAD]) {
kolko(300,100);
wynikg[0][7] = true;}
if (key [KEY_9_PAD]) {
kolko(500,100);
wynikg[0][8] = true;}
}
int gracz2(){
if (key [KEY_1_PAD]) {
krzyzyk(0,400);
wynikg[1][0] = true;}
if (key [KEY_2_PAD]) {
krzyzyk(200,400);
wynikg[1][1] = true;}
if (key [KEY_3_PAD]) {
krzyzyk(400,400);
wynikg[1][2] = true;}
if (key [KEY_4_PAD]) {
krzyzyk(000,200);
wynikg[1][3] = true;}
if (key [KEY_5_PAD]) {
krzyzyk(200,200);
wynikg[1][4] = true;}
if (key [KEY_6_PAD]) {
krzyzyk(400,200);
wynikg[1][5] = true;}
if (key [KEY_7_PAD]) {
krzyzyk(0,0);
wynikg[1][6] = true;}
if (key [KEY_8_PAD]) {
krzyzyk(200,0);
wynikg[1][7] = true;}
if (key [KEY_9_PAD]) {
krzyzyk(400,0);
wynikg[1][8] = true;}
}
int kolko (int x, int y){
circle(screen, x, y,50, makecol(255,0,0));
rest(2);
}
int krzyzyk (int x, int y){
line( screen,x,y,x+200,y+200, makecol(0,255,0));
line( screen,x,y+200,x+200,y, makecol(0,255,0));
rest(2);
}
int sprawdz(int x){
if (wynikg[x][0]&&wynikg[x][1]&&wynikg[x][2]==true ) {textprintf(screen,font,20,690,makecol(255,255,128),"BRAWO! WYGRYWA Gracz %d",x+1);
return x+1;}
if (wynikg[x][3]&&wynikg[x][4]&&wynikg[x][5]==true ) {textprintf(screen,font,20,690,makecol(255,255,128),"BRAWO! WYGRYWA Gracz %d",x+1);
return x+1;}
if (wynikg[x][6]&&wynikg[x][7]&&wynikg[x][8]==true ) {textprintf(screen,font,20,690,makecol(255,255,128),"BRAWO! WYGRYWA Gracz %d",x+1);
return x+1;}
if (wynikg[x][0]&&wynikg[x][4]&&wynikg[x][9]==true ) {textprintf(screen,font,20,690,makecol(255,255,128),"BRAWO! WYGRYWA Gracz %d",x+1);
return x+1;}
if (wynikg[x][2]&&wynikg[x][4]&&wynikg[x][6]==true ) {textprintf(screen,font,20,690,makecol(255,255,128),"BRAWI! WYGRYWA Gracz %d",x+1);
return x+1;}
if (wynikg[x][0]&&wynikg[x][3]&&wynikg[x][6]==true ) {textprintf(screen,font,20,690,makecol(255,255,128),"BARWO! WYGRYWA Gracz %d",x+1);
return x+1;}
if (wynikg[x][1]&&wynikg[x][4]&&wynikg[x][7]==true ) {textprintf(screen,font,20,690,makecol(255,255,128),"BRAWO! WYGRYWA Gracz %d",x+1);
return x+1;}
if (wynikg[x][2]&&wynikg[x][5]&&wynikg[x][8]==true ) {textprintf(screen,font,20,690,makecol(255,255,128),"BRAWO! WYGRYWA Gracz %d",x+1);
return x+1;}
else return 0;
}