Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
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(). | ||