usingsystem;
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.在設計的時候對於變數的定義,比如如果能定...