?? game1.cpp
字號(hào):
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "game1.h"
#include "diog.h"
//-----------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
//B=BitBtn1;
//*Bitmap=LoadBmp(
Button[0][0]=BitBtn1;
Button[0][1]=BitBtn2;
Button[0][2]=BitBtn3;
Button[1][0]=BitBtn4;
Button[1][1]=BitBtn5;
Button[1][2]=BitBtn6;
Button[2][0]=BitBtn7;
Button[2][1]=BitBtn8;
Button[2][2]=BitBtn9;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
win[i][j]=0;
//Bitmap[0]=new Graphics::TBitmap();
//Bitmap[1]=new Graphics::TBitmap();
//Bitmap[0]->LoadFromFile("e:\\winprog\\bbb\\t.bmp");
//Bitmap[0]->Hide();
//Bitmap[1]->LoadFromFile("e:\\winprog\\bbb\\2.ico");
//Bitmap[0]->
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
//Color=(TColor)RGB(0x0,0x0,0x0);
Ctl3D=true;
Caption="Game";
//Cursor=crHandPoint;
//Canvas->Pen->Color=clWhite;
//Canvas->MoveTo(100,100);
//Canvas->LineTo(100,150);
BitBtn1->Left=12;
BitBtn1->Top=12;
BitBtn1->Width=92;
BitBtn1->Height=92;
BitBtn1->Caption="";
BitBtn1->Cursor=crHandPoint;
BitBtn2->Left=104;
BitBtn2->Top=12;
BitBtn2->Width=92;
BitBtn2->Height=92;
BitBtn2->Caption="";
BitBtn2->Cursor=crHandPoint;
BitBtn3->Left=196;
BitBtn3->Top=12;
BitBtn3->Width=92;
BitBtn3->Height=92;
BitBtn3->Caption="";
BitBtn3->Cursor=crHandPoint;
BitBtn4->Left=12;
BitBtn4->Top=104;
BitBtn4->Width=92;
BitBtn4->Height=92;
BitBtn4->Caption="";
BitBtn4->Cursor=crHandPoint;
BitBtn5->Left=104;
BitBtn5->Top=104;
BitBtn5->Width=92;
BitBtn5->Height=92;
BitBtn5->Caption="";
BitBtn5->Cursor=crHandPoint;
BitBtn6->Left=196;
BitBtn6->Top=104;
BitBtn6->Width=92;
BitBtn6->Height=92;
BitBtn6->Caption="";
BitBtn6->Cursor=crHandPoint;
BitBtn7->Left=12;
BitBtn7->Top=196;
BitBtn7->Width=92;
BitBtn7->Height=92;
BitBtn7->Caption="";
BitBtn7->Cursor=crHandPoint;
BitBtn8->Left=104;
BitBtn8->Top=196;
BitBtn8->Width=92;
BitBtn8->Height=92;
BitBtn8->Caption="";
BitBtn8->Cursor=crHandPoint;
BitBtn9->Left=196;
BitBtn9->Top=196;
BitBtn9->Width=92;
BitBtn9->Height=92;
BitBtn9->Caption="";
BitBtn9->Cursor=crHandPoint;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::MenuAboutClick(TObject *Sender)
{
HelpForm=new THelpForm(Application);
HelpForm->ShowModal();
delete HelpForm;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::MenuExitClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormPaint(TObject *Sender)
{
//Canvas->Pen->Color=clRed;
//Canvas->Font->Color=(TColor)RGB(0xff,0xff,0xff);
//Canvas->Font->Style="宋體";
//Canvas->TextOutA(5,5,"這是一個(gè)游戲");
//Canvas->MoveTo(20,20);
//Canvas->LineTo(20,100);
/*for(int i=0;i<=3;i++)
{
Canvas->Pen->Color=clGreen;
Canvas->MoveTo(12+i*92,12);
Canvas->LineTo(12+i*92,288);
Canvas->MoveTo(12,12+i*92);
Canvas->LineTo(288,12+i*92);
}
Graphics::TBitmap *Grp;
Grp=new Graphics::TBitmap();
Grp->LoadFromFile("e:\\winprog\\bbb\\t.bmp");
Canvas->Draw(12,12,Grp);*/
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
if(win[0][0]==0)
{
BitBtn1->Glyph->LoadFromFile("tt2.bmp");
win[0][0]=1;
computer_put();
pppp();
Flag=2;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{
if(win[0][1]==0)
{
BitBtn2->Glyph->LoadFromFile("tt2.bmp");
win[0][1]=1;
computer_put();
pppp();
Flag=2;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn3Click(TObject *Sender)
{
if(win[0][2]==0)
{
BitBtn3->Glyph->LoadFromFile("tt2.bmp");
win[0][2]=1;
computer_put();
pppp();
Flag=2;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn4Click(TObject *Sender)
{
if(win[1][0]==0)
{
BitBtn4->Glyph->LoadFromFile("tt2.bmp");
win[1][0]=1;
computer_put();
pppp();
Flag=2;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn5Click(TObject *Sender)
{
if(win[1][1]==0)
{
BitBtn5->Glyph->LoadFromFile("tt2.bmp");
win[1][1]=1;
computer_put();
pppp();
Flag=2;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn6Click(TObject *Sender)
{
if(win[1][2]==0)
{
BitBtn6->Glyph->LoadFromFile("tt2.bmp");
win[1][2]=1;
computer_put();
pppp();
Flag=2;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn7Click(TObject *Sender)
{
if(win[2][0]==0)
{
BitBtn7->Glyph->LoadFromFile("tt2.bmp");
win[2][0]=1;
computer_put();
pppp();
Flag=2;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn8Click(TObject *Sender)
{
if(win[2][1]==0)
{
BitBtn8->Glyph->LoadFromFile("tt2.bmp");
win[2][1]=1;
computer_put();
pppp();
Flag=2;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn9Click(TObject *Sender)
{
if(win[2][2]==0)
{
BitBtn9->Glyph->LoadFromFile("tt2.bmp");
win[2][2]=1;
computer_put();
pppp();
Flag=2;
}
}
//---------------------------------------------------------------------------
int TForm1::computer_put()
{
int l,o;
if(win[1][1]==0)
{putxy(1,1,COMPUTER);win[1][1]=2;}
/*else if(win[0][0]==win[0][1]&&win[0][1]==win[0][2]&&win[0][2]==win[1][0]&&win[1][0]==win[2][0]&&win[2][0]==win[2][1]&&win[2][1]==win[2][2]&&win[2][2]==win[1][2]&&win[1][2]==win[0][2]&&win[0][2]==1)
{put(0,0,COMPUTER);
win[0][0]=2;}*/
else if(win[0][0]==win[0][1]&&win[0][0]==1&&win[0][2]==0)
{putxy(0,2,COMPUTER);win[0][2]=2;}
else if(win[0][0]==win[0][2]&&win[0][0]==1&&win[0][1]==0)
{putxy(0,1,COMPUTER);win[0][1]=2;}
else if(win[0][1]==win[0][2]&&win[0][1]==1&&win[0][0]==0)
{putxy(0,0,COMPUTER);win[0][0]=2;}
else if(win[0][0]==win[1][0]&&win[0][0]==1&&win[2][0]==0)
{putxy(2,0,COMPUTER);win[2][0]=2;}
else if(win[0][0]==win[2][0]&&win[0][0]==1&&win[1][0]==0)
{putxy(1,0,COMPUTER);win[1][0]=2;}
else if(win[1][0]==win[2][0]&&win[1][0]==1&&win[0][0]==0)
{putxy(0,0,COMPUTER);win[0][0]=2;}
else if(win[2][0]==win[2][1]&&win[2][0]==1&&win[2][2]==0)
{putxy(2,2,COMPUTER);win[2][2]=2;}
else if(win[2][0]==win[2][2]&&win[2][0]==1&&win[2][1]==0)
{putxy(2,1,COMPUTER);win[2][1]=2;}
else if(win[2][1]==win[2][2]&&win[2][1]==1&&win[2][0]==0)
{putxy(2,0,COMPUTER);win[2][0]=2;}
else if(win[0][2]==win[1][2]&&win[0][2]==1&&win[2][2]==0)
{putxy(2,2,COMPUTER);win[2][2]=2;}
else if(win[0][2]==win[2][2]&&win[0][2]==1&&win[1][2]==0)
{putxy(1,2,COMPUTER);win[1][2]=2;}
else if(win[1][2]==win[2][2]&&win[1][2]==1&&win[0][2]==0)
{putxy(0,0,COMPUTER);win[0][0]=2;}
else if(win[1][0]==win[1][1]&&win[1][0]==1&&win[1][2]==0)
{putxy(1,2,COMPUTER);win[1][2]=2;}
else if(win[1][0]==win[1][2]&&win[1][0]==1&&win[1][1]==0)
{putxy(1,1,COMPUTER);win[1][1]=2;}
else if(win[1][1]==win[1][2]&&win[1][1]==1&&win[1][0]==0)
{putxy(1,0,COMPUTER);win[1][0]=2;}
else if(win[0][1]==win[1][1]&&win[0][1]==1&&win[2][1]==0)
{putxy(2,0,COMPUTER);win[2][0]=2;}
else if(win[0][0]==win[2][0]&&win[0][0]==1&&win[1][0]==0)
{putxy(1,0,COMPUTER);win[1][0]=2;}
else if(win[1][0]==win[2][0]&&win[1][0]==1&&win[0][0]==0)
{putxy(0,0,COMPUTER);win[0][0]=2;}
else if(win[0][0]==win[1][1]&&win[1][1]==1&&win[2][2]==0)
{putxy(2,2,COMPUTER);win[2][2]=2;}
else if(win[1][1]==win[2][2]&&win[1][1]==1&&win[0][0]==0)
{putxy(0,0,COMPUTER);win[0][0]=2;}
else if(win[2][0]==win[1][1]&&win[1][1]==1&&win[0][2]==0)
{putxy(0,1,COMPUTER);win[0][1]=2;}
else if(win[0][2]==win[1][1]&&win[1][1]==1&&win[2][0]==0)
{putxy(2,0,COMPUTER);win[2][0]=2;}
else for(l=0;l<3;l++)
for(o=0;o<3;o++)
if (win[l][o]==0)
{
putxy(l,o,COMPUTER);
win[l][o]=2;
return win[l][o];
}
return 3;
//return 0;
}
//------------------------------------------------------------------------------
int TForm1::pin_who_win()
{
int i;
for(i=0;i<3;i++)
if (win[i][0]==win[i][1]&&win[i][1]==win[i][2]&&win[i][0]!=0) return win[i][0];
for(i=0;i<3;i++)
if (win[0][i]==win[1][i]&&win[1][i]==win[2][i]&&win[0][i]!=0) return win[0][i];
if (win[0][0]==win[1][1]&&win[1][1]==win[2][2]&&win[0][0]!=0) return win[0][0];
else if (win[0][2]==win[1][1]&&win[1][1]==win[2][0]&&win[0][2]!=0) return win[0][2];
else return 0;
}
//----------------------------------------------------------------------------
void TForm1::putxy(int x,int y,int who)
{
Button[x][y]->Glyph->LoadFromFile("tt1.bmp");
}
//----------------------------------------------------------------------------
void TForm1::pppp()
{
Form2=new TForm2(Application);
if(pin_who_win()==1)
{
Form2->Label1->Caption="人勝利了";
Form2->ShowModal();
}
else if(pin_who_win()==2)
{
Form2->Label1->Caption="電腦勝利了";
Form2->ShowModal();
}
delete Form2;
}
void __fastcall TForm1::MenuNewGameClick(TObject *Sender)
{
Flag=0;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
{
Button[i][j]->Glyph=NULL;
win[i][j]=0;
}
}
//---------------------------------------------------------------------------
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -