dělám arkanoida a už mám udělaný základní věci, ale nevim, jak mam udělat s procedurou gettime, aby míček lítal stejně rychle na všech počítačích. Určitě je to něco jednoduchýho, ale nevim jak... kdyžtak přikládám ten prográmek
díky za radu
Fórum › Pascal
časování
Řešení přes GetTime lze použít také (výhodou je dobrá přenositelnost programu), ale lepší je řídit se podle čítače. Trochu jsem upravil tvoji proceduru Engine:
procedure engine;
var a,b:longint;
n:word;
begin
n:=1; {kolik 55ms pulsu budeme cekat}
a:=MemL[Seg0040:$6c]; {zjisti aktualni hodnotu citace (presnost 55ms)}
klavesy;
steny;
kontrola_cihel;
kontrola_palka;
micek.x:= micek_old.x + rych.x*t;
micek.y:= micek_old.y + rych.y*t;
vykresli_kolo(micek_old.x,micek_old.y,rad,0);
vykresli_kolo(micek.x,micek.y,rad,15);
micek_old.x:=micek.x;
micek_old.y:=micek.y;
{vsechno u mame vykreslene, zbyva jenom eventualne pockat, aby hra nesla moc
rychle}
repeat
b:=MemL[Seg0040:$6c]; {znovu zjisti stav citace}
until (b<a) or (b>a+n); {porovnej to s hodnotou pred cyklem. Doba uplynula?}
end;
To Laaca : jak by se to prosim udělalo pomocí gettime? já jsem myslel udělat funkci "čas", která by se použila ve výrazu micek.x:=micek_old.x + rych.x*t místo "t". měl bych danou rychlost v setinach sekundy treba 0.5 (50 pixelu za sekundu) tahle funkce cas by vydala cas, ktery ubehl od posledni aktualizace souradnic micku v setinach sekundy (predpokladal bych, ze tento cas by nikdy nebyl vetsi nez 1 s :)) potreboval bych k tomu pomocnou promennou, do ktere bych vzdy ulozil stary cas a pomoci niz bych pocital novy cas (ten pocet setin sekundy). kdyz jsem to takhle delal, tak to bezelo i pri srazce s cihlou (s jeji rovnou plochou) ale micek zmizel, kdyz se srazil s rohem cihly a nevim proc... :(
za ten citac dekuji, ale ten citac mi nebere freepascal, ve kterem jsem to nucen delat protoze v TP mi to pada kvuli grafice (viz moje jine vlakno :)) a porad nevim, proc to pada. takze ten citac nemuzu v TP vyzkouset (i kdyz verim, ze je spravne) a tak bych to potreboval udelat pomoci gettime, aby mi to slo ve FP i TP a nebo nejak rozchodit tu grafiku... chjo :)
Přes Gettime by to šlo tak, že si všechno převedeš na setiny sekundy, aby se s tím líp počítalo:
setiny:=setiny+100*sekundy+100*60*minuty+100*60*60*hodiny plus případně ještě datum z Getdate, jestli to chceš hrát přes půlnoc :-).
V programu od Laacy bys čtení Gettime a výpočet setin dal tam, kde je to ...:=meml[...]. n by pak byl počet setin.
Moje stránka.
OK, příště si dám pozor :smile1:
Moje stránka.
To Laaca : budu reagovat na ten OT ... řekl bych že Venca je podle vzoru předseda. Takže Venca bez Vency jako předseda bez předsedy. Takže i Laaca bude bez Laacy.
Jistě, je to podle vzoru předseda, ale končí to na souhlásku c, která je v češtině měkká. To je stejný případ jako slovo "bača".
Podle tvé logiky by druhý pád byl "bez bačy". Správně je pochopitelně "bez bači". Nebo jiný příklad - Saša. "Bez Sašy"? Samozřejmě ne.
Proto i bez Laaci, Venci či Jarka Nohavici.
Ano, v češtině je případ, kdy pravidla skloňování vzoru přebíjejí měkkost koncovky, ale to se týká jedině vzoru hrad.
Tedy "tác-tácy", "kibuc-kibucy", "kec-kecy"
To Laaca : No jo, taky mi po postnutí mého příspěvku vrtala hlavou ta měkká souhláska, že to asi nebude jen tak a co že to vlastně má větší prioritu (i když někde mi to prostě subjektivně nesedí - ale to je těmi zlozvyky). Je to opravdu tak jak píšeš, nuže, alespoň jsem teď zas o něco moudřejší, dík za objasnění:-)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Casovani v java — založil Jirka
Oprava časování — založil Jirka
Časování minimání delay — založil Interrupt
Moderátoři diskuze