标题:代码指导,想把程序做略微改动,不知道需要怎么改?求指导!谢谢!
取消只看楼主
Jacsion
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-10-26
结帖率:0
 问题点数:0 回复次数:0 
代码指导,想把程序做略微改动,不知道需要怎么改?求指导!谢谢!
public void treatment() {
        final Grid<Object> grid = DWMUtils.getGrid(this);
        final ContinuousSpace<Object> space = DWMUtils.getSpace(this);
        GridPoint pt = grid.getLocation(this);
        List<Object> Human = new ArrayList<Object>();
        for (Object obj : grid.getObjectsAt(pt.getX(), pt.getY())) {
            if (obj instanceof Human) {
                Human.add(obj);
            }
        }
        if (Human.size() > 0) {
            Object obj = DWMUtils.randomElementOf(Human);
            NdPoint spacePt = space.getLocation(obj);
            @SuppressWarnings("unchecked")
            Context<Object> context = ContextUtils.getContext(obj);
            context.remove(obj);
            Zombie zombie = new Zombie ();
            context.add(zombie);
            space.moveTo(zombie, spacePt.getX(), spacePt.getY());
            grid.moveTo(zombie, pt.getX(), pt.getY());
        }
    }
首先,Human(人)、Zombie(僵尸)、DWMUtils(常用函数)是三个类,上面这段代码是为了获取Human所在位置上的所有Zombie对象存入列表中,如果该列表非空则在列表中随机取出一个对象进行治疗,使其由Zombie转变为Human(从context中移除该Zombie并添加一个新的Human)

现在想改为:
方案一:获取与该Human有关系的所有Human和Zombie(可以使用方法getSuccessors(主体))对象存入列表,判断是否为空,然后,选出其中所有的Zombie将其转变为Human(可以和上面一样通过删除一个Zombie添加一个Human的方式)。
或方案二:获取与该Human有关系的所有Zombie(可以使用方法getSuccessors(主体))对象存入列表,判断是否为空,然后,将所有Zombie转变为Human(可以和上面一样通过删除一个Zombie添加一个Human的方式)。
搜索更多相关主题的帖子: Object public 
2014-12-28 10:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-440446-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.216187 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved