Skocz do zawartości

Zablokowane Pytanie do petli


Rekomendowane odpowiedzi

Opublikowano

Czesc,

chce sobie uproscic i zoptymalizowac kod, mam takie co do petli ktorych wczesniej wogole nie uzywalem:

 

petla szuka wolnego miejsca w plecaku, miejsc jest 32, mysle ze skrypt jest calkiem czytelny

 

GML
for (ii = 0; ii < 32; ii+=1) global.inventory[ii,1] = ii+1;

{

if global.inventory[ii,1] = false//jesli miejsce jest wolne

{

x = global.inventory[ii,2];//pozycja slota

y = global.inventory[ii,3];

in_inventory = 1;

global.inventory[ii,1] = true;// miejsce jest 'zajete'

persistent = true;

depth = -999991;

takedepth = -999991;

slot = ii;//itemek pobiera informacje w ktorym jest slocie

}

}

 

Skrypt przeszukuje wolnego slota w plecaku, jednak jak zrobic aby zatrzymal sie gdy natrafi na wolnego slota? bo jak narazie to nawet gdy go znajdzie dalej szuka i przedmiot konczy w ostatnim miejscu w plecaku. Probowalem break ale nie dziala.

 

Dzieki za pomoc :)

Opublikowano

GML
for (ii = 0; ii < 32; ii+=1) // global.inventory[ii,1] = ii+1; lol?

{

if global.inventory[ii,1] = false//jesli miejsce jest wolne

{

x = global.inventory[ii,2];//pozycja slota

y = global.inventory[ii,3];

in_inventory = 1;

global.inventory[ii,1] = true;// miejsce jest 'zajete'

persistent = true;

depth = -999991;

takedepth = -999991;

slot = ii;//itemek pobiera informacje w ktorym jest slocie

break; // Zatrzymujemy pętle :P

}

}

Opublikowano
break nie dziala juz mowilem :jezor: petla sie nie zatrzymuje i przedmiot i tak konczy w ostatnim slocie. Troche to dla mnie dziwne myslalem ze to zalatwi sprawe, dlatego pisze tego posta.
Opublikowano

mozesz wytlumaczyc co mam rozumiec pod tym 'lamie wszystko' to znaczy ze petla jest zbudowana tak ze break; jej nie zatrzyma? Mam ja jakos inaczej skonstrulowac?

 

e

wiem. przeciez musi przeszukac wszystkie 32 sloty, ale jak ja zatrzymac gdy znajdzie wolny?

Opublikowano

Najpierw napisz po co to jest:

GML
global.inventory[ii,1] = ii+1;

a jeśli sprawdza ( w co wątpię... :P ) to po co to? ( w klamrach ):

GML
if global.inventory[ii,1] = false

E: Logicznie daj tylko:

GML
for (ii = 0; ii < 32; ii+=1)

{

if global.inventory[ii,1] = false//jesli miejsce jest wolne

{

x = global.inventory[ii,2];//pozycja slota

y = global.inventory[ii,3];

in_inventory = 1;

global.inventory[ii,1] = true;// miejsce jest 'zajete'

persistent = true;

depth = -999991;

takedepth = -999991;

slot = ii;//itemek pobiera informacje w ktorym jest slocie

break; // Zatrzymujemy pętle tongue2.gif

}

}

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...