Что не так с моим для цикла? - PullRequest
0 голосов
/ 11 октября 2010

Я делаю игру с использованием Lite-C (точно такой же синтаксис, как C). и я не могу заставить этот цикл работать. Это дает мне ошибку в этой строке при компиляции.
for(int i = 0; i < (cantenemigu * 3); i += 3)

У меня есть массив с информацией о том, где создавать врагов. массив содержит координаты x, y, z.
cantenemigu - количество врагов в массиве.

С помощью этого цикла я получу информацию о каждом враге и создам ее.

[EDIT] Ответы не сработали. Я добавил; случайно при написании поста.

Может быть, проблема в другом;

Вот часть отверстия.

int cantenemigu = 3;
var posenemigu[] = {-900, 550, -10, -1100, 1600, -10, 70, 1680, 20};
void load_enemigunan()
{ 
 for(int i = 0; i < (cantenemigu * 3); i += 3) 
 {
  ent_create("targetr.mdl",vector(posenemigu[i],
             posenemigu[i + 1],
             posenemigu[i + 2]),NULL);
 } 
}

Это код, если я не добавлю

Я решил это.

это сработало.

int i
for(i = 0; i < 3*cantenemigu; i += 3)
{
    ent_create("targetr.mdl",vector(posenemigu[i],
                                                posenemigu[i + 1],
                                                posenemigu[i + 2]),NULL);
}

В C # это не было объявлено раньше. Я предположил, что это было так же в C. (или, возможно, это ошибка в компиляторе).

Ответы [ 5 ]

7 голосов
/ 11 октября 2010

for (int i = 0; i < (cantenemigu * 3); i += 3)

Не должно быть никаких ; после i += 3.

2 голосов
/ 11 октября 2010

Попробуйте изменить свой код следующим образом: (обратите внимание, что я сделал, переместив объявление i за пределы цикла for.

int cantenemigu = 3;
var posenemigu[] = {-900, 550, -10, -1100, 1600, -10, 70, 1680, 20};
void load_enemigunan(){ 
    int i;
    for(i = 0; i < (cantenemigu * 3); i += 3){
         ent_create("targetr.mdl",vector(posenemigu[i],
             posenemigu[i + 1],
             posenemigu[i + 2]),NULL);
     } 
}
2 голосов
/ 11 октября 2010

Избавьтесь от 3-го ;.

for(int i = 0; i < (cantenemigu * 3); i += 3) 
1 голос
/ 11 октября 2010

Похоже, вам не хватает закрывающей скобки для вашего звонка на vector.

ent_create(
    "targetr.mdl",
    vector(
        posenemigu[i], 
        posenemigu[i + 1], 
        posenemigu[i + 2],
        NULL
);
0 голосов
/ 11 октября 2010
for(int i = 0; i < (cantenemigu * 3); i += 3;) 

В чем ошибка?Эта последняя точка с запятой не должна быть там.

Что такое тело цикла?

Какой тип переменной cantenemigu?Может ли оно быть приведено к int?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...