Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2014:ant-run

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
2014:ant-run [2015/01/17 18:04]
Tomáš Jankech [Software] - oprava zarovnania
2014:ant-run [2015/01/18 23:42] (aktuální)
Tomáš Jankech [Software] ++ obládanie blokovka
Řádek 174: Řádek 174:
 <code c>​typedef enum  {idle, left, up, right, down} direction_t;</​code>​ <code c>​typedef enum  {idle, left, up, right, down} direction_t;</​code>​
  
-**  TODO kód/vývoják ​ ** +Na obrázku [[http://​www.urel.feec.vutbr.cz/​MPOA/​_detail/​2014/​ant-run/f_accelerometer.png?​id=2014%3Aant-run|Obr. 9]] je zobrazený princíp vyhodnocovania dát z akcelerometra. 
-Obr. 9+ 
 +{{ :​2014:​ant-run:​f_accelerometer.png |Obr. 9 - Vyhodnocovanie dát z akcelerometra}} 
 + 
 +Funkcia confrim_dir potvrdzuje návrat do rovnovážnej polohy vykreslením zelenej šípky so správnym natočením alebo maže údaje vysvietené na panely v prípade, že užívateľ doskou nepohol.\\ 
 + 
 +Funkcia move_cursor v hre pohybuje s Funkcia confrim_dir potvrdzuje návrat do rovnovážnej polohy vykreslením zelenej šípky so správnym natočením alebo maže údaje vysvietené na panely v prípade, že užívateľ doskou nepohol. ​ blokom (kurzorom => aktuálnym výberom). Pohyb kurzoru je nekonečný => ak prejde hráč "za okraj" kurzor sa objaví na protiľahlej strane. 
 ----- -----
 ===Generovanie labyrintu=== ===Generovanie labyrintu===
Řádek 252: Řádek 258:
 Pohyb mravca teda definujú premenné, predstavujúce polohu (poradie stĺpca, poradie riadka) a smer pohybu (enum direction_t <​sup>​*rovnaký ako v ovládaní</​sup>​). Ich kombináciou sa dá zistiť presná poloha mravca. Pohyb mravca teda definujú premenné, predstavujúce polohu (poradie stĺpca, poradie riadka) a smer pohybu (enum direction_t <​sup>​*rovnaký ako v ovládaní</​sup>​). Ich kombináciou sa dá zistiť presná poloha mravca.
  
-Vývojový diagram pohybu mravca v labyrinte je na obazku ​[[http://​www.urel.feec.vutbr.cz/​MPOA/​_detail/​2014/​ant-run/​f_ant_run.png?​id=2014%3Aant-run|Obr.11]].\\ +Vývojový diagram pohybu mravca v labyrinte je na obrázku ​[[http://​www.urel.feec.vutbr.cz/​MPOA/​_detail/​2014/​ant-run/​f_ant_run.png?​id=2014%3Aant-run|Obr.11]].\\ 
-Pre prvové ​určenie smeru pohybu (vpravo/​vľavo alebo hore/dole) sa využíva vlastnosť dátového typu enum, v ktorom jednotlivé prvky predstavujú na čísla od 0 ďalej.+Pre prvé určenie smeru pohybu (vpravo/​vľavo alebo hore/dole) sa využíva vlastnosť dátového typu enum, v ktorom jednotlivé prvky predstavujú na čísla od 0 ďalej.
 Vo vývojovom diagrame pokračuje vetvenie algoritmu testom na „1. typ pohybu“. Týmto pohybom sa myslí pohyb, keď mravec v predchádzajúcom kroku vošiel do tohto bloku (nezáleží pri tom z akej strany). V obrázku vyššie tento stav zobrazujú spodné dva bloky. ​ Vo vývojovom diagrame pokračuje vetvenie algoritmu testom na „1. typ pohybu“. Týmto pohybom sa myslí pohyb, keď mravec v predchádzajúcom kroku vošiel do tohto bloku (nezáleží pri tom z akej strany). V obrázku vyššie tento stav zobrazujú spodné dva bloky. ​
 Prioritný pohyb je vždy v rámci bloku, ak takýto pohyb nie je možný, zisťuje sa, či je možný pohyb smerom von z bloku. ​ Prioritný pohyb je vždy v rámci bloku, ak takýto pohyb nie je možný, zisťuje sa, či je možný pohyb smerom von z bloku. ​
 Pohyb von z bloku je možný iba v prípade, že je blok labyrintu, do ktorého mravec smeruje vhodne natočený. To sa zistí tak, že pixel kam mravec mieri je označený led_lab (blok labyrintu) a vedľajší pixel (na rozhraní aktuálneho a budúceho bloku) je označený ako led_free (voľný blok). Pohyb von z bloku je možný iba v prípade, že je blok labyrintu, do ktorého mravec smeruje vhodne natočený. To sa zistí tak, že pixel kam mravec mieri je označený led_lab (blok labyrintu) a vedľajší pixel (na rozhraní aktuálneho a budúceho bloku) je označený ako led_free (voľný blok).
-V prípade, že nie je možný ani pohyb v bloku, ani pohyb mimo bloku, hra končí. 
 Ak mravec opúšťa blok (algoritmus mu to dovolil), môžu nastať dva prípady prechodu do vedľajšieho bloku Ak mravec opúšťa blok (algoritmus mu to dovolil), môžu nastať dva prípady prechodu do vedľajšieho bloku
   * Štandardný prechod   * Štandardný prechod
Řádek 264: Řádek 269:
     * Predošlý blok sa označí za použitý     * Predošlý blok sa označí za použitý
     * Vygenerujú sa nové bloky labyrintu miesto použitých     * Vygenerujú sa nové bloky labyrintu miesto použitých
 +V prípade, že nie je možný ani pohyb v bloku, ani pohyb mimo bloku, hra končí.
  
 {{ :​2014:​ant-run:​f_ant_run.png | Obr. 11 - Algoritmus hľadania cesty bludiskom pre pohyb mravca}} {{ :​2014:​ant-run:​f_ant_run.png | Obr. 11 - Algoritmus hľadania cesty bludiskom pre pohyb mravca}}
 =====Video===== =====Video=====
 +Hra Ant Run, v úvode je stav TEST a demonštrácia ovládania. ​
 +
 +{{ youtube>​Z3XV8pjQB0Y?​medium }}
 +
 +Hra je v móde LEARN ktorý slúži na predstavenie hry (nehrá sa na skóre)
 +
 +{{ youtube>​373jtcEcwK0?​medium }}
 +
 +Podsvietenie dosky
 +
 +{{ youtube>​ak3MDlOqz-E?​medium }}
 +
 +Sekanie obrazu je spôsobené automatickým zaostrovaním môjho telefónu.
 =====Záver===== =====Záver=====
 +Cieľom projektu bola realizácia hry Ant Run na určenom hardware-ovom vybavení.
 +Hra funguje v dvoch módoch - vo výučbovom móde a v móde s počítaním skóre. Oba sú odtestované a fungujú, čo dokazuje aj priložené video.\\
 +
 +Celý zdrojový kód je uverejnený na stránkach mbed [[http://​developer.mbed.org/​users/​tomas_dca/​code/​MPOA_ant_run/​| MPOA_ant_run ]].
2014/ant-run.1421514260.txt.gz · Poslední úprava: 2015/01/17 18:04 autor: Tomáš Jankech