Avatar
vcl77
Člen
Avatar
vcl77:

ahoj. potřeboval bych poradit. dělám takovou aplikaci, která je cosi jako letecký simulátor. ve skutečnosti to testuje multitasking. jsou tam tři budíky a hlas říká čísla od jedné do desíti. cílem je nastavit budíky do požadovaných hodnot a při tom, kdykoli zazní tři po sobě jdoucí sudé či liché číslice zmáčknout mezerník. mám problém, že se jakoby znásobují cykly počítání a běží třeba dva najednou. tady je zdrojovy soubor http://uloz.to/…mulator3-gmk.

 
Odpovědět 15.5.2013 23:23
Avatar
Drakeman
Redaktor
Avatar
Drakeman:

Ahoj tak jsem se koukal na ten tvůj zdrojový kód a musim říct, že se docela divím, že se v té záplavě ikonek ještě nějak orientuješ :-). Osobně si myslím, že by jsi se měl naučit GML, jestli chceš dál pokračovat a dělat nějaké složitější aplikace v GameMakeru. Sám pak uvidíš, že se kód více zpřehlední jak pro tebe, tak i pro ostatní, kterým kód ukazuješ a hledání chyb pak bude mnohem snažší :-).
Jinak chybu jsem nedokázal najít, protože jsem se nedokázal zorientovat v té spoustě ikonek a taky nechápu pojmenování některých objektů např.: jaký je rozdíl mezi objekty kontrola a kontrolaa ??

Nahoru Odpovědět 16.5.2013 1:29
Když se chce, tak jde všechno,
Avatar
TomBen
Redaktor
Avatar
Odpovídá na vcl77
TomBen:

Vypadá to, že obsah Stepu u objektu kontrolaa by měl být celý
v Alarmu1. Pak tam musí být v Create první nastavení toho Alarmu.
Jinak má Appleman pravdu, s tím gml by se ti všechny ty šílené
podmínky stáhly na pár řádků příkazu switch v jediné ikoně kódu.
Líp by ses v tom vyznal i ty sám. :-)

Nahoru Odpovědět  +1 16.5.2013 5:14
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
vcl77
Člen
Avatar
vcl77:

Díky moc za trpělivost s tím mým gulášem. Jednou za pár let si něco takhle zbastlím. Tutorialy od Overmarse jsem skončil u Tic Tac Toe. Doufám, že budu mít ještě někdy čas se zabývat GML. Doufal jsem, že to zvládnu takhle. Osekám to jen na to generování a hlášení čísel a zkusím to rozchodit zvlášť. Zdovolením se ještě ozvu jak to vypadá. Ještě jednou díky moc.

 
Nahoru Odpovědět 16.5.2013 21:45
Avatar
TomBen
Redaktor
Avatar
Odpovídá na vcl77
TomBen:

No, držím ti palce. Konečně totiž někdo, kdo zkouší dělat i něco jiného
než Pong, Pacmana nebo plošinovku. Přínos Game Makeru je totiž zejména
v tom, že umožňuje těžit nápady i mimo programátorské prostředí.
A co pak všichni udělají? No? Ano, správně! Opisují klony jako vejce vejci.
Takže i přes mračno chyb a podivností, držím palce.

Nahoru Odpovědět 16.5.2013 22:30
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Drakeman
Redaktor
Avatar
Odpovídá na TomBen
Drakeman:

No ono většinou jsou to začátečníci, kteří se teprve s GM učí a tak si dělají svou první hru např. pong, pacmana apod. Bohužel pak je to třeba přestane bavit a tak jdou dělat něco jinýho. Proto nejspíš všude vznikají samé kopie a nikde nic moc originálnějšího nevznikne.

Nahoru Odpovědět 16.5.2013 23:15
Když se chce, tak jde všechno,
Avatar
vcl77
Člen
Avatar
vcl77:

Tohle je pro osobní potřebu bez nějakých ambicí. Dělal jsem si třeba interaktivní tabulky do pokru a tak. Období klonů mám taky za sebou.

 
Nahoru Odpovědět 16.5.2013 23:25
Avatar
vcl77
Člen
Avatar
vcl77:

Tak jsem se pokusil přes GML. Díky za tip na switch.

Do místnosti jsem dal jen dva objekty. Start - kde deklaruju proměnné.
A objekt suda_licha. Ten má tři události:
Create - nastavim alarm 1
Alarm 1 - tento kod:

global.pocet= round(1+random(9));

switch (global.pocet)
{
 case 2:  {sound_play(zwei)} break
 case 4:  {sound_play(vier)} break
 case 6:  {sound_play(sechs)} break
 case 8:  {sound_play(acht)} break
 case 10:  {sound_play(zehn)} break
 case 1:  {sound_play(eins)} break
 case 3:  {sound_play(drei)} break
 case 5:  {sound_play(funf)} break
 case 7:  {sound_play(sieben)} break
 case 9:  {sound_play(neun)} break

}

alarm[1] = 30;

Draw - tam budu vykreslovat promenne

Problém pořád zůstává. Zní to jako bych spustil dva ty kody najednou (se zpožděním)

 
Nahoru Odpovědět 17.5.2013 15:33
Avatar
TomBen
Redaktor
Avatar
Odpovídá na vcl77
TomBen:

Máš blbě nahraný zvuk eins - je v něm celé počítání.
Taky je dobré použít sound_stop_all() před tím switchem.
Alarm dávej o něco delší, ať to ty zvuky stihnou. :-)

Nahoru Odpovědět 17.5.2013 16:13
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
vcl77
Člen
Avatar
 
Nahoru Odpovědět 17.5.2013 16:33
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.