Java-игры с максимальной мобильностью

Я знаю, это старый поток, и на него уже ответили, но ответы - это оптимизация. Фактическая причина , почему вы получаете повторяющиеся ответы, заключается в том, что каждый раз, когда вы запрашиваете .iterator (), он возвращает обратно объект итератора, который начинается с верхней части списка.

Поэтому условие while while:

list.iterator().hasNext()

всегда будет возвращать true. Соответственно, последующий

list.iterator().next()

всегда будет возвращать первый элемент.

Что должно быть сделано:

AggregationOutput output = coll.aggregate( match1, unwind, match2, group, sort, limit);
Iterable<DBObject> list= output.results();
Iterator<DBObject> iterator= list.iterator();

while(iterator.hasNext()){
    DBObject obj = iterator.next();

    String id = (String) obj.get("_id");
    int times = Integer.parseInt(obj.get("times").toString());

    System.out.println("ID IS "+id+" time: "+times);
}

Но технически, для цикла, упомянутого @Aqua, много более чистого использования. Этот ответ заключался лишь в том, чтобы разъяснить, почему, а не как.

1
задан jeff 12 August 2010 в 02:43
поделиться

1 ответ

Я бы сказал, что сначала сделайте версию для ПК (переносимую на Mac, Linux, Windows, если это для вас приоритетно) и разработайте (или даже несколько) полностью новую версию для мобильных телефонов. .

Там может быть какой-то код (и художественное произведение), которое вы можете использовать повторно, но не слишком много, так как (хорошая) игра должна сильно отличаться для мобильного телефона от ПК, а не только по размеру экрана. и методы ввода, но основные изменения в игровом процессе, к которым, вероятно, приводят эти различия, чтобы по-прежнему было интересно играть.

Код, который вы можете использовать повторно, скорее всего, потребуется адаптировать для J2ME или Android, но лучше побеспокоиться об этом позже, чем пытаться быть чрезмерно кроссплатформенным с самого начала (что наложило бы ограничения на функциональность версии для ПК, и съедает много времени, не будучи уверенным, окупится ли это когда-нибудь).

Опять же, во всяком случае, беспокойтесь о переносимости в нескольких средах рабочего стола и в нескольких телефонах, но не слишком много о переносимости между ними.

Конечно, если ваша игра имеет серверный компонент, было бы идеально иметь только одну версию серверного кода, которая может взаимодействовать с клиентами на всех платформах.

2
ответ дан 2 September 2019 в 22:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: