Кусок кода

Тема в разделе "WASM.ZEN", создана пользователем pluton, 15 мар 2007.

  1. pluton

    pluton New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2007
    Сообщения:
    66
    Адрес:
    Odessa
    Писал как-то игру на Джаве. В одной функции был такой кусок кода:
    Код (Text):
    1. if (xH == xHeart && yH == yHeart)
    2. {
    3.     eatFlag = true;
    4.     speed--;
    5. }
    6. else
    7.     eatFlag = false;
    Так я подумал может быстрее и/или лучше будет так:
    Код (Text):
    1. eatFlag = (xH == xHeart && yH == yHeart);
    2. if (eatFlag)
    3.     speed--;
    Скажите своё мнение. Спасибо
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    не знаю как на джаве, а если напишешь такое на си, второй вариант займет меньше машинного кода
    а еще лучше концовку изменить на
    Код (Text):
    1. speed -= eatFlag;
     
  3. pluton

    pluton New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2007
    Сообщения:
    66
    Адрес:
    Odessa
    Интересный вариант. На джаве, скорей всего, не сработает. Компилятор наверное скажет, что несовпадение типов int и boolean.
     
  4. Stiver

    Stiver Партизан дзена

    Публикаций:
    0
    Регистрация:
    18 дек 2004
    Сообщения:
    812
    Адрес:
    Germany
    pluton
    Компилятор действительно выругается, но ничто не мешает написать так прямо в байткоде. Виртуальная машина (в отличии от компилятора) Явы не знает типа boolean, он отображается на int.