C#总结--骑士飞行棋

前言

       经过三天把骑士飞行棋弄完了,刚刚开始接触的时候觉得很困难,但是真正做下来的时候发现没有想象中的那么困难,所以要慢慢改掉先入为主的陋习。
       这个小游戏主要分为两部分:(1)绘制地图 (2)玩家在地图中行走


绘制地图

       绘制地图主要分为:绘制飞行棋表头;初始化地图;画地图的横行,竖行
1.绘制飞行棋表头:

public  static void ShowUI()
        {
            Console.WriteLine("*************************************");
            Console.WriteLine("*                                   *");
            Console.WriteLine("*      终极骑士飞行棋 10.18         *");
            Console.WriteLine("*                                   *");
            Console.WriteLine("*************************************");

        }

       这是通过利用最简单的输出代码,将其封装成为一个方法,在画地图的时候直接调用即可。
2.初始化地图
       这一步必须首先明确地图上的每个图案是如何出来的,他们之间有什么联系,然后根据他们之间的联系,利用数组来设置每个位置的索引,通过循环的方式来绘制每个位置的图案

int[] luckyturn={6,23,40,55,69,83};//幸运轮盘◎
            int[] landMine={5,13,17,33,38,50,64,80,94};//地雷☆
            int[] pause={9,27,60,93};//暂停△
            int[] timeTunnel={20,25,45,63,72,88,90};//时空隧道卐

            for (int i = 0; i < luckyturn.Length ; i++)
            {
                //int temp=luckyturn[i ];
                Map[luckyturn[i]] = 1;
            }

3.绘制地图的横行,竖行
       首先明确画地图的逻辑方法,先判断玩家是否在一起或者是否在某个坐标上,如果在则画上相应的玩家标识,否则就画改位置原本的图案即可。
画横行和竖行的时候通过for循环根据本行所有的图案的个数调用画地图的逻辑方法来绘制即可,下面举一个例子:

for (int i = 30; i <= 34; i++)
            {
                for (int j = 0; j <= 28; j++)
                {
                    Console.Write("  ");
                }

                Console.Write(DrawStringMap(i));
                Console.WriteLine();
            }

玩家在地图中行走

       这一块主要用到了玩家如何掷骰子,如何判断玩家的坐标,根据传过来的数字,如何返回一个数字
1.玩家如何掷骰子:
       首先利用随机数random产生随机数,根据相应的随机数,玩家进行相应的移动,此时会坐落在一些特殊的图案上,然后用case语句进行相应的判断与选择即可。
2.如何判断玩家的坐标:
       因为当玩家的坐标超出地图所在的坐标时便会报错,所以用简单的if语句将超过范围的坐标进行强制赋值即可。
3.根据传过来的数字,如何返回一个数字:
       当遇到幸运轮盘时就会产生1—交换位置,2—轰炸对方两个选项,为了保证我们进行正确的操作,就要有相应的提醒。


总结

       将骑士飞行棋完成之后有几点比较大的收获。
1.当遇到一个项目的时候不要被它的表象所迷惑,其实它都是由一个个小的分支完成的,所以要学会拆分,然后分而治之。
2.做一件事情的时候要学会找他们之间的练习,就像c#小杨老师讲课一样,他一般都是从最麻烦,最简单的入手,然后在这个过程中遇到问题再进行优化,而不是一气呵成的,所以说每一段代码之间都有着密切的练习。
3.将过程进行封装:这个例子用到最多的一点可以说是将过程封装成方法,减少了代码的冗余,这一点和上面的找联系不谋而合,就像我们平时画思维导图一样,善于查找各个分支之间的联系,将相同的部分进行汇总,这样有利用我们形成知识网!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 58
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 58
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值