飛行棋總結

2021-09-07 15:01:31 字數 2670 閱讀 8317

方法名

引數返回值

功能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...