📄 weiqiplay.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#define __DEBUG__
#include "weiqiplay.h"
#include "gamebrd.hpp"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMainFormWeiqi *MainFormWeiqi;
extern TWeiqiBoard *WeiqiBoard;
//---------------------------------------------------------------------------
__fastcall TMainFormWeiqi::TMainFormWeiqi(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TMainFormWeiqi::MenuConnectionExitClick(TObject *Sender)
{
Application->Terminate();
}
//---------------------------------------------------------------------------
void __fastcall TMainFormWeiqi::BitBtnExitClick(TObject *Sender)
{
Application->Terminate();
}
//---------------------------------------------------------------------------
void __fastcall TMainFormWeiqi::FormCreate(TObject *Sender)
{
RectFrontier = ImageFrontier->ClientRect;
#if defined( __DEBUG__ )
// ShowMessage(CurrRect.Left);
// ShowMessage(CurrRect.Right);
// ShowMessage(CurrRect.Top);
// ShowMessage(CurrRect.Bottom);
#endif
// Draw the rectangle of frontier.
int i, j;
OriginalPenColor = ImageFrontier->Canvas->Pen->Color;
ImageFrontier->Canvas->Pen->Color = clBlack; // Pen's color
OriginalPenMode = ImageFrontier->Canvas->Pen->Mode;
ImageFrontier->Canvas->Pen->Mode = pmCopy; // pen's mode, just black
OriginalPenStyle = ImageFrontier->Canvas->Pen->Style;
ImageFrontier->Canvas->Pen->Style = psSolid; // Set solid style of the pen
OriginalPenWidth = ImageFrontier->Canvas->Pen->Width;
ImageFrontier->Canvas->Pen->Width = 2;
for( i=1; i<=19; i++ )
{
ImageFrontier->Canvas->MoveTo( 25, 25 * i );
ImageFrontier->Canvas->LineTo( 475, 25 * i );
}
for( j=1; j<=19; j++ )
{
ImageFrontier->Canvas->MoveTo( 25 * j, 25 );
ImageFrontier->Canvas->LineTo( 25 * j, 475 );
}
OriginalBrushColor = ImageFrontier->Canvas->Brush->Color;
ImageFrontier->Canvas->Brush->Color = clBlack; // Brush's color
ImageFrontier->Canvas->Ellipse( 96, 96, 104, 104 );
ImageFrontier->Canvas->Ellipse( 96, 246, 104, 254 );
ImageFrontier->Canvas->Ellipse( 96, 396, 104, 404 );
ImageFrontier->Canvas->Ellipse( 246, 96, 254, 104 );
ImageFrontier->Canvas->Ellipse( 246, 246, 254, 254 );
ImageFrontier->Canvas->Ellipse( 246, 396, 254, 404 );
ImageFrontier->Canvas->Ellipse( 396, 96, 404, 104 );
ImageFrontier->Canvas->Ellipse( 396, 246, 404, 254 );
ImageFrontier->Canvas->Ellipse( 396, 396, 404, 404 );
ImageFrontier->Canvas->Brush->Color = OriginalBrushColor;
/*
OriginalBrushColor = Image1->Canvas->Brush->Color;
Image1->Canvas->Brush->Color = clBlack; // Brush's color
Image1->Canvas->Ellipse( 0, 0, 24, 24 );
Image1->Canvas->Brush->Color = OriginalBrushColor;
OriginalBrushColor = Image2->Canvas->Brush->Color;
Image2->Canvas->Brush->Color = clWhite; // Brush's color
OriginalPenColor = Image2->Canvas->Pen->Color;
Image2->Canvas->Pen->Color = clWhite; // Pen's color
Image2->Canvas->Ellipse( 0, 0, 24, 24 );
Image2->Canvas->Brush->Color = OriginalBrushColor;
Image2->Canvas->Pen->Color = OriginalPenColor; // Pen's color
*/}
//---------------------------------------------------------------------------
bool TMainFormWeiqi::DrawStone( TWhichSide WhichSide )
{
// if( )
return( 0 );
}
//---------------------------------------------------------------------------
void __fastcall TMainFormWeiqi::FormClick(TObject *Sender)
{
// if( )
}
//---------------------------------------------------------------------------
void __fastcall TMainFormWeiqi::Button1Click(TObject *Sender)
{
/* if( SaveDialog1->Execute() ) // get a file name
Image1->Picture->SaveToFile( SaveDialog1->FileName );
if( SaveDialog1->Execute() ) // get a file name
Image2->Picture->SaveToFile( SaveDialog1->FileName );
*/
for( int i=1; i<=19; i++ )
for( int j=1; j<=19; j++ )
{
if( WeiqiBoard->Phase[i][j] == wqSideBlack )
StringGrid1->Cells[i][j] = "black";
else if( WeiqiBoard->Phase[i][j] == wqSideWhite )
StringGrid1->Cells[i][j] = "white";
else
StringGrid1->Cells[i][j] = "none";
}
}
//---------------------------------------------------------------------------
void __fastcall TMainFormWeiqi::ImageFrontierMouseMove(TObject *Sender,
TShiftState Shift, int X, int Y)
{
MousePoint.x = X;
MousePoint.y = Y;
}
//---------------------------------------------------------------------------
void __fastcall TMainFormWeiqi::ImageFrontierClick(TObject *Sender)
{
#if defined( __DEBUG__ )
ShowMessage( MousePoint.x );
ShowMessage( MousePoint.y );
#endif
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -