Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Zablokowanie dalszej gry?


Rekomendowane odpowiedzi

Opublikowano

Napisałem prostą grę w c++ Kółko i krzyżyk i ogólnie jest okej tylko że po wygranej mam message boxa z informacja kto wygrał ale gdy wcisnę OK mogę dalej grać co powoduje że w jednej grze mogą wygrać dwie osoby. Może na screenie to przedstawię

 

 

 

qLgyYCU.png

 

Teraz gdy wcisnę OK nadal mogę używać pustych pul i przez to może stać się coś takiego 

 

ngSEYOJ.png

 

 

 

Jak to naprawić?

 

Macie KOD! 

PS: Robiłem to w builderze c++ 

 

Plik (Unit1.cpp)

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

char p1, p2, p3, p4, p5, p6, p7, p8, p9;
char kto;

void sprawdz()
{
//Sprawdzanie w poziomie
 if((p1==p2 && p2==p3 && p1!='n') ||
   (p4==p5 && p5==p6 && p4!='n') ||
   (p7==p8 && p8==p9 && p7!='n') ||
 //Sprawdzanie w pionie
   (p1==p4 && p4==p7 && p7!='n') ||
   (p2==p5 && p5==p8 && p8!='n') ||
   (p3==p6 && p6==p9 && p9!='n') ||
 //Sprawdzanie na ukos
    (p1==p5 && p5==p9 && p9!='n') ||
    (p3==p5 && p5==p7 && p7!='n'))
    {
     char * w;
     if (kto=='x') w="Wygrywa kółko!";
     else w="Wygrywa krzyżyk!";

     Application->MessageBox(w, "Koniec Gry", MB_OK);
    }


 }
