Суббота, 23 Ноября 2024, 19:20

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Переменная в переменной
KrososДата: Пятница, 25 Октября 2013, 13:17 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Есть у меня один страшный массив ,и не получается никак его доделать...

Возможно ли сделать следующее?:
Например, есть переменная global.AT[O]=40 ,и еще 10 подобных переменных.
Прибавляю я к некой переменной число (XXX+=10) , и это число прибавилось не к переменной, а к global.AT[O].





Мой проект
AevienДата: Пятница, 25 Октября 2013, 13:25 | Сообщение # 2
почти ветеран
Сейчас нет на сайте
Ну такие вещи можно делать только с указателями, а в Гамаке насколько я знаю их нет smile А так нельзя, ведь число то ты прибавляешь к переменной, а не к массиву.
KrososДата: Пятница, 25 Октября 2013, 13:39 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Это печально.=(
Придется тогда делать ,как обычно - громадным кодом.

Добавлено (25.10.2013, 13:39)
---------------------------------------------
Вот такой код:
Код
if global.Debuff_Attack[3,O]=1{
global.Debuff_Attack[3,O]=0
if (global.IN[O]+global.Debuff[3,O]-global.Buff[3,O])<=global.Debuff_Power[3,O]
{
global.Debuff_Power[3,O]=global.IN[O]+global.Debuff[3,O]-global.Buff[3,O]
}
if global.Debuff[3,O]<=global.Debuff_Power[3,O]   
{
global.IN[O]+=global.Debuff[3,O]
global.Debuff[3,O]=global.Debuff_Power[3,O]   
global.IN[O]-=global.Debuff[3,O]
global.Debuff_Time[3,O]=global.Debuff_Available_Time[3,O]
}
}


И подобных кодов надо сделать 16...
Хотел сделать через массив , но не знаю что делать с этими переменными (global.IN[O])....





Мой проект


Сообщение отредактировал Krosos - Пятница, 25 Октября 2013, 13:42
AevienДата: Пятница, 25 Октября 2013, 13:40 | Сообщение # 4
почти ветеран
Сейчас нет на сайте
А что конкретно то хочешь сделать? Может ребята увидят код или пояснишь мысль и помогут smile
KrososДата: Пятница, 25 Октября 2013, 13:46 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Ну..
Примерно так:
switch A
case 1: XXX=global.AT[O] break
case 2: XXX=global.DF[O] break
case 3: XXX=global.IN[O] break
case 4: XXX=global.SP[O] break
case 5: XXX=global.HP[O] break
.........
if (XXX+global.Debuff[A,O]-global.Buff[A,O])<=global.Debuff_Power[A,O]
{
global.Debuff_Power[A,O]=XXX+global.Debuff[A,O]-global.Buff[A,O]
}
XXX должен являться переменной ,а не числом.





Мой проект


Сообщение отредактировал Krosos - Пятница, 25 Октября 2013, 13:47
AevienДата: Пятница, 25 Октября 2013, 14:06 | Сообщение # 6
почти ветеран
Сейчас нет на сайте
Так ты и создавай массив где каждый элемент массива и есть переменная, не обязательно ее создавать.

Примерно так должно быть

element[0] = x;
element[1] = z;
element[..] = ... потом также и обращайся к ним, например переменная w = element[1]; Массивы во всех языках работают по данному принципу, различие лишь в оформлении
KrososДата: Пятница, 25 Октября 2013, 14:16 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
Ну , это вроде не совсем то
Я сейчас сделал вот так:(Вроде работает.Я надеюсь...)

Код
for (A=1;A<=4;A+=1){
if global.Debuff_Attack[A,O]=1{
global.Debuff_Attack[A,O]=0
switch A{
case 1: X=global.AT[O] break
case 2: X=global.DF[O] break
case 3: X=global.IN[O] break
case 4: X=global.SP[O] break
}

if (X+global.Debuff[A,O]-global.Buff[A,O])<=global.Debuff_Power[A,O]
{global.Debuff_Power[A,O]=X+global.Debuff[A,O]-global.Buff[A,O]}

if global.Debuff[A,O]<=global.Debuff_Power[A,O]  
{
X+=global.Debuff[A,O]
global.Debuff[A,O]=global.Debuff_Power[A,O]  
X-=global.Debuff[A,O]
global.Debuff_Time[A,O]=global.Debuff_Available_Time[A,O]

switch A{
case 1: global.AT[O]=X break  
case 2: global.DF[O]=X break
case 3: global.IN[O]=X break
case 4: global.SP[O]=X break
}
}


Спасибо за внимание и помощь.





Мой проект
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг