C#方法讲解——飞行棋画地图
?
我們經過C#的學習,相比大家都已經知道包,類,方法的關系。
????前面也已經和大家分享了方法和封裝的好處,今天我們拿一個例子來聊一聊,方法,封裝,和邏輯
首先這是我們的例子:飛行棋
?
首先,我們來看,這個游戲的界面,表頭,地圖,玩家,擲骰子,特殊事件,這些就是整個游戲的組成。
我們先來畫出游戲頭:
?public static void ShowUI()
{
Console.WriteLine("********************************");
Console.WriteLine("* ?????????????????????????????*");
Console.WriteLine("* ??????終極騎士飛行器 ???????????????*");
Console.WriteLine("* ?????????????????????????????*");
Console.WriteLine("********************************");
}
看這段代碼:public static void ShowUI()這是我們用來定義一個方法,目的是畫游戲頭
?
?
下面,我們來談談地圖怎么畫,這里可是涉及到好多好多的技巧
我們看到地圖由四種圖形構成,每種圖形有不同的意義,
思考:
????我們要怎樣才能一次性劃出很多個空間來用?
????我們怎樣才能準確的區分不同的圖形?
????我們之前是不是學過數組,利用數組的下標我們是不是很容易就解決了以上的幾個問題?
好,我們來看代碼:
?
Console.WriteLine("圖例:幸運輪盤:◎ ??地雷:☆ ??暫停:▲ ??時空隧道:卐");
?畫地圖第一行
DrawMapeLftToRight(0, 29);
Console.WriteLine();
?
#region 畫第一豎行
for (int i = 30; i <=34; i++)
{
for (int j = 0; j <= 28; j++)
{
?Console.Write(" ?");
}
Console.WriteLine(DrawStringMap(i));
}
?#endregion
?
#region 第二橫
for (int i = 64; i >= 35; i--)
{
Console.Write(DrawStringMap(i));
}
?
#endregion
?Console.WriteLine();
?
#region 第二豎行
for (int i = 65; i < 69; i++)
{
Console.WriteLine(DrawStringMap(i));
}
#endregion
?
#region 第三橫
DrawMapeLftToRight(70, 99);
#endregion
Console.WriteLine();
?
我們可以看出:利用數組,我們可以通過數組的下標來確定我們需要的圖形,和坐標
其中:DrawMapeLftToRight(70, 99);?是一個方法,也是我們為了減少冗余代碼,提高代碼利用率而做的
內容:
?public static void DrawMapeLftToRight(int left,int right)
{
for (int ?i = left; i <= right; i++)
{
Console.Write(DrawStringMap(i));
}
}
由以上可以看出,通過封裝方法,調用方法,我們少寫了很多重復的東西。
總結
以上是生活随笔為你收集整理的C#方法讲解——飞行棋画地图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牛客网【每日一题】 合集
- 下一篇: 牛客网 【每日一题】4月10日 二分图染