úkol programování – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

úkol programování – Pascal – Fórum – Programujte.comúkol programování – Pascal – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Radek08
~ Anonymní uživatel
1 příspěvek
18. 2. 2016   #1
-
0
-

Zdravím, potřeboval bych pomoct s úkolem do programování jelikož nejsem schopen složit zroják z tohodle zadání :D

Hra-Had

Had se bude skládat z 15 hvězdiček. Hlava bude vykreslena jinou barvou než tělo. Půjde s ním pohybovat tebou zvolenými klávesmai nahoru, dolů, vlevo, vpravo.

pokud se had zakousne sám do sebe, hra končí.

Nástin řešení:

souřadnice dílků hada si ulož do dvourozměrného pole(indexy např. 1 až 15, x až y). Při pohybu nejprve na souřadnice patnáctého dílku na obrazovku vypíšeš mezeru, pak v poli souřadnice ze sloupce 14 dáš na 15, z 13 na 14 atd... až z 1 na 2. Dle stisknuté klávesy vypočítáš ze starých souřadnic hlavy hada nové souřadnice hlavy hada a dáš je do sloupce 1.

vykreslíš hada.

vezmeš souřadnice hlavy a projdeš pole, jestli se v něm nevyskytují tytéž souřadnice. Pokud ano, had se do sebe tudíž zakousl a hra končí.

Nahlásit jako SPAM
IP: 85.93.104.–
Reklama
Reklama
peter
~ Anonymní uživatel
2533 příspěvků
18. 2. 2016   #2
-
0
-

No? A v cem je problem?
Rozdel si to na jednotlive mensi ukoly.
- Treba, prvni si udelej jen program, ktery cte klavesy a vypise cislo zmackle klavesy.
- Pak si udelej program, ktery vykresluje na obrazovku hada podle toho, co mas v tom dvourozmernem poli. (slo by pouzit i jednorozmerne pole a prepocitat souranice pres z = y * maxx + x; cili treba sirka obrazovky je 80 znaku = max, z=321; y = floor(z / maxx); x = z - y * maxx)
- A pak to propojis :)

Nahlásit jako SPAM
IP: 2001:718:2601:26c:24ec:e0...–
hlucheucho+10
Posthunter
18. 2. 2016   #3
-
0
-

Tak malé popostrčení: Představ si hada dlouhého 15 "článků" (= znaků)

Jak uložit hrací pole a hada do paměti počítače
Použij dvourozměrné pole int, první index jako index řádku, druhý jako index sloupce. Prvky pole (= políčka hracího pole), kde had nemá žádnou část těla naplň číslem 0, části těla očísluj od hlavičky (číslo 1) po ocásek (číslo 15 pokud je had dlouhý 15 znaků).

Pohyb hada, jak poznat že se had kousnul
Projdeš pole po jednotlivých prvcích (dva vnořené cykly). Podle hodnoty prvku pole provedeš akci:
- prvek má hodnotu 0, je to okolí hada, hodnota prvku pole se nemění
- prvek má hodnotu 15, je to ocásek, hodnotu prvku změníš na 0 (ocásek opustil políčko a je tam volno)
- prvek má hodnotu 1, je to stávající poloha hlavičky, zapamatuješ si indexy prvku pole jako původní polohu hlavičky a hodnotu prvku zvýšíš o 1 (had se pohnul, kde měl hlavičku má tělo)
- prvek má jinou nenulovou hodnotu, je to tělíčko hada, hodnotu prvku zvýšíš o 1
Potom stanovíš novou polohu hlavičku, použiješ při tom původní polohu hlavičky. Budeš pamatovat na to, že hrací pole má souřadnice 0,0 v levém horním rohu. Pohyb hada nahoru tedy znamená snižovat index řádku:
- pohyb hada vlevo = index sloupce snížíš o jedničku
- pohyb hada vpravo = index sloupce zvýšíš o jedničku
- pohyb hada nahoru = index řádku snížíš o jedničku
- pohyb hada dolů = index řádku zvýšíš o jedničku
hlavičku však zatím nezapíšeš do pole a otestuješ, jestli se had kousl takto:
- prvek pole kde má být nová hlavička, obsahuje 0. Vše je OK, můžeš volit zelenou barvu pro hlavičku a hráči počítat body
- prvek pole obsahuje nenulovou hodnotu, had se kousnul a hra skončila, můžeš zvolit červenou barvu pro hlavičku a hráče informovat o dosaženém počtu bodů. Teprve nyní vykreslíš hlavičku.

Ovládací klávesy bych asi zvolil čísla, na klávesnici Num Lock čísla 2, 4, 6, 8 mají na sobě šipky.

hu

Nahlásit jako SPAM
IP: 193.86.81.–
hlucheucho+10
Posthunter
18. 2. 2016   #4
-
0
-

Pozn.: po chvíli příjdeš na to, že by had neměl vylézt z hracího pole. Upozorní tě na to chyba při prvním pokusu o zápis mimo pole.

hu

Nahlásit jako SPAM
IP: 193.86.81.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 16 hostů

Podobná vlákna

Ukol — založil joskoo

Ukol — založil Dalibor

úkol — založil mmm

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý