Wpis z mikrobloga

Ktoś mi powie co tu jest źle... Dlaczego drugi ruch jest zawsze błędnie brany, a reszta już idzie ok, kółko jest brane za krzyżyk a krzyżyk za kółko :/ Wymiękam... A pewnie jest jakaś głupota znając życie xD


#include
#pragma hdrstop
#include

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
char p[9]; ////p1..p9 pola w grze (ich zawartosc: p1='n'; nic lub 'x' lub 'o' )
char kto;

void check()
{
if((p[1] == p[2] && p[2] == p[3] && p[1] != 'n') ||
(p[4] == p[5] && p[5] == p[6] && p[4] != 'n') ||
(p[7] == p[8] && p[8] == p[9] && p[7] != 'n') ||
(p[1] == p[4] && p[4] == p[7] && p[1] != 'n') ||
(p[2] == p[5] && p[5] == p[8] && p[2] != 'n') ||
(p[3] == p[6] && p[6] == p[9] && p[3] != 'n') ||
(p[1] == p[5] && p[5] == p[9] && p[1] != 'n') ||
(p[3] == p[5] && p[5] == p[7] && p[3] != 'n'))
{
char *w;
if (kto == 'x') w = "Wygrywa kółko!";
else w = "Wygrywa krzyżyk!";
Application->MessageBox(w, "Koniec gry", MBOK| MBICONWARNING);
}
}

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
int los;
srand(time(NULL));
los=rand()%2;

TImage *images[]={Pole1, Pole2, Pole3, Pole4, Pole5, Pole6, Pole7, Pole8, Pole9};

for( int i=0; iPicture->LoadFromFile("IMG/nic.bmp");
images[i]->Enabled=true;
images[i]->Tag=i+1;
}
for(int a = 1; a <=9; ++a)
{
p[a] = 'n';
}

if(los==0)
{tura->Picture->LoadFromFile("IMG/xsmall.bmp");
kto='x';}
else if (los==1)
{tura->Picture->LoadFromFile("IMG/osmall.bmp");
kto='o';}

}
//---------------------------------------------------------------------------
void __fastcall TForm1::Pole1Click(TObject *Sender)
{
TImage *pole= (TImage *)Sender;
if(kto=='x')
{
pole->Picture->LoadFromFile("IMG/x.bmp");
kto = 'o';
p[pole->Tag]='x';
tura->Picture->LoadFromFile("img/osmall.bmp");
}
else if(kto=='o')
{
pole->Picture->LoadFromFile("IMG/o.bmp");
kto = 'x';
p[pole->Tag]='o';
tura->Picture->LoadFromFile("img/xsmall.bmp");
}

pole->Enabled=false;
check();

}
//---------------------------------------------------------------------------

#programowanie
  • 4
@MamCieNaHita: 1 i 2 punkt zgadzam się XD ale jakoś narazie chce sobie dokończyć na tym, bo i tak c++ to raczej tak dla siebie się uczę bo planuję się skupić na javie.
A co do punktu 3 to... Cholera jasna XD specjalnie sobie przyjąłem żeby nie brać p[0] za pole 1 żeby nie pokielbasić tylko przesunąć się o jedno do przodu tylko nie zwróciłem uwagi że mając p[9] to ostatnia