⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 weiqiplay.cpp

📁 此代码是用BCB做的围棋代码
💻 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 + -