Un cavolo di giochino, ecco il mio crucio... creazione tutto a posto, però i controlli della vittoria non mi funzionano, qualcuno mi aiuta?
# include <graphics.h>
#include<iostream>
using namespace std;
int main()
{
int matr[20][20];
int cX=1, cO=1;
int aiuto;
int rig,col;
int x,y;
int turn=0;
bool turno=false;
/* initwindow(900,602);
readimagefile("entrata.gif",0,0,900,301);
readimagefile("esci.gif",0,300,900,602);
setcolor(1);
line(0,301,900,301);
for(;;)
{
if(ismouseclick(WM_LBUTTONUP))
{
getmouseclick(WM_LBUTTONUP,x,y);
if(y<=300)
goto continua;
else
goto FINE;
}
}
continua:
closegraph();*/
initwindow(900, 600);
//readimagefile("bandinellaLat.gif",600,0,900,600);
setcolor(9);
outtextxy(635,300,"TOCCA AL GIOCATORE");
setcolor(5);
for(int i=0; i<21; i++)
line(65,50+i*24,545,50+i*24);
for(int i=0; i<21; i++)
line(65+i*24,50,65+i*24,530);
for(int i=0; i<20; i++)
{cout<<endl;
for(int m=0; m<20; m++)
{matr[m]=0;}
}
setcolor(12);
outtextxy(790,300," CERCHIO ");
//inserimento...
for(;;)
{
if(ismouseclick(WM_LBUTTONUP))
{
delay(50);
getmouseclick(WM_LBUTTONUP,x,y);
turn++;
if(x<545&&x>65&&y<530&&y>50)
{
setcolor(1);
outtextxy(790,300," ");
rig=(x-65)/24;
col=(y-50)/24;
if(matr[rig][col]==0)
{
x=rig*24;
y=col*24;
if(turno==false)
{
matr[rig][col]=1;
outtextxy(600,600,"1");
setcolor(12);
circle(77+x,62+y,7);
turno=true;
setcolor(10);
outtextxy(790,300," CROCE ");
}
else
{
matr[rig][col]=10;
setcolor(10);
line(70+x,55+y,83+x,69+y);
line(70+x,69+y,83+x,55+y);
turno=false;
setcolor(12);
outtextxy(790,300," CERCHIO ");
}
//controlli
//controllo righe
for(int i=0; i<20; i++)
{
cX=0;cO=0;
for(int m=0; m<20; m++)
{
if(matr[m]==1)
{if(matr[m+1]==1 || matr[m-1]==1)
cO++;
if(cX!=5 || cO!=5)
goto VITTORIA;
cX=0;
}
if(matr[m]==10)
{if(matr[m+1]==10 || matr[m-1]==10)
cX++;
if(cX!=5 || cO!=5)
goto VITTORIA;
cO=0;
}
if(cX!=5 || cO!=5)
goto VITTORIA;
}
}
// controllo vittoria
VITTORIA:
if(cO==5||cX==5)
{
while(kbhit()==0)
{
if(cO==5)
{
outtextxy(200,0,"PREMI UN TASTO PER USCIRE");
while(kbhit()==0)
{int x=rand()%600+1;
int y=rand()%600+1;
setcolor(12);
outtextxy(x,y,"VITTORIA");
setcolor(10);
outtextxy(200,0,"PREMI UN TASTO PER USCIRE");}}
else
{
outtextxy(200,0,"PREMI UN TASTO PER USCIRE");
while(kbhit()==0)
{int x=rand()%600+1;
int y=rand()%600+1;
setcolor(10);
outtextxy(x,y,"VITTORIA");
setcolor(12);
outtextxy(200,0,"PREMI UN TASTO PER USCIRE");}}
}
goto FINE;
}
}
}
}
}
FINE:
closegraph();
}