我们经过C#的学习,相比大家都已经知道包,类,方法的关系。

    前面也已经和大家分享了方法和封装的好处,今天我们拿一个例子来聊一聊,方法,封装,和逻辑

首先这是我们的例子:飞行棋

 C#方法讲解——飞行棋画地图-编程知识网

首先,我们来看,这个游戏的界面,表头,地图,玩家,掷骰子,特殊事件,这些就是整个游戏的组成。

我们先来画出游戏头:

 public static void ShowUI()

{

Console.WriteLine("********************************");

Console.WriteLine("*                              *");

Console.WriteLine("*       终极骑士飞行器                *");

Console.WriteLine("*                              *");

Console.WriteLine("********************************");

}

看这段代码:public static void ShowUI()这是我们用来定义一个方法,目的是画游戏头

 

 

下面,我们来谈谈地图怎么画,这里可是涉及到好多好多的技巧

我们看到地图由四种图形构成,每种图形有不同的意义,

思考:

    我们要怎样才能一次性划出很多个空间来用?

    我们怎样才能准确的区分不同的图形?

    我们之前是不是学过数组,利用数组的下标我们是不是很容易就解决了以上的几个问题?

好,我们来看代码:

 C#方法讲解——飞行棋画地图-编程知识网

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));

}

}

由以上可以看出,通过封装方法,调用方法,我们少写了很多重复的东西。