Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
vcl77
Člen
Avatar
vcl77:15.5.2013 23:23

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
Tvůrce
Avatar
Drakeman:16.5.2013 1:29

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
Tvůrce
Avatar
Odpovídá na vcl77
TomBen:16.5.2013 5:14

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
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:16.5.2013 21:45

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
Tvůrce
Avatar
Odpovídá na vcl77
TomBen:16.5.2013 22:30

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
Tvůrce
Avatar
Odpovídá na TomBen
Drakeman:16.5.2013 23:15

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:16.5.2013 23:25

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:17.5.2013 15:33

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
Tvůrce
Avatar
Odpovídá na vcl77
TomBen:17.5.2013 16:13

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
Odpovídá na TomBen
vcl77:17.5.2013 16:33

Dííííííky.

 
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.