Kółko i krzyżyk
Ostatnio zmodyfikowano 2016-03-05 10:01
Garniturek Temat założony przez niniejszego użytkownika |
Kółko i krzyżyk » 2016-02-27 16:16:26 Witam, próbuje napisać kółko i krzyżyk i mam pewien błąd. Kiedy rozpoczyna się 'nowa gra' automatycznie wstawia się 'x', a powinien się wstawić tylko po ruchu gracza, czyli kiedy wstawione jest 'o'. Widzi ktoś błąd? ;) #include <vcl.h> #pragma hdrstop
#include "Unit1.h"
#pragma package(smart_init) #pragma resource "*.dfm" TForm1 * Form1; int liczniko = 0, licznikx = 0; char p1, p2, p3, p4, p5, p6, p7, p8, p9;
char kto; void od_nowa() { Form1->Pole1->Picture->LoadFromFile( "img/nic.bmp" ); Form1->Pole2->Picture->LoadFromFile( "img/nic.bmp" ); Form1->Pole3->Picture->LoadFromFile( "img/nic.bmp" ); Form1->Pole4->Picture->LoadFromFile( "img/nic.bmp" ); Form1->Pole5->Picture->LoadFromFile( "img/nic.bmp" ); Form1->Pole6->Picture->LoadFromFile( "img/nic.bmp" ); Form1->Pole7->Picture->LoadFromFile( "img/nic.bmp" ); Form1->Pole8->Picture->LoadFromFile( "img/nic.bmp" ); Form1->Pole9->Picture->LoadFromFile( "img/nic.bmp" ); Form1->Tura->Picture->LoadFromFile( "img/osmall.bmp" ); p1 = 'n'; p4 = 'n'; p7 = 'n'; p2 = 'n'; p5 = 'n'; p8 = 'n'; p3 = 'n'; p6 = 'n'; p9 = 'n'; kto = 'o'; Form1->Pole1->Enabled = true; Form1->Pole2->Enabled = true; Form1->Pole3->Enabled = true; Form1->Pole4->Enabled = true; Form1->Pole5->Enabled = true; Form1->Pole6->Enabled = true; Form1->Pole7->Enabled = true; Form1->Pole8->Enabled = true; Form1->Pole9->Enabled = true; Form1->Pole1->Tag = 0; Form1->Pole2->Tag = 0; Form1->Pole3->Tag = 0; Form1->Pole4->Tag = 0; Form1->Pole5->Tag = 0; Form1->Pole6->Tag = 0; Form1->Pole7->Tag = 0; Form1->Pole8->Tag = 0; Form1->Pole9->Tag = 0; Form1->Image1->Picture->LoadFromFile( "img/xsmall.bmp" ); Form1->Image2->Picture->LoadFromFile( "img/osmall.bmp" ); } void sprawdz() { if(( p1 == p2 && p2 == p3 && p1 != 'n' ) || ( p4 == p5 && p5 == p6 && p4 != 'n' ) || ( p7 == p8 && p8 == p9 && p7 != 'n' ) || ( p1 == p4 && p4 == p7 && p1 != 'n' ) || ( p2 == p5 && p5 == p8 && p2 != 'n' ) || ( p3 == p6 && p6 == p9 && p3 != 'n' ) || ( p1 == p5 && p5 == p9 && p1 != 'n' ) || ( p3 == p5 && p5 == p7 && p3 != 'n' ) ) { char * w; if( kto == 'x' ) { w = "Wygrywa kółko!"; liczniko++; Form1->Wynik2->Caption = liczniko; } else { w = "Wygrywa krzyżyk!"; licznikx++; Form1->wynik1->Caption = licznikx; } Application->MessageBox( w, "Koniec gry", MB_OK ); od_nowa(); } } komputer() { while( 1 ) { int liczba =(( rand() % 9 ) + 3 ); if( liczba == 1 ) { if( Form1->Pole1->Tag == 0 ) { Form1->Pole1->Picture->LoadFromFile( "img/x.bmp" ); kto = 'o'; p1 = 'x'; Form1->Pole1->Enabled = false; Form1->Pole1->Tag = 1; break; } } else if( liczba == 2 ) { if( Form1->Pole2->Tag == 0 ) { Form1->Pole2->Picture->LoadFromFile( "img/x.bmp" ); kto = 'o'; p2 = 'x'; Form1->Pole2->Enabled = false; Form1->Pole2->Tag = 1; break; } } else if( liczba == 3 ) { if( Form1->Pole3->Tag == 0 ) { Form1->Pole3->Picture->LoadFromFile( "img/x.bmp" ); kto = 'o'; p3 = 'x'; Form1->Pole3->Enabled = false; Form1->Pole3->Tag = 1; break; } } else if( liczba == 4 ) { if( Form1->Pole4->Tag == 0 ) { Form1->Pole4->Picture->LoadFromFile( "img/x.bmp" ); kto = 'o'; p4 = 'x'; Form1->Pole4->Enabled = false; Form1->Pole4->Tag = 1; break; } } else if( liczba == 5 ) { if( Form1->Pole5->Tag == 0 ) { Form1->Pole5->Picture->LoadFromFile( "img/x.bmp" ); kto = 'o'; p5 = 'x'; Form1->Pole5->Enabled = false; Form1->Pole5->Tag = 1; break; } } else if( liczba == 6 ) { if( Form1->Pole6->Tag == 0 ) { Form1->Pole6->Picture->LoadFromFile( "img/x.bmp" ); kto = 'o'; p6 = 'x'; Form1->Pole6->Enabled = false; Form1->Pole6->Tag = 1; break; } } else if( liczba == 7 ) { if( Form1->Pole7->Tag == 0 ) { Form1->Pole7->Picture->LoadFromFile( "img/x.bmp" ); kto = 'o'; p7 = 'x'; Form1->Pole7->Enabled = false; Form1->Pole7->Tag = 1; break; } } else if( liczba == 8 ) { if( Form1->Pole8->Tag == 0 ) { Form1->Pole8->Picture->LoadFromFile( "img/x.bmp" ); kto = 'o'; p8 = 'x'; Form1->Pole8->Enabled = false; Form1->Pole8->Tag = 1; break; } } else if( liczba == 9 ) { if( Form1->Pole9->Tag == 0 ) { Form1->Pole9->Picture->LoadFromFile( "img/x.bmp" ); kto = 'o'; p9 = 'x'; Form1->Pole9->Enabled = false; Form1->Pole9->Tag = 1; break; } } } sprawdz(); }
__fastcall TForm1::TForm1( TComponent * Owner ) : TForm( Owner ) { }
void __fastcall TForm1::FormCreate( TObject * Sender ) { Pole1->Picture->LoadFromFile( "img/nic.bmp" ); Pole2->Picture->LoadFromFile( "img/nic.bmp" ); Pole3->Picture->LoadFromFile( "img/nic.bmp" ); Pole4->Picture->LoadFromFile( "img/nic.bmp" ); Pole5->Picture->LoadFromFile( "img/nic.bmp" ); Pole6->Picture->LoadFromFile( "img/nic.bmp" ); Pole7->Picture->LoadFromFile( "img/nic.bmp" ); Pole8->Picture->LoadFromFile( "img/nic.bmp" ); Pole9->Picture->LoadFromFile( "img/nic.bmp" ); Tura->Picture->LoadFromFile( "img/osmall.bmp" ); p1 = 'n'; p4 = 'n'; p7 = 'n'; p2 = 'n'; p5 = 'n'; p8 = 'n'; p3 = 'n'; p6 = 'n'; p9 = 'n'; kto = 'o'; Pole1->Enabled = true; Pole2->Enabled = true; Pole3->Enabled = true; Pole4->Enabled = true; Pole5->Enabled = true; Pole6->Enabled = true; Pole7->Enabled = true; Pole8->Enabled = true; Pole9->Enabled = true; Pole1->Tag = 0; Pole2->Tag = 0; Pole3->Tag = 0; Pole4->Tag = 0; Pole5->Tag = 0; Pole6->Tag = 0; Pole7->Tag = 0; Pole8->Tag = 0; Pole9->Tag = 0; Image1->Picture->LoadFromFile( "img/xsmall.bmp" ); Image2->Picture->LoadFromFile( "img/osmall.bmp" ); }
void __fastcall TForm1::Image1Click( TObject * Sender ) { Image1->Picture->LoadFromFile( "img/osmall.bmp" ); }
void __fastcall TForm1::Image2Click( TObject * Sender ) { Image2->Picture->LoadFromFile( "img/osmall.bmp" ); }
void __fastcall TForm1::Pole1Click( TObject * Sender ) { if( p1 == 'n' ) { Pole1->Picture->LoadFromFile( "img/o.bmp" ); p1 = 'o'; kto = 'x'; Pole1->Enabled = false; sprawdz(); Form1->Pole1->Tag = 1; komputer(); } }
void __fastcall TForm1::Pole2Click( TObject * Sender ) { if( p2 == 'n' ) { Pole2->Picture->LoadFromFile( "img/o.bmp" ); p2 = 'o'; kto = 'x'; Pole2->Enabled = false; sprawdz(); Form1->Pole2->Tag = 1; komputer(); } }
void __fastcall TForm1::Pole3Click( TObject * Sender ) { if( p3 == 'n' ) { Pole3->Picture->LoadFromFile( "img/o.bmp" ); p3 = 'o'; kto = 'x'; Pole3->Enabled = false; sprawdz(); Form1->Pole3->Tag = 1; komputer(); } }
void __fastcall TForm1::Pole4Click( TObject * Sender ) { if( p4 == 'n' ) { Pole4->Picture->LoadFromFile( "img/o.bmp" ); p4 = 'o'; kto = 'x'; Pole4->Enabled = false; sprawdz(); Form1->Pole4->Tag = 1; komputer(); } }
void __fastcall TForm1::Pole5Click( TObject * Sender ) { if( p5 == 'n' ) { Pole5->Picture->LoadFromFile( "img/o.bmp" ); p5 = 'o'; kto = 'x'; Pole5->Enabled = false; sprawdz(); Form1->Pole5->Tag = 1; komputer(); } }
void __fastcall TForm1::Pole6Click( TObject * Sender ) { if( p6 == 'n' ) { Pole6->Picture->LoadFromFile( "img/o.bmp" ); p6 = 'o'; kto = 'x'; Pole6->Enabled = false; sprawdz(); Form1->Pole6->Tag = 1; komputer(); } }
void __fastcall TForm1::Pole7Click( TObject * Sender ) { if( p7 == 'n' ) { Pole7->Picture->LoadFromFile( "img/o.bmp" ); p7 = 'o'; kto = 'x'; Pole7->Enabled = false; sprawdz(); Form1->Pole7->Tag = 1; komputer(); } }
void __fastcall TForm1::Pole8Click( TObject * Sender ) { if( p8 == 'n' ) { Pole8->Picture->LoadFromFile( "img/o.bmp" ); p8 = 'o'; kto = 'x'; Pole8->Enabled = false; sprawdz(); Form1->Pole8->Tag = 1; komputer(); } }
void __fastcall TForm1::Pole9Click( TObject * Sender ) { if( p9 == 'n' ) { Pole9->Picture->LoadFromFile( "img/o.bmp" ); p9 = 'o'; kto = 'x'; Pole9->Enabled = false; sprawdz(); Form1->Pole9->Tag = 1; komputer(); } }
|
|
C-Objective |
» 2016-03-05 10:01:40 Komputer rusza się pierwszy (chyba), użyj tablic do przechowania tych charów typu char p1, p2, p3, p4, p5, p6, p7, p8, p9; , i użyj TU pętli Form1->Pole1->Picture->LoadFromFile( "img/nic.bmp" ); Form1->Pole2->Picture->LoadFromFile( "img/nic.bmp" ); Form1->Pole3->Picture->LoadFromFile( "img/nic.bmp" ); Form1->Pole4->Picture->LoadFromFile( "img/nic.bmp" ); Form1->Pole5->Picture->LoadFromFile( "img/nic.bmp" ); Form1->Pole6->Picture->LoadFromFile( "img/nic.bmp" ); Form1->Pole7->Picture->LoadFromFile( "img/nic.bmp" ); Form1->Pole8->Picture->LoadFromFile( "img/nic.bmp" ); Form1->Pole9->Picture->LoadFromFile( "img/nic.bmp" ); Form1->Tura->Picture->LoadFromFile( "img/osmall.bmp" ); p1 = 'n'; p4 = 'n'; p7 = 'n'; p2 = 'n'; p5 = 'n'; p8 = 'n'; p3 = 'n'; p6 = 'n'; p9 = 'n'; kto = 'o'; Form1->Pole1->Enabled = true; Form1->Pole2->Enabled = true; Form1->Pole3->Enabled = true; Form1->Pole4->Enabled = true; Form1->Pole5->Enabled = true; Form1->Pole6->Enabled = true; Form1->Pole7->Enabled = true; Form1->Pole8->Enabled = true; Form1->Pole9->Enabled = true; Form1->Pole1->Tag = 0; Form1->Pole2->Tag = 0; Form1->Pole3->Tag = 0; Form1->Pole4->Tag = 0; Form1->Pole5->Tag = 0; Form1->Pole6->Tag = 0; Form1->Pole7->Tag = 0; Form1->Pole8->Tag = 0; Form1->Pole9->Tag = 0; Form1->Image1->Picture->LoadFromFile( "img/xsmall.bmp" ); Form1->Image2->Picture->LoadFromFile( "img/osmall.bmp" );
A i jeszcze się zdecyduj, czy C czy C++ używasz, bo funkcja komputer zwraca inta, a nie jest to napisane... Kompiluje się to w borlandzie w ogóle? |
|
« 1 » |