程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 用C#開發智能手機軟件:推箱子(七)(1)

用C#開發智能手機軟件:推箱子(七)(1)

編輯:關於C語言

在上篇文章“使用 C# 開發智能手機軟件:推箱子(六)”中,我對Common/Pub.cs 源程序文件進行了介紹。在這篇文章中介紹 Common/Step.cs 源程序文件。

以下是引用片段:
1namespace Skyiv.Ben.PushBox.Common
2{
3 enum Direction { None, East, South, West, North } // 方向: 無 東 南 西 北
4 public enum Action { None, Create, Edit, Delete } // 設計: 無 創建 編輯 刪除
5
6 /**////
7 /// 走法步驟
8 ///
9 struct Step
10 {
11 Direction direct; // 前進方向
12 bool isBox; // 是否推著箱子一起前進
13 bool isStop; // “撤銷”時是否停留
14
15 public Direction Direct { get { return direct; } }
16 public bool IsBox { get { return isBox; } }
17 public bool IsStop { get { return isStop; } }
18
19 public Step(Direction direct, bool isBox, bool isStop)
20 {
21 this.direct = direct;
22 this.isBox = isBox;
23 this.isStop = isStop;
24 }
25
26 // isBox isStop None East South West North
27 // A B C D E
28 // x F G H I J
29 // x K L M N O
30 // x x P Q R S T
31
32 public static implicit Operator char(Step step)
33 {
34 char c = "ABCDE"[step.direct - Direction.None];
35 if (step.isBox) c = (char)(c + 5);
36 if (step.isStop) c = (char)(c + 10);
37 return c;
38 }
39
40 public static implicit Operator Step(char c)
41 {
42 int n = c - 'A';
43 return new Step((Direction)(n % 5), (n % 10 >= 5), (n >= 10));
44 }
45 }
46}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved