C#實(shí)現(xiàn)飛行棋游戲
飛行棋主要是講的方法怎么應(yīng)用,充分的去理解方法和方法的調(diào)用,整體收獲還是很大的。
我想的是說(shuō)一下整體的思路。在編程的時(shí)間里,邏輯是最重要的,先干嘛后干嘛,對(duì)吧。
直接上個(gè)飛行棋的圖,大家看看。
先從哪里下手呢?畫(huà)圖!對(duì)先畫(huà)圖,畫(huà)圖先畫(huà)表頭,還是用流程圖來(lái)吧
畫(huà)圖畫(huà)好了,那么就是怎么擲骰子,然后不用的樣式的格子都是什么功能。
這個(gè)實(shí)現(xiàn)功能,是我認(rèn)為最麻煩的,一大技術(shù)難點(diǎn)。
下面是擲骰子的方法 簡(jiǎn)單來(lái)說(shuō)就是用了一個(gè)大的 if else判斷語(yǔ)句,來(lái)判斷走到哪里,執(zhí)行什么操作。
public static void RowTouzi(int playerPos) { Random r = new Random(); int num = r.Next(1,7); string msg = ""; Console.WriteLine("{0}按下任意鍵開(kāi)始擲骰子", PlayerNames[playerPos]); Console.ReadKey(true);//不顯示按下的鍵的內(nèi)容 Console.WriteLine("{0}擲出了{(lán)1}", PlayerNames[playerPos], num ); Console.WriteLine("{0}按任意鍵開(kāi)始行動(dòng)......", PlayerNames[playerPos]); Console.ReadKey(true );//不顯示按下的鍵的內(nèi)容 PlayerPos[playerPos] += num ; CheckPos(); if (PlayerPos[playerPos] == PlayerPos[1- playerPos]) //如果相等就退6格子 { msg=string.Format ("玩家{0}踩到了玩家{1},玩家{2}退6格",PlayerNames [playerPos], PlayerNames[1- playerPos], PlayerNames[1-playerPos]); PlayerPos[1- playerPos] -= 6; CheckPos(); } else { switch (Map[PlayerPos[playerPos]]) //判斷格子的數(shù)字 { case 0: msg =("行動(dòng)完成"); break; case 1: msg = string.Format("{0}走到幸運(yùn)輪盤,1--交換位置,2--轟炸對(duì)方", PlayerNames[playerPos]); int number = ReadInt(msg, 1, 2); if (number == 1) { int temp = 0; temp = PlayerPos[0]; PlayerPos[0] = PlayerPos[1]; PlayerPos[1] = 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格"; PlayerPos[playerPos] -= 6; CheckPos(); break; case 3: msg ="踩到暫停了"; flag[playerPos ]= true; break; case 4: msg="恭喜你,前進(jìn)10格"; PlayerPos[playerPos] += 10; CheckPos(); break; } } //清空,重新加載地圖 Console.Clear(); DrawMap(); Console.WriteLine(msg ); }//擲骰子
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#使用分部類設(shè)計(jì)實(shí)現(xiàn)一個(gè)計(jì)算器
分部類是C#4.5中的一個(gè)新特性,它的出現(xiàn)使得程序的結(jié)構(gòu)更加合理,代碼組織更加緊密,本文將使用分部類設(shè)計(jì)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)算器,感興趣的小伙伴可以了解下2024-02-02C# 利用代理爬蟲(chóng)網(wǎng)頁(yè)的實(shí)現(xiàn)方法
這篇文章主要介紹了C# 利用代理爬網(wǎng)頁(yè)的實(shí)現(xiàn)方法的相關(guān)資料,希望通過(guò)本能幫助到大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-10-10C#連接加密的Sqlite數(shù)據(jù)庫(kù)的方法
對(duì)數(shù)據(jù)加密分兩種,一種是對(duì)數(shù)據(jù)庫(kù)本身進(jìn)行加密,另一種是對(duì)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行加密,下面通過(guò)本文給大家介紹C#連接加密的Sqlite數(shù)據(jù)庫(kù)的方法,感興趣的朋友一起看看吧2017-08-08C#網(wǎng)頁(yè)跳轉(zhuǎn)方法總結(jié)
這篇文章主要介紹了C#網(wǎng)頁(yè)跳轉(zhuǎn)方法總結(jié)的相關(guān)資料,需要的朋友可以參考下2015-12-12