Zdravím,
programuji jednu simulaci v Control Webu (do školy) a narazil jsem na jeden problém... Inkrementuji hodnotu x (souřadnice x pro jednu ruku dopravníku), jenže ta hodnota x nesmí přesáhnout dvě mezní hodnoty (nejmenší je 0, největší je třeba 30), jinak mi ruka dopravníku vyjede z obrazovky a to je špatně. Jak mám v programu napsat ono ohraničení osy?
Můj kus kódu je:
if jezdeni then x = x + 1 else x = x - 1; end; (jezdeni je tlacitko, true znamena posun doprava, proto inkrementace, false je posun doleva, proto dekrementace)
jenže když napíšu pod to podmínku if pro ohraničení (if x = 0 then x = 0; end; třeba), tak mi to samozřejmě zruší předchozí if, protože tlačítko ježdění má stále nějakou hodnotu a tak se sice na zlomek vteřiny inkrementace přeruší, ale program jede znova od začátku po 0.3s intervalu a první podmínka je stále platná, čili zpět k inkrementaci. Mohl by mi prosím někdo pomoct s tímto problémem? Pochybuji, že se někdo vyzná v syntaxi, ale stačí slovně, např. "napiš, že když a = b tak c = d" a já si to naprogramuji. Vím, že to musí být jednoduché, ale prostě jsem se zasekl :(.
Děkuji mnohokrát.
Fórum › Funkcionální programování
Pomoc s algoritmem
nikoliv, to by vůbec nepomohlo. Nakonec jsem to vyřešil takto:
if x = 0 or 140 then podminka = 0; end;
if x = 0 then if jezdeni then podminka = 1 else podminka = 0; end; end;
if x = 140 then if jezdeni then podminka = 0 else podminka = 2; end; end;
if podminka = 0 then x = x; end;
if podminka = 1 then x = x + 2; end;
if podminka = 2 then x = x - 2; end;
Teď bohužel narážím na jiný problém (simulace třetího a čtvrtého motoru, s tím mi tady asi stejně nikdo nepomůže). Tyhle simulace jsou příšerné, asi na to nemám hlavu :/
edit: Hotovo... Mmm, pěkný pocit :-)
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 1 host
Podobná vlákna
Pomoc s algoritmem - Backtracking — založil dreIx
Potřeboval bych poradit s algoritmem... — založil Mory
Pomoc.... nějaká chybka prosím pomoc - více v podrobném popisu — založil tkstudent
Pomoc, pomoc s úkolem (matice v Delphi) — založil maxikp