//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
#include <iostream>
#include <time.h>
#include <cstdlib>
#include <stdio.h>
#include <windows.h>
#include <conio.h>
#include <stdlib.h>
#include <string>
using namespace std;
TForm1 *Form1;
//globalne zmienne
string win="true"; //zwyciestwo (true/false)
int sudoku[9][9]= { //pusta plansza (do generowania)
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0}
};
//klasy
class Array
{
private:
int value; //atrybut wartosci
public:
//metoda dodania wartosci
void add(int v)
{
value=v;
}
//metoda pobrania wartosci
int get_value()
{
return value;
}
};
Array a[9][9]; //utworzenie macierzy obiektow klasy Array
class Cell
{
private:
//atrybut wartosci wpisywanej do komorki
int value;
//atrybut etykiety obiektu
string honest;
public:
//metody
//Dodanie wartosci atrybutowi value
void add(int v)
{
value=v;
}
//obsluga dodawania etykiety true/false
void add_honest(string h)
{
if(h=="true")
{
honest="true";
}
else
{
honest="false" ;
}
}
//pobranie wartosci
int get_value()
{
return value;
}
//pobranie etykiety
string get_honest()
{
return honest;
}
};
Cell c[9][9]; //utworzenie macierzy obiektow klasy Cell
//funkcje
//sprawdzenie zgodnosci wartosci macierzy
void check()
{
for(int i=0; i<9; i++)
{
for(int j=0; j<9; j++)
{
if(c[i][j].get_honest()=="false")
{
win="false" ;
}
}
}
}
//losowanie wartości pierwszgo obiektu macierzy
void losuj()
{
int liczba=0;
srand(time(NULL));
liczba=rand()%9+0;
sudoku[0][0]=liczba;
}
bool solve(int x, int y); //definicja funkcji rozwiazujacej zadana plansze
int curr[9][9];
bool can_insert(int x, int y, int value) {
for(int i = 0; i < 9; i++) {
if (value == curr[x][i] || value == curr[i][y] ||
value == curr[x/3*3+i%3][y/3*3+i/3]) return false;
} return true;
}
bool next(int x, int y) {
if (x == 8 && y == 8) return true;
else if (x == 8) return solve(0, y + 1);
else return solve(x + 1, y);
}
bool solve(int x, int y) {
if (sudoku[x][y] == 0) {
for(int i = 1; i <= 9; i++) {
if (can_insert(x, y, i)) {
curr[x][y] = i;
if (next(x, y)) return true;
}
} curr[x][y] = 0; return false;
} return next(x, y);
}
//generowanie rozwiazanej planszy sudoku
void generuj() {
losuj(); //wylosowanie wartosci obiektu o wspolrzednych (0; 0)
for(int i=0; i<9; i++)
for(int j=0; j<9; j++)
curr[i][j] = sudoku[i][j];
if (solve(0,0)) {
for(int i=0; i<9; i++) {
for(int j=0; j<9; j++) {
a[i][j].add(curr[i][j]);
} cout<<endl;
}
}
}
//wpisanie etykiet
void wpisz_etykiety()
{
for(int i=0; i<9; i++)
{
for(int j=0; j<9; j++)
{
if(c[i][j].get_value()==a[i][j].get_value())
{
c[i][j].add_honest("true");
}
else
{
c[i][j].add_honest("false");
}
}
}
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Exit(TObject *Sender)
{
exit(0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender) //przycisk "Sprawdz"
{
wpisz_etykiety(); //wprowadzenie etykiet do obiektow
check(); //sprawdzenie etykiet
if(win=="false")
{
LinkLabel1->Caption="PRZEGRAŁEŚ";
win="true";
}
else
{
LinkLabel1->Caption="WYGRAŁEŚ";
win="true";
}
}
//nadawanie wartosci komorkom
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit1Change(TObject *Sender)
{
c[0][0].add(Edit1->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit2Change(TObject *Sender)
{
c[1][0].add(Edit2->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit3Change(TObject *Sender)
{
c[2][0].add(Edit3->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit4Change(TObject *Sender)
{
c[3][0].add(Edit4->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit5Change(TObject *Sender)
{
c[4][0].add(Edit5->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit6Change(TObject *Sender)
{
c[5][0].add(Edit6->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit7Change(TObject *Sender)
{
c[6][0].add(Edit7->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit8Change(TObject *Sender)
{
c[7][0].add(Edit8->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit9Change(TObject *Sender)
{
c[8][0].add(Edit9->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit10Change(TObject *Sender)
{
c[0][1].add(Edit10->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit11Change(TObject *Sender)
{
c[1][1].add(Edit11->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit12Change(TObject *Sender)
{
c[2][1].add(Edit12->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit13Change(TObject *Sender)
{
c[3][1].add(Edit13->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit14Change(TObject *Sender)
{
c[4][1].add(Edit14->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit15Change(TObject *Sender)
{
c[5][1].add(Edit15->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit16Change(TObject *Sender)
{
c[6][1].add(Edit16->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit17Change(TObject *Sender)
{
c[7][1].add(Edit17->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit18Change(TObject *Sender)
{
c[8][1].add(Edit18->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit19Change(TObject *Sender)
{
c[0][2].add(Edit19->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit20Change(TObject *Sender)
{
c[1][2].add(Edit20->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit21Change(TObject *Sender)
{
c[2][2].add(Edit21->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit22Change(TObject *Sender)
{
c[3][2].add(Edit22->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit23Change(TObject *Sender)
{
c[4][2].add(Edit23->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit24Change(TObject *Sender)
{
c[5][2].add(Edit24->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit25Change(TObject *Sender)
{
c[6][2].add(Edit25->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit26Change(TObject *Sender)
{
c[7][2].add(Edit26->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit27Change(TObject *Sender)
{
c[8][2].add(Edit27->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit28Change(TObject *Sender)
{
c[0][3].add(Edit28->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit29Change(TObject *Sender)
{
c[1][3].add(Edit29->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit30Change(TObject *Sender)
{
c[2][3].add(Edit30->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit31Change(TObject *Sender)
{
c[3][3].add(Edit31->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit32Change(TObject *Sender)
{
c[4][3].add(Edit32->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit33Change(TObject *Sender)
{
c[5][3].add(Edit33->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit34Change(TObject *Sender)
{
c[6][3].add(Edit34->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit35Change(TObject *Sender)
{
c[7][3].add(Edit35->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit36Change(TObject *Sender)
{
c[8][3].add(Edit36->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit37Change(TObject *Sender)
{
c[0][4].add(Edit37->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit38Change(TObject *Sender)
{
c[1][4].add(Edit38->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit39Change(TObject *Sender)
{
c[2][4].add(Edit39->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit40Change(TObject *Sender)
{
c[3][4].add(Edit40->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit41Change(TObject *Sender)
{
c[4][4].add(Edit41->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit42Change(TObject *Sender)
{
c[5][4].add(Edit42->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit43Change(TObject *Sender)
{
c[6][4].add(Edit43->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit44Change(TObject *Sender)
{
c[7][4].add(Edit44->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit45Change(TObject *Sender)
{
c[8][4].add(Edit45->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit46Change(TObject *Sender)
{
c[0][5].add(Edit46->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit47Change(TObject *Sender)
{
c[1][5].add(Edit47->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit48Change(TObject *Sender)
{
c[2][5].add(Edit48->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit49Change(TObject *Sender)
{
c[3][5].add(Edit49->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit50Change(TObject *Sender)
{
c[4][5].add(Edit50->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit51Change(TObject *Sender)
{
c[5][5].add(Edit51->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit52Change(TObject *Sender)
{
c[6][5].add(Edit52->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit53Change(TObject *Sender)
{
c[7][5].add(Edit53->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit54Change(TObject *Sender)
{
c[8][5].add(Edit54->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit55Change(TObject *Sender)
{
c[0][6].add(Edit55->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit56Change(TObject *Sender)
{
c[1][6].add(Edit56->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit57Change(TObject *Sender)
{
c[2][6].add(Edit57->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit58Change(TObject *Sender)
{
c[3][6].add(Edit58->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit59Change(TObject *Sender)
{
c[4][6].add(Edit59->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit60Change(TObject *Sender)
{
c[5][6].add(Edit60->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit61Change(TObject *Sender)
{
c[6][6].add(Edit61->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit62Change(TObject *Sender)
{
c[7][6].add(Edit62->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit63Change(TObject *Sender)
{
c[8][6].add(Edit63->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit64Change(TObject *Sender)
{
c[0][7].add(Edit64->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit65Change(TObject *Sender)
{
c[1][7].add(Edit65->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit66Change(TObject *Sender)
{
c[2][7].add(Edit66->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit67Change(TObject *Sender)
{
c[3][7].add(Edit67->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit68Change(TObject *Sender)
{
c[4][7].add(Edit68->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit69Change(TObject *Sender)
{
c[5][7].add(Edit69->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit70Change(TObject *Sender)
{
c[6][7].add(Edit70->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit71Change(TObject *Sender)
{
c[7][7].add(Edit71->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit72Change(TObject *Sender)
{
c[8][7].add(Edit72->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit73Change(TObject *Sender)
{
c[0][8].add(Edit73->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit74Change(TObject *Sender)
{
c[1][8].add(Edit74->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit75Change(TObject *Sender)
{
c[2][8].add(Edit75->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit76Change(TObject *Sender)
{
c[3][8].add(Edit76->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit77Change(TObject *Sender)
{
c[4][8].add(Edit77->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit78Change(TObject *Sender)
{
c[5][8].add(Edit78->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit79Change(TObject *Sender)
{
c[6][8].add(Edit79->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit80Change(TObject *Sender)
{
c[7][8].add(Edit80->Text.ToInt());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit81Change(TObject *Sender)
{
c[8][8].add(Edit81->Text.ToInt());
}
//---------------------------------------------------------------------------
//przycisk "Nowa Gra"
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
generuj(); //wygenerowanie rozwiazanej planszy sudoku
//Sleep(500); //przerwa 0,5 sekundy
Edit1->Visible=true; //przywrocenie widocznosci editow
Edit2->Visible=true;
Edit3->Visible=true;
Edit4->Visible=true;
Edit5->Visible=true;
Edit6->Visible=true;
Edit7->Visible=true;
Edit8->Visible=true;
Edit9->Visible=true;
Edit10->Visible=true;
Edit11->Visible=true;
Edit12->Visible=true;
Edit13->Visible=true;
Edit14->Visible=true;
Edit15->Visible=true;
Edit16->Visible=true;
Edit17->Visible=true;
Edit18->Visible=true;
Edit19->Visible=true;
Edit20->Visible=true;
Edit21->Visible=true;
Edit22->Visible=true;
Edit23->Visible=true;
Edit24->Visible=true;
Edit25->Visible=true;
Edit26->Visible=true;
Edit27->Visible=true;
Edit28->Visible=true;
Edit29->Visible=true;
Edit30->Visible=true;
Edit31->Visible=true;
Edit32->Visible=true;
Edit33->Visible=true;
Edit34->Visible=true;
Edit35->Visible=true;
Edit36->Visible=true;
Edit37->Visible=true;
Edit38->Visible=true;
Edit39->Visible=true;
Edit40->Visible=true;
Edit41->Visible=true;
Edit42->Visible=true;
Edit43->Visible=true;
Edit44->Visible=true;
Edit45->Visible=true;
Edit46->Visible=true;
Edit47->Visible=true;
Edit48->Visible=true;
Edit49->Visible=true;
Edit50->Visible=true;
Edit51->Visible=true;
Edit52->Visible=true;
Edit53->Visible=true;
Edit54->Visible=true;
Edit55->Visible=true;
Edit56->Visible=true;
Edit57->Visible=true;
Edit58->Visible=true;
Edit59->Visible=true;
Edit60->Visible=true;
Edit61->Visible=true;
Edit62->Visible=true;
Edit63->Visible=true;
Edit64->Visible=true;
Edit65->Visible=true;
Edit66->Visible=true;
Edit67->Visible=true;
Edit68->Visible=true;
Edit69->Visible=true;
Edit70->Visible=true;
Edit71->Visible=true;
Edit72->Visible=true;
Edit73->Visible=true;
Edit74->Visible=true;
Edit75->Visible=true;
Edit76->Visible=true;
Edit77->Visible=true;
Edit78->Visible=true;
Edit79->Visible=true;
Edit80->Visible=true;
Edit81->Visible=true;
Label2->Caption=a[0][0].get_value(); //wyswietlenie planszy w labelach
Label1->Caption=a[1][0].get_value();
Label3->Caption=a[2][0].get_value();
Label4->Caption=a[3][0].get_value();
Label5->Caption=a[4][0].get_value();
Label6->Caption=a[5][0].get_value();
Label7->Caption=a[6][0].get_value();
Label8->Caption=a[7][0].get_value();
Label9->Caption=a[8][0].get_value();
Label10->Caption=a[0][1].get_value();
Label11->Caption=a[1][1].get_value();
Label12->Caption=a[2][1].get_value();
Label13->Caption=a[3][1].get_value();
Label14->Caption=a[4][1].get_value();
Label15->Caption=a[5][1].get_value();
Label16->Caption=a[6][1].get_value();
Label17->Caption=a[7][1].get_value();
Label18->Caption=a[8][1].get_value();
Label19->Caption=a[0][2].get_value();
Label20->Caption=a[1][2].get_value();
Label21->Caption=a[2][2].get_value();
Label22->Caption=a[3][2].get_value();
Label23->Caption=a[4][2].get_value();
Label24->Caption=a[5][2].get_value();
Label25->Caption=a[6][2].get_value();
Label26->Caption=a[7][2].get_value();
Label27->Caption=a[8][2].get_value();
Label28->Caption=a[0][3].get_value();
Label29->Caption=a[1][3].get_value();
Label30->Caption=a[2][3].get_value();
Label31->Caption=a[3][3].get_value();
Label32->Caption=a[4][3].get_value();
Label33->Caption=a[5][3].get_value();
Label34->Caption=a[6][3].get_value();
Label35->Caption=a[7][3].get_value();
Label36->Caption=a[8][3].get_value();
Label37->Caption=a[0][4].get_value();
Label38->Caption=a[1][4].get_value();
Label39->Caption=a[2][4].get_value();
Label40->Caption=a[3][4].get_value();
Label41->Caption=a[4][4].get_value();
Label42->Caption=a[5][4].get_value();
Label43->Caption=a[6][4].get_value();
Label44->Caption=a[7][4].get_value();
Label45->Caption=a[8][4].get_value();
Label46->Caption=a[0][5].get_value();
Label47->Caption=a[1][5].get_value();
Label48->Caption=a[2][5].get_value();
Label49->Caption=a[3][5].get_value();
Label50->Caption=a[4][5].get_value();
Label51->Caption=a[5][5].get_value();
Label52->Caption=a[6][5].get_value();
Label53->Caption=a[7][5].get_value();
Label54->Caption=a[8][5].get_value();
Label55->Caption=a[0][6].get_value();
Label56->Caption=a[1][6].get_value();
Label57->Caption=a[2][6].get_value();
Label58->Caption=a[3][6].get_value();
Label59->Caption=a[4][6].get_value();
Label60->Caption=a[5][6].get_value();
Label61->Caption=a[6][6].get_value();
Label62->Caption=a[7][6].get_value();
Label63->Caption=a[8][6].get_value();
Label64->Caption=a[0][7].get_value();
Label65->Caption=a[1][7].get_value();
Label66->Caption=a[2][7].get_value();
Label67->Caption=a[3][7].get_value();
Label68->Caption=a[4][7].get_value();
Label69->Caption=a[5][7].get_value();
Label70->Caption=a[6][7].get_value();
Label71->Caption=a[7][7].get_value();
Label72->Caption=a[8][7].get_value();
Label73->Caption=a[0][8].get_value();
Label74->Caption=a[1][8].get_value();
Label75->Caption=a[2][8].get_value();
Label76->Caption=a[3][8].get_value();
Label77->Caption=a[4][8].get_value();
Label78->Caption=a[5][8].get_value();
Label79->Caption=a[6][8].get_value();
Label80->Caption=a[7][8].get_value();
Label81->Caption=a[8][8].get_value();
int squares=0;
while(squares<45)
{
int x_axis=0;
int y_axis=0;
srand(time(NULL));
x_axis=rand()%8+0;
y_axis=rand()%8+0;
if(x_axis==0 & y_axis==0)
{
Edit1->Visible=false;
}
if(x_axis==1 & y_axis==0)
{
Edit2->Visible=false;
}
if(x_axis==2 & y_axis==0)
{
Edit3->Visible=false;
}
if(x_axis==3 & y_axis==0)
{
Edit4->Visible=false;
}
if(x_axis==4 & y_axis==0)
{
Edit5->Visible=false;
}
if(x_axis==5 & y_axis==0)
{
Edit6->Visible=false;
}
if(x_axis==6 & y_axis==0)
{
Edit7->Visible=false;
}
if(x_axis==7 & y_axis==0)
{
Edit8->Visible=false;
}
if(x_axis==8 & y_axis==0)
{
Edit9->Visible=false;
}
if(x_axis==0 & y_axis==1)
{
Edit10->Visible=false;
}
if(x_axis==1 & y_axis==1)
{
Edit11->Visible=false;
}
if(x_axis==2 & y_axis==1)
{
Edit12->Visible=false;
}
if(x_axis==3 & y_axis==1)
{
Edit13->Visible=false;
}
if(x_axis==4 & y_axis==1)
{
Edit14->Visible=false;
}
if(x_axis==5 & y_axis==1)
{
Edit15->Visible=false;
}
if(x_axis==6 & y_axis==1)
{
Edit16->Visible=false;
}
if(x_axis==7 & y_axis==1)
{
Edit17->Visible=false;
}
if(x_axis==8 & y_axis==1)
{
Edit18->Visible=false;
}
if(x_axis==0 & y_axis==2)
{
Edit19->Visible=false;
}
if(x_axis==1 & y_axis==2)
{
Edit20->Visible=false;
}
if(x_axis==2 & y_axis==2)
{
Edit21->Visible=false;
}
if(x_axis==3 & y_axis==2)
{
Edit22->Visible=false;
}
if(x_axis==4 & y_axis==2)
{
Edit23->Visible=false;
}
if(x_axis==5 & y_axis==2)
{
Edit24->Visible=false;
}
if(x_axis==6 & y_axis==2)
{
Edit25->Visible=false;
}
if(x_axis==7 & y_axis==2)
{
Edit26->Visible=false;
}
if(x_axis==8 & y_axis==2)
{
Edit27->Visible=false;
}
if(x_axis==0 & y_axis==3)
{
Edit28->Visible=false;
}
if(x_axis==1 & y_axis==3)
{
Edit29->Visible=false;
}
if(x_axis==2 & y_axis==3)
{
Edit30->Visible=false;
}
if(x_axis==3 & y_axis==3)
{
Edit31->Visible=false;
}
if(x_axis==4 & y_axis==3)
{
Edit32->Visible=false;
}
if(x_axis==5 & y_axis==3)
{
Edit33->Visible=false;
}
if(x_axis==6 & y_axis==3)
{
Edit34->Visible=false;
}
if(x_axis==7 & y_axis==3)
{
Edit35->Visible=false;
}
if(x_axis==8 & y_axis==3)
{
Edit36->Visible=false;
}
if(x_axis==0 & y_axis==4)
{
Edit37->Visible=false;
}
if(x_axis==1 & y_axis==4)
{
Edit38->Visible=false;
}
if(x_axis==2 & y_axis==4)
{
Edit39->Visible=false;
}
if(x_axis==3 & y_axis==4)
{
Edit40->Visible=false;
}
if(x_axis==4 & y_axis==4)
{
Edit41->Visible=false;
}
if(x_axis==5 & y_axis==4)
{
Edit42->Visible=false;
}
if(x_axis==6 & y_axis==4)
{
Edit43->Visible=false;
}
if(x_axis==7 & y_axis==4)
{
Edit44->Visible=false;
}
if(x_axis==8 & y_axis==4)
{
Edit45->Visible=false;
}
if(x_axis==0 & y_axis==5)
{
Edit46->Visible=false;
}
if(x_axis==1 & y_axis==5)
{
Edit47->Visible=false;
}
if(x_axis==2 & y_axis==5)
{
Edit48->Visible=false;
}
if(x_axis==3 & y_axis==5)
{
Edit49->Visible=false;
}
if(x_axis==4 & y_axis==5)
{
Edit50->Visible=false;
}
if(x_axis==5 & y_axis==5)
{
Edit51->Visible=false;
}
if(x_axis==6 & y_axis==5)
{
Edit52->Visible=false;
}
if(x_axis==7 & y_axis==5)
{
Edit53->Visible=false;
}
if(x_axis==8 & y_axis==5)
{
Edit54->Visible=false;
}
if(x_axis==0 & y_axis==6)
{
Edit55->Visible=false;
}
if(x_axis==1 & y_axis==6)
{
Edit56->Visible=false;
}
if(x_axis==2 & y_axis==6)
{
Edit57->Visible=false;
}
if(x_axis==3 & y_axis==6)
{
Edit58->Visible=false;
}
if(x_axis==4 & y_axis==6)
{
Edit59->Visible=false;
}
if(x_axis==5 & y_axis==6)
{
Edit60->Visible=false;
}
if(x_axis==6 & y_axis==6)
{
Edit61->Visible=false;
}
if(x_axis==7 & y_axis==6)
{
Edit62->Visible=false;
}
if(x_axis==8 & y_axis==6)
{
Edit63->Visible=false;
}
if(x_axis==0 & y_axis==7)
{
Edit64->Visible=false;
}
if(x_axis==1 & y_axis==7)
{
Edit65->Visible=false;
}
if(x_axis==2 & y_axis==7)
{
Edit66->Visible=false;
}
if(x_axis==3 & y_axis==7)
{
Edit67->Visible=false;
}
if(x_axis==4 & y_axis==7)
{
Edit68->Visible=false;
}
if(x_axis==5 & y_axis==7)
{
Edit69->Visible=false;
}
if(x_axis==6 & y_axis==7)
{
Edit70->Visible=false;
}
if(x_axis==7 & y_axis==7)
{
Edit71->Visible=false;
}
if(x_axis==8 & y_axis==7)
{
Edit72->Visible=false;
}
if(x_axis==0 & y_axis==8)
{
Edit73->Visible=false;
}
if(x_axis==1 & y_axis==8)
{
Edit74->Visible=false;
}
if(x_axis==2 & y_axis==8)
{
Edit75->Visible=false;
}
if(x_axis==3 & y_axis==8)
{
Edit76->Visible=false;
}
if(x_axis==4 & y_axis==8)
{
Edit77->Visible=false;
}
if(x_axis==5 & y_axis==8)
{
Edit78->Visible=false;
}
if(x_axis==6 & y_axis==8)
{
Edit79->Visible=false;
}
if(x_axis==7 & y_axis==8)
{
Edit80->Visible=false;
}
if(x_axis==8 & y_axis==8)
{
Edit81->Visible=false;
}
squares++;
}
win="true"; //reset zmiennej "win"
LinkLabel1->Caption="SUDOKU"; //reset napisu
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
void __fastcall TForm1::RozwiązanieClick(TObject *Sender) //przycisk "Rozwiazanie"
{
Edit1->Visible=false;
Edit2->Visible=false;
Edit3->Visible=false;
Edit4->Visible=false;
Edit5->Visible=false;
Edit6->Visible=false;
Edit7->Visible=false;
Edit8->Visible=false;
Edit9->Visible=false;
Edit10->Visible=false;
Edit11->Visible=false;
Edit12->Visible=false;
Edit13->Visible=false;
Edit14->Visible=false;
Edit15->Visible=false;
Edit16->Visible=false;
Edit17->Visible=false;
Edit18->Visible=false;
Edit19->Visible=false;
Edit20->Visible=false;
Edit21->Visible=false;
Edit22->Visible=false;
Edit23->Visible=false;
Edit24->Visible=false;
Edit25->Visible=false;
Edit26->Visible=false;
Edit27->Visible=false;
Edit28->Visible=false;
Edit29->Visible=false;
Edit30->Visible=false;
Edit31->Visible=false;
Edit32->Visible=false;
Edit33->Visible=false;
Edit34->Visible=false;
Edit35->Visible=false;
Edit36->Visible=false;
Edit37->Visible=false;
Edit38->Visible=false;
Edit39->Visible=false;
Edit40->Visible=false;
Edit41->Visible=false;
Edit42->Visible=false;
Edit43->Visible=false;
Edit44->Visible=false;
Edit45->Visible=false;
Edit46->Visible=false;
Edit47->Visible=false;
Edit48->Visible=false;
Edit49->Visible=false;
Edit50->Visible=false;
Edit51->Visible=false;
Edit52->Visible=false;
Edit53->Visible=false;
Edit54->Visible=false;
Edit55->Visible=false;
Edit56->Visible=false;
Edit57->Visible=false;
Edit58->Visible=false;
Edit59->Visible=false;
Edit60->Visible=false;
Edit61->Visible=false;
Edit62->Visible=false;
Edit63->Visible=false;
Edit64->Visible=false;
Edit65->Visible=false;
Edit66->Visible=false;
Edit67->Visible=false;
Edit68->Visible=false;
Edit69->Visible=false;
Edit70->Visible=false;
Edit71->Visible=false;
Edit72->Visible=false;
Edit73->Visible=false;
Edit74->Visible=false;
Edit75->Visible=false;
Edit76->Visible=false;
Edit77->Visible=false;
Edit78->Visible=false;
Edit79->Visible=false;
Edit80->Visible=false;
Edit81->Visible=false;
}
//---------------------------------------------------------------------------