方法名
引數返回值
功能showui無無
顯示遊戲表頭
initmap無無
將放置障礙的位置用數字列出,然後將顯示同一種障礙位置的陣列進行在賦值,1(為一種障礙),2(為一種障礙),3(為一種障礙)等等
drawmap無無
畫地圖(橫行,豎行)
drawstringmap
int pos
string
畫障礙和玩家a和玩家b的不同情況(包含顏色)
drawmaplefttorigh
int left,int right
無畫橫行的**
readint
string msg,int min,int max
int踩到幸運輪盤進行選擇
rowtouzi
int playerpos
無擲色子,根據不同的情況採取不同的措施
checkpos無無
每一次變動位置都要判斷是否出界
邏輯圖
以下是擲色子的乙個**,比較有代表性,裡面的邏輯和內容都已注釋,可通過注釋了解這一方法的運作模式。
public static void rowtouzi(int playerpos) //擲色子
按任意鍵開始擲色子", playernames[playerpos]);
//不顯示使用者按下的任意鍵
console.readkey(true);
//根據不同的變數的值顯示不同的情況
console.writeline("擲出了", playernames[playerpos], num);
//提示使用者誰開始行動了
console.writeline("按任意鍵開始行動...", playernames[playerpos]);
console.readkey(true);
//使用者的座標開始改變
playerpos[playerpos] += num;
//判斷兩個使用者座標可能出現的問題(重疊的問題)
if (playerpos[playerpos] == playerpos[1- playerpos])
踩到了玩家,玩家退6格", playernames[playerpos], playernames[1- playerpos], playernames[1 - playerpos]);
playerpos[1- playerpos] -= 6;
}else
走到了幸運輪盤,請選擇1--交換位置,2---轟炸對方", playernames[playerpos]);
//進行選擇,呼叫readint方法,只可以讓使用者輸入1或2;
int number = readint(msg, 1, 2);
//進行判斷使用者選擇的哪個方案,進行執行相應的**
if (number == 1)
選擇了玩家交換位置", playernames[playerpos], playernames[1- playerpos]);
}else
選擇了轟炸玩家", playernames[playerpos], playernames[1- playerpos]);
}break;
//踩到地雷了
case 2:
msg="踩到地雷了,後退6步";
//座標後退6
playerpos[playerpos] -= 6;
//檢查是否出界
checkpos();
break;
//踩到暫停了
case 3:
msg ="踩到暫停了";
//將flag陣列中的false,改為true,執行true相應的**
flag[playerpos] = true;
break;
//踩到了時空隧道
case 4:
msg = string.format("恭喜你,踩到時空隧道,前進10步");
//座標前進10
playerpos[playerpos] += 10;
//判斷是否出界
checkpos();
break;}}
console.clear(); //清除掉原來的地圖
drawmap(); //在畫一邊地圖
//因為只有一種情況出現,所以msg的值經過判斷之後也是只有一種,然後將其內容顯示出來
console.writeline(msg);
}
小知識總結:
可以通過判斷,顯示內容
case 0:
msg=string.format("玩家踩到了玩家,玩家退6格", playernames[playerpos], playernames[1- playerpos], playernames[1 - playerpos]);
case 1:
msg = string.format("走到了幸運輪盤,請選擇1--交換位置,2---轟炸對方", playernames[playerpos]);
console.writeline(msg);
騎士飛行棋專案總結
今年元旦,做了傳智播客的騎士飛行棋專案,是個c 控制台程式。我是初學者,還不了解uml,沒有什麼建模,邏輯圖之類的思路。不過做完了之後,還真是覺得對於我這個初學者的鍛鍊很大。1.把需求用方法來分解,重要的一條就是如果出現大量重複的 就應該可以寫成乙個方法 2.在設計的時候對於變數的定義,比如如果能定...
騎士飛行棋
include include include include int map 110 bu 1000 char str 4 20 struct node a 3 void f strcpy a 2 name,str m printf 玩家2選擇了 s n n a 2 name printf 人物選...
騎士飛行棋
using system using system.collections.generic using system.linq using system.text namespace 騎士飛行棋 宣告乙個陣列用來存玩家a和玩家b public static string playernames ne...