Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2016:brick-game

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
2016:brick-game [2017/01/13 16:58]
Viktor Typovský [Kolize]
2016:brick-game [2017/01/13 17:49] (aktuální)
Viktor Typovský
Řádek 198: Řádek 198:
 <code cpp> <code cpp>
 void Kolize(void) void Kolize(void)
-{ + 
-    ​+
     if (poleZeleny[4][poloha] == poleCerveny[4][poloha] || poleZeleny[6][poloha] == poleCerveny[6][poloha])     if (poleZeleny[4][poloha] == poleCerveny[4][poloha] || poleZeleny[6][poloha] == poleCerveny[6][poloha])
     {     {
Řádek 228: Řádek 227:
 ==== Reset ==== ==== Reset ====
 Z názvu funkce vyplývá, že tato funkce má na starost restart a reinicializaci počátečních podmínek a hodnot. Nejprve však celou RG LED matici vybarví na 2s do červena a následně provede reinicializaci a zruší zmražení všech pohybů. Z názvu funkce vyplývá, že tato funkce má na starost restart a reinicializaci počátečních podmínek a hodnot. Nejprve však celou RG LED matici vybarví na 2s do červena a následně provede reinicializaci a zruší zmražení všech pohybů.
 +
 +<code cpp>
 +void Reset(void)
 +
 +//---na 2s se zobrazí pouze červené LED na celé ploše matice---// ​   ​
 +    for(col = 0; col < 8; col++)
 +    {
 +        for(row = 0; row < 8; row++)
 +        {
 +            poleZeleny[row][col]=0;​
 +            poleCerveny[row][col]=1; ​
 +        }
 +    } 
 +    wait(2);
 +    ​
 +//​--------proběhne resetovací fáze--------//​
 +//zhasnutí celé LED matice
 +    for(col = 0; col < 8; col++)
 +    {
 +        for(row = 0; row < 8; row++)
 +        {
 +            poleCerveny[row][col]=0; ​
 +        }
 +    } 
 +//​re-inicializace ​   ​
 +    Inicializace();​
 +    pocitadlo = 0;
 +    rowAuto = 0;
 +    poloha =4;
 +    ​
 +//zrušení zmražení všech pohybů ​  
 +    tick.attach(&​SvodidlaPohyb,​ 1);
 +    tick2.attach(&​AutaPohyb,​ 0.25);
 +}
 +</​code>​
 +
 +====== Video ======
 +Aby nedošlo k jisté mistifikaci,​ chtěl bych podotknout, že hra ve videu začíná od restartu (červená plocha na počátku), z čehož je patrná následná reinicializace a opětovné spuštění hry.
 +
 +{{youtube>​gO0bwEQUUOA?​medium}}
 +
 +====== Závěr ======
 +Cílem tohoto projektu bylo zrealizovat hru z jednoho kdysi populárního herního zařízení pomocí RG LED 8x8 matice a vývojové desky FRDM KL25Z. ​ Zadání se podařilo splnit v plném požadovaném rozsahu. Byla využita barevnost matice. Ovládání bylo zrealizované pomocí akcelerometru.\\ ​
 +Hra je poměrně jednoduchá na ovládání a celkový chod programu byl vyladěn, aby nedošlo k nějakým zásadním chybám. Šlo by však uvažovat o následujících modifikacích. Hra je aktuálně jednoúrovňová,​ což znamená, že auta počítače se pohybují konstantní rychlostí. Bylo by však možné tuto rychlost měnit například pomocí slideru, který je zakomponován v desce KL25Z. Také by šlo nahradit psedonáhodnou binární sekvenci přímo generováním náhodných jedniček a nul pomocí funkce rand(). ​
  
2016/brick-game.1484323112.txt.gz · Poslední úprava: 2017/01/13 16:58 autor: Viktor Typovský