C 面向過程專案之飛行棋

2022-08-17 01:24:22 字數 4127 閱讀 1597

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

namespace

飛行棋ver1._0

;static

string names = new

string[2];//

用於儲存玩家ab的姓名

static

void main(string

args)

else

}console.writeline(

"請輸入玩家b的名字:");

names[

1] = console.readline();//

接收使用者的輸入 並把使用者的輸入賦值給names陣列的第1個元素

while (names[1] == "" || names[1] == names[0])//

迴圈接收使用者的輸入

else

if (names[1] == names[0

])names[

1] =console.readline();}//

到這裡為止 我們已經接收了使用者輸入的玩家a和玩家b的姓名

console.clear();//

將當前控制台上的所有的資訊 清空

showui();

console.writeline(names[

0] + "

," + names[1] + "

歡迎你們來到飛行棋樂園。。。。。。。");

console.writeline(names[

0] + "

用a表示\n

" + names[1] + "

用b表示\n

" + "

如果兩個在一起用<>表示\n現在對戰開始!");

initmap();

drawmap();

random r = new

random();

//開始輪流擲骰子

while (pos[0] < 99 && pos[1] < 99

)else

if (pos[0] >= 99

)if (isstop[1] == false

)else

//如果是普通的 則什麼效果都木有

//如果玩家a踩到玩家b 玩家b的位置到0

//如果是幸運輪盤 1可以和對方互換位置 2.可以轟炸對方(讓對方退6格)

//如果是時空隧道 就讓玩家a前進10格

//如果是地雷 就退6格

//如果是暫停 那麼就讓玩家a暫停一次

}if (pos[0] >= 99

)else

console.readkey();

} ///

///是接收使用者從控制台輸入指定範圍的整數

//////

最小值///

最大值///

static

int readint(int min, int

max)

-之間,請重新輸入

", min, max);

continue;}

else

}else}}

static

void play(int playernumer)//

傳遞0就是表示的是第玩家a呼叫 1代表的是玩家b在呼叫

:按任意鍵開始擲骰子....

", names[playernumer], aorb);

consolekeyinfo info = console.readkey(true);//

接收使用者任意鍵的輸入

int step = r.next(1, 7);//

返回1個1-6的隨機數

if (info.key ==consolekey.tab)

console.writeline(

"玩家:擲的數字是:

", names[playernumer], step, aorb);

pos[playernumer] +=step;

checkpos();

string msg = "";//

判斷玩家a是否踩到了玩家b

if (pos[1] == pos[0

])else

else

//轟炸對方 讓對方退6格

退6格", names[1

]);}

break

;case

2://

暫停isstop[playernumer] = true

;msg = "

倒霉,暫停一次!";

break

;case

3://

地雷pos[playernumer] -= 6

;checkpos();

msg = "

真倒霉,你踩到地雷了,後退6格";

break

;case

4://

時光隧道

pos[playernumer] += 10

;checkpos();

msg = "

真爽, 你穿越了, 前進10格";

break;}

}if (msg != ""

)console.writeline(

"按任意鍵開始移動。。。");

console.readkey(

true

);console.clear();

showui();

drawmap();

console.writeline(

"**********************位置資訊**********************");

console.writeline(

"玩家a的位置:

" + pos[0

]);console.writeline(

"玩家b的位置:

" + pos[1

]);}

//////

檢測玩家a和玩家b的位置是否越界

///static

void

checkpos()

if (pos[i] < 0)}

} static

string getmapstring(int

p)else

if (pos[0] ==p)

else

if (pos[1] ==p)

else

}return

res;

}static

void

initmap()

;//幸運輪盤

int landmine = ;//

地雷int pause = ;//

暫停int timetunnel = ;//

時空隧道

//1 幸運輪盤 ◎

//2 暫停 ▲

//3 地雷 ●

//4. 時光隧道 卍

for (int i = 0; i < luckturn.length; i++)

for (int i = 0; i < landmine.length; i++)

for (int i = 0; i < pause.length; i++)

for (int i = 0; i < timetunnel.length; i++)

}static

void

drawmap()

console.writeline();

for (int i = 30; i <= 34; i++)

console.write(getmapstring(i));

console.writeline();}//

列印第for (int i = 64; i >= 35; i--)

console.writeline();

for (int i = 65; i <= 69; i++)

for (int i = 70; i <= 99; i++)

console.writeline();

}static

void

showui()

}}

面向過程之騎士飛行棋

1.前言總序 實現原理 這個小專案用到了面向過程中的所有我們所學的知識的綜合,如 方法,引數,結構,陣列還有三種迴圈結構等等技術點,做這個專案也是為了鞏固這些知識點。下面簡單講述一下飛行棋的規則 1 使用者輸入玩家的姓名不能為空,並且使用者兩次輸入的玩家姓名不能相同。2 繪製地圖,地圖上面有很多管卡...

C 飛行棋遊戲

1 using system 2using system.collections.generic 3using system.linq 4using system.text 5using system.threading.tasks 67 namespace 05.飛行棋遊戲834 35 conso...

騎士飛行棋專案總結

今年元旦,做了傳智播客的騎士飛行棋專案,是個c 控制台程式。我是初學者,還不了解uml,沒有什麼建模,邏輯圖之類的思路。不過做完了之後,還真是覺得對於我這個初學者的鍛鍊很大。1.把需求用方法來分解,重要的一條就是如果出現大量重複的 就應該可以寫成乙個方法 2.在設計的時候對於變數的定義,比如如果能定...