//---------------------------------------------------------------------------
__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;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::pole1Click(TObject *Sender)
{
        if(p1=='n')
        {
                if(kto=='o')
                {
                pole1->Picture->LoadFromFile("img/o.bmp");
                p1='o';
                kto='x';
                tura->Picture->LoadFromFile("img/xsmall.bmp");
                }
                else{
                pole1->Picture->LoadFromFile("img/x.bmp");
                p1='x';
                kto='o';
                tura->Picture->LoadFromFile("img/osmall.bmp");
                }
                 pole1->Enabled=false;
                 sprawdz();
        }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::pole2Click(TObject *Sender)
{   
if(p2=='n')
        {
                if(kto=='o')
                {
                pole2->Picture->LoadFromFile("img/o.bmp");
                p2='o';
                kto='x';
                tura->Picture->LoadFromFile("img/xsmall.bmp");
                }
                else{
                pole2->Picture->LoadFromFile("img/x.bmp");
                p2='x';
                kto='o';
                tura->Picture->LoadFromFile("img/osmall.bmp");
                }
                 pole2->Enabled=false;
                 sprawdz();
        }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::pole3Click(TObject *Sender)
{
if(p3=='n')
        {
                if(kto=='o')
                {
                pole3->Picture->LoadFromFile("img/o.bmp");
                p3='o';
                kto='x';
                tura->Picture->LoadFromFile("img/xsmall.bmp");
                }
                else{
                pole3->Picture->LoadFromFile("img/x.bmp");
                p3='x';
                kto='o';
                tura->Picture->LoadFromFile("img/osmall.bmp");
                }
                 pole3->Enabled=false;
                 sprawdz();
        }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::pole4Click(TObject *Sender)
{
if(p4=='n')
        {
                if(kto=='o')
                {
                pole4->Picture->LoadFromFile("img/o.bmp");
                p4='o';
                kto='x';
                tura->Picture->LoadFromFile("img/xsmall.bmp");
                }
                else{
                pole4->Picture->LoadFromFile("img/x.bmp");
                p4='x';
                kto='o';
                tura->Picture->LoadFromFile("img/osmall.bmp");
                }
                 pole4->Enabled=false;
                 sprawdz();
        }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::pole5Click(TObject *Sender)
{
if(p5=='n')
        {
                if(kto=='o')
                {
                pole5->Picture->LoadFromFile("img/o.bmp");
                p5='o';
                kto='x';
                tura->Picture->LoadFromFile("img/xsmall.bmp");
                }
                else{
                pole5->Picture->LoadFromFile("img/x.bmp");
                p5='x';
                kto='o';
                tura->Picture->LoadFromFile("img/osmall.bmp");
                }
                 pole5->Enabled=false;
                 sprawdz();
        }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::pole6Click(TObject *Sender)
{
if(p6=='n')
        {
                if(kto=='o')
                {
                pole6->Picture->LoadFromFile("img/o.bmp");
                p6='o';
                kto='x';
                tura->Picture->LoadFromFile("img/xsmall.bmp");
                }
                else{
                pole6->Picture->LoadFromFile("img/x.bmp");
                p6='x';
                kto='o';
                tura->Picture->LoadFromFile("img/osmall.bmp");
                }
                 pole6->Enabled=false;
                 sprawdz();
        }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::pole7Click(TObject *Sender)
{
if(p7=='n')
        {
                if(kto=='o')
                {
                pole7->Picture->LoadFromFile("img/o.bmp");
                p7='o';
                kto='x';
                tura->Picture->LoadFromFile("img/xsmall.bmp");
                }
                else{
                pole7->Picture->LoadFromFile("img/x.bmp");
                p7='x';
                kto='o';
                tura->Picture->LoadFromFile("img/osmall.bmp");
                }
                 pole7->Enabled=false;
                 sprawdz();
        }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::pole8Click(TObject *Sender)
{
if(p8=='n')
        {
                if(kto=='o')
                {
                pole8->Picture->LoadFromFile("img/o.bmp");
                p8='o';
                kto='x';
                tura->Picture->LoadFromFile("img/xsmall.bmp");
                }
                else{
                pole8->Picture->LoadFromFile("img/x.bmp");
                p8='x';
                kto='o';
                tura->Picture->LoadFromFile("img/osmall.bmp");
                }
                 pole8->Enabled=false;
                 sprawdz();
        }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::pole9Click(TObject *Sender)
{
if(p9=='n')
        {
                if(kto=='o')
                {
                pole9->Picture->LoadFromFile("img/o.bmp");
                p9='o';
                kto='x';
                tura->Picture->LoadFromFile("img/xsmall.bmp");
                }
                else{
                pole9->Picture->LoadFromFile("img/x.bmp");
                p9='x';
                kto='o';
                tura->Picture->LoadFromFile("img/osmall.bmp");
                }
                 pole9->Enabled=false;
                 sprawdz();
        }
}
//---------------------------------------------------------------------------

A tu plik (Unit1.h)

 

//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:	// IDE-managed Components
        TImage *pole1;
        TImage *pole2;
        TImage *pole3;
        TImage *pole4;
        TImage *pole5;
        TImage *pole6;
        TImage *pole7;
        TImage *pole8;
        TImage *pole9;
        TLabel *Label1;
        TImage *tura;
        TButton *Button1;
        void __fastcall FormCreate(TObject *Sender);
        void __fastcall pole1Click(TObject *Sender);
        void __fastcall pole2Click(TObject *Sender);
        void __fastcall pole3Click(TObject *Sender);
        void __fastcall pole4Click(TObject *Sender);
        void __fastcall pole5Click(TObject *Sender);
        void __fastcall pole6Click(TObject *Sender);
        void __fastcall pole7Click(TObject *Sender);
        void __fastcall pole8Click(TObject *Sender);
        void __fastcall pole9Click(TObject *Sender);
private:	// User declarations
public:		// User declarations
        __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

możecie doradzić jak temu zapobiec?

 

Cześć...

Opublikowano

Ale po kliknięciu OK musiało być robić tak jakby nową grę ? Tylko jak podłożyć kod pod messageboxa? 

Cześć...

Opublikowano

np. pod messagboxem napisac  :

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;

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...