游戏的基础—三消-1

       三消 简单的理解就是3个在一起就消喽,这里我们就最简单的操作的三消为例,就是你触屏按下去,然后以当前的位置像周围4个方向寻找是否有相同类型的游戏实体,如果有的话,把它存进一个list的里面,这里要强调一下c#里面数组一般用list因为list存储类型是个泛型,当我们在存储一个简单的值类型的时候尽量不要用arraylist,arraylist存储的引用类型,所以值类型存进去要通过装箱转化为引用类型,而当我们用数组中的元素是又通过拆箱操作将引用类型转化为值类型,中间产生的垃圾需要通过GC来回收,在我的文章里面以后会和大家讲到C#的低层知识。言归正传,首先我们得生成一些游戏物体,然后再让他们按照一定的规律落在相应的位置吧,这就像那个碰碰猫里面的那样,猫是一堆往下落的,


  这上面是4中不同的下落效果,我想问一下怎么实现呢?或许菜一点的程序员会用一个switch语句解决

  例如

   switch(type)

{

  case 1::实现方式1

  case 2 :实现方式2

  case 3 :实现方式3

  case 4 :实现方式4

}

这种思想是面向过程的思想,这里用到了设计模式里面的适配器模式,不知道的没关系,后面我会着重的去讲。面向过程的思想是完全可以解决这个问题的,但是当策划说你这四种方式都不是我想要的,我要一个更炫的怎么办,然后你辛辛苦苦过出来了一个,然后你就要去改那个switch语句吧,然后策划他玩了几天觉得效果不是特别炫,他拉着你的小手说:“欧巴,来个更炫的吧。”那你是不是又要改switch语句,如此反复的改原来的代码,如果我是你就会很烦,除非你是个例外。这里我是这么写的:

   先定义一个通用接口,里面的方法是命名为“实例物体下落”,然后建4个物体下落的类,都去继承那个通用接口,然后调用就改为

    ICatOut outOut = new CatOut_4(CatLayer.CatlayerTransform);
    outOut.CatOut(CatLayer.CatMange.Dic);

  当我们再换效果的时候,就没有必要去修改原来的方法,只需添加一个类,让它去继承那个通用接口,实例化改成你要需要实现效果的类。

  其实游戏开发也需要面向对象,以我的观点,目前很多人对unity 3d的开发模式很不了解,认为不会用到设计模式,大多数人或许一个单例模式就可以解决所有的问题。认为这是大错特错的,游戏开发也是面向对象,所以也需要面向对象编程。今天就到这里,明天继续。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值