C#實(shí)現(xiàn)飛行棋小游戲
本文實(shí)例為大家分享了C#實(shí)現(xiàn)飛行棋小游戲的具體代碼,供大家參考,具體內(nèi)容如下
邏輯圖
以下是擲色子的一個(gè)代碼,比較有代表性,里面的邏輯和內(nèi)容都已注釋,可通過(guò)注釋了解這一方法的運(yùn)作模式。
public static void RowTouZi(int playerPos) //擲色子 { //產(chǎn)生隨機(jī)數(shù),擲色子的隨機(jī)數(shù) Random r = new Random(); int num = r.Next(1, 7); //定義一個(gè)字符串變量 string msg = ""; //提示用戶信息 Console.WriteLine("{0}按任意鍵開(kāi)始擲色子", PlayerNames[playerPos]); //不顯示用戶按下的任意鍵 Console.ReadKey(true); //根據(jù)不同的變量的值顯示不同的情況 Console.WriteLine("{0}擲出了{(lán)1}", PlayerNames[playerPos], num); //提示用戶誰(shuí)開(kāi)始行動(dòng)了 Console.WriteLine("{0}按任意鍵開(kāi)始行動(dòng)...", PlayerNames[playerPos]); Console.ReadKey(true); //用戶的坐標(biāo)開(kāi)始改變 PlayerPos[playerPos] += num; //判斷兩個(gè)用戶坐標(biāo)可能出現(xiàn)的問(wèn)題(重疊的問(wèn)題) if (PlayerPos[playerPos] == PlayerPos[1- playerPos]) { msg=string.Format("玩家{0}踩到了玩家{1},玩家{2}退6格", PlayerNames[playerPos], PlayerNames[1- playerPos], PlayerNames[1 - playerPos]); PlayerPos[1- playerPos] -= 6; } else { //檢查是否出界 CheckPos(); switch (Map[PlayerPos[playerPos]]) { //沒(méi)有障礙 case 0: msg ="行動(dòng)完了"; break; //踩到幸運(yùn)輪盤(pán) case 1: msg = string.Format("{0}走到了幸運(yùn)輪盤(pán),請(qǐng)選擇1--交換位置,2---轟炸對(duì)方", PlayerNames[playerPos]); //進(jìn)行選擇,調(diào)用Readint方法,只可以讓用戶輸入1或2; int number = ReadInt(msg, 1, 2); //進(jìn)行判斷用戶選擇的哪個(gè)方案,進(jìn)行執(zhí)行相應(yīng)的代碼 if (number == 1) { //交換位置 int temp = 0; temp = PlayerPos[playerPos]; temp = PlayerPos[playerPos]; PlayerPos[playerPos] = PlayerPos[1- playerPos]; PlayerPos[1- playerPos] = temp; msg=string.Format("玩家{0}選擇了玩家{1}交換位置", PlayerNames[playerPos], PlayerNames[1- playerPos]); } else { PlayerPos[1- playerPos] = 0; msg = string.Format("玩家{0}選擇了轟炸玩家{1}", PlayerNames[playerPos], PlayerNames[1- playerPos]); } break; //踩到地雷了 case 2: msg="踩到地雷了,后退6步"; //坐標(biāo)后退6 PlayerPos[playerPos] -= 6; //檢查是否出界 CheckPos(); break; //踩到暫停了 case 3: msg ="踩到暫停了"; //將flag數(shù)組中的false,改為true,執(zhí)行true相應(yīng)的代碼 flag[playerPos] = true; break; //踩到了時(shí)空隧道 case 4: msg = string.Format("恭喜你,踩到時(shí)空隧道,前進(jìn)10步"); //坐標(biāo)前進(jìn)10 PlayerPos[playerPos] += 10; //判斷是否出界 CheckPos(); break; } } Console.Clear(); //清除掉原來(lái)的地圖 DrawMap(); //在畫(huà)一邊地圖 //因?yàn)橹挥幸环N情況出現(xiàn),所以msg的值經(jīng)過(guò)判斷之后也是只有一種,然后將其內(nèi)容顯示出來(lái) Console.WriteLine(msg); }
小知識(shí)總結(jié):
可以通過(guò)判斷,顯示內(nèi)容
case 0: msg=string.Format("玩家{0}踩到了玩家{1},玩家{2}退6格", PlayerNames[playerPos], PlayerNames[1- playerPos], PlayerNames[1 - playerPos]); case 1: msg = string.Format("{0}走到了幸運(yùn)輪盤(pán),請(qǐng)選擇1--交換位置,2---轟炸對(duì)方", PlayerNames[playerPos]); Console.WriteLine(msg);
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
深入DropDownList用法的一些學(xué)習(xí)總結(jié)分析
本篇文章是對(duì)DropDownList的用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06C#如何正確實(shí)現(xiàn)一個(gè)自定義異常Exception
這篇文章主要為大家詳細(xì)介紹了C#如何正確實(shí)現(xiàn)一個(gè)自定義異常Exception,文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-09-09C#實(shí)現(xiàn)多選項(xiàng)卡的瀏覽器控件
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)多選項(xiàng)卡的瀏覽器控件的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-03-03C#編寫(xiě)一個(gè)網(wǎng)游客戶端的完整步驟
這篇文章主要給大家介紹了關(guān)于C#編寫(xiě)一個(gè)網(wǎng)游客戶端的相關(guān)資料,文中通過(guò)示例代碼以及圖文介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-11-11Unity shader實(shí)現(xiàn)高斯模糊效果
這篇文章主要為大家詳細(xì)介紹了Unity shader實(shí)現(xiàn)高斯模糊效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02