ChineseChess/CGame.cs
(开头部分) 8KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Drawing;
using System.Windows.Forms;
using ChineseChess.Core;
namespace ChineseChess
{
internal class CGame : Control
{
private Bitmap _ChessboardBitmap;
private ResourceHelper _ResHelper;
private Game _Game;
private ChessboardPosition? _CurrMouseOverPos;
private Chessman _CurrSelectedChessman;
public CGame()
{
DoubleBuffered = true;
_ResHelper = ResourceHelper.Instance;
_ChessboardBitmap = _ResHelper.GetChessboardBitmap(0);
MinimumSize = MaximumSize = Size = _ChessboardBitmap.Size;
_Game = new Game();
}
protected override void OnPaint(PaintEventArgs pevent)
{
foreach (var chessman in _Game.Chessboard.GetChessmen())
DrawChessman(pevent.Graphics, chessman);
if (_CurrSelectedChessman != null && _CurrMouseOverPos.HasValue && _CurrSelectedChessman.Position != _CurrMouseOverPos.Value)
DrawChessman(pevent.Graphics, _CurrSelectedChessman, _CurrMouseOverPos.Value);
base.OnPaint(pevent);
}
protected override void OnMouseMove(MouseEventArgs e)
{
var pos = GetChessboardPosition(e.Location);
if (_CurrMouseOverPos != pos)
{
_CurrMouseOverPos = pos;
Invalidate();
}
base.OnMouseMove(e);
}
protected override void OnClick(EventArgs e)
{
try
{
Chessman selected = null;
if (_CurrMouseOverPos.HasValue)
selected = _Game.Chessboard.GetChessmanByPos(_CurrMouseOverPos.Value);
if (_CurrSelectedChessman == null)
{
if (selected != null)
后面还有 151 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
