2017-07-16 75 views
-3

我想创建一个具有20x30字段的游戏,我的第一个想法是每个字段都是一个列表(因为有时候某个字段包含多个对象),但是在阅读关于通用列表数组的几个问题,我意识到这不是一个好的解决方案。我应该用什么来代替通用列表数组?

游戏将会是一个非常简单的筏版本,在控制台中用“左”这样的命令播放它,以便角色向左移动一个字段。 那么你能推荐一个好的容器或者什么来设计这个领域吗?

游戏的一个例证: http://imgur.com/a/8YpeA

+0

如何使用通用列表的列表而不是通用列表的数组。 – janos

+0

你为什么认为这个列表不好? – Henry

+0

我想我会尝试清单的列表,谢谢,至于第二个问题,你可以在这里查看:https://stackoverflow.com/questions/7810074/array-of-generic-list – Ereghard

回答

1

如果要实现一个固定大小的矩形“弹面”,那么我会建议Cell[][]其中Cell型为代表的国家的自定义类细胞在表面上。

这里没有必要使用泛型,除非你试图实现一个可以在许多游戏中使用的抽象。

另外,不需要类似列表的功能。您不要删除或添加单元格到电路板。你将棋子/球员/从一个单元移动到另一个单元。 (如果您的开发板不是基于谨慎的单元格,则需要使用其他方法,但任何具有有限数量离散单元的2D播放表面都可以以某种方式映射到Java数组。 )


所以你能推荐一个很好的容器或东西来设计领域?

关于图书馆和工具的建议是OFF-TOPIC。

1

有两种方法可以创建通用阵列:

  1. 创建私有静态内部类的类型:

    transient Node<K, V>[] table; 
    
    public MyHashMap(int limit) { 
        this.limit = limit; 
        table = (Node<K, V>[]) new Node[limit]; 
    } 
    
  2. 使用Array.newInstance(类,大小)

此外,使用泛型进行自定义实现不是一个好的选择。

相关问题