我们经过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));
}
}
由以上可以看出,通过封装方法,调用方法,我们少写了很多重复的东西。