1 using System;
2 using
System.Drawing;
3
4 namespace
ChessItem
5 {

6     ///
<summary>
7     ///
ChessItemXiang µÄժҪ˵Ã÷¡£
8     ///
</summary>
9     
public class ChessItemXiang : ChessItemBase
10     {
11         
public ChessItemXiang()
12         {
13             
//
14             
// TODO: ÔÚ´Ë´¦Ìí¼Ó¹¹Ô캯ÊýÂß¼­
15             
//
16         }
17
18         
public override int StepX
19         {
20             
get
21             {
22                 
return 2;
23             }
24
25         }
26
27         
public override int StepY
28         {
29             
get
30             {
31                 
return 2;
32             }
33
34         }
35
36         
public override bool LimitPoint(int ChessX, int ChessY)
37         {
38             
if(this.type == IChess.Enums.ChessType.red && ChessY < 5) return false;
39             
else if(this.type == IChess.Enums.ChessType.blue && ChessY > 5)return false;
40
41             
bool flag = false;
42             
if(ChessX-GridX==-2 && ChessY-GridY==-2) flag=HasChessItemOnPoint(GridX-1,GridY-1);
43             
else if(ChessX-GridX==2 && ChessY-GridY==-2) flag=HasChessItemOnPoint(GridX+1,GridY-1);
44             
else if(ChessX-GridX==-2 && ChessY-GridY==2) flag=HasChessItemOnPoint(GridX-1,GridY+1);
45             
else if(ChessX-GridX==2 && ChessY-GridY==2) flag=HasChessItemOnPoint(GridX+1,GridY+1);
46             
if(flag) return false;
47
48             
return base.LimitPoint (ChessX, ChessY);
49         }
50
51         
//Download source code tại Sharecode.vn
52         
public override bool MoveItem(int ChessX, int ChessY)
53         {
54             
if(!LimitPoint( ChessX ,ChessY)) return false;
55
56             
if( (GetInt32(ChessY-GridY) == StepY)&&
57                 ((GetInt32(ChessX-GridX) == StepX)))
58             {
59                 
60                 
this.Location = new Point(ChessX*50,ChessY*50);
61                 GridX = ChessX;
62                 GridY = ChessY;
63                 
return true;
64             }
65
66             
return false;
67         }
68
69     }
70 }



Lập trình game cờ tướng bằng c# 19.718 lượt xem

Gõ tìm kiếm nhanh...