Update 'final/README.md'

This commit is contained in:
Anzhelika Nikolaieva 2023-05-28 19:19:47 +00:00
parent 0a57515cfc
commit 4ab28c8459

View File

@ -1,72 +1,41 @@
# World Game Library
# Dinosaurus z google (disco)
Learn asycnronous C programming by a game.
Kedysi dávno, v odľahlej časti internetu, žil malý dinosaurus menom Douglas. Douglas bol vytvorený vývojovým tímom v Google ako veľkonočné vajíčko pre webový prehliadač Chrome. Išlo o jednoduchú ilustráciu dinosaura, ktorý sa objaví na obrazovke, keď používateľ stratí internetové pripojenie.
The library implements a game loop for a character-based ncurses game;
Na začiatku bol Douglas osamelý a nudný dinosaurus. Svoje dni trávil len tak, že stál na jednom mieste a čakal na obnovenie sieťového pripojenia. Postupom času sa však vývojári rozhodli pridať do jeho života trochu zábavy...
The library finds out the event types:
- start and end
- mouse events
- keyboard events
- screen resize events
It can print colors and arbitrary characters on the screen.
Running is interrupted when character is drawn out of the screen.
## Installation and Running
Make sure, that `ncurses` is installed.
Pomocou príkazu make môžete jednoducho skompilovať všetky herné súbory, pretože súbor Makefile sa používa na proces kompilácie kódu.
Clone this repository.
Compile:
Kompilácia:
```c
make
```
Run:
Spustenie:
```c
./game
```
## Make your own game
## Návod ako hru hrať a za akých podmienok sa hra končí
Táto hra je jednoduchá arkádová hra, v ktorej ovládate dinosaura a vyhýbate sa prekážkam.
The game happens in a rectangular world of colorful characters.
Your goal as a programmer is to modify the world according to the pressed keys and the internal game state.
The library implements the game loop and draws the world to screen.
Na spustenie hry budete musieť skompilovať a spustiť tento kód pomocou knižnice curses. Po spustení sa hra zobrazí na obrazovke.
Your game in file `game.c` consists of two functions:
Vašou úlohou je ovládať dinosaura tak, aby sa nezrazil s prekážkami. Prekážkami sú kaktusy. Dinosaurus sa ovláda pomocou kláves na klávesnici. Na skok použite kláves „↑“ alebo šípku hore.
- `void* init_game()` is called in the beginning. Here you can initialize the internal state of the game.
The function should return a pointer to an instance of the initial game state `game`.
- `int game_event(struct event* event,void* game)`
is called by the game loop in periodic interval or when a key was pressed. Non-zero return value or `Ctrl+C` key interrupts the game loop.
Hra má dve úrovne obtiažnosti. Prvá úroveň je počiatočná úroveň a druhá úroveň je dostupná po prejdení prvej úrovne. Ak sa dinosaurus zrazí s kaktusom, hra sa skončí a na obrazovke sa objaví správa „OOOOPS, YOU LOSE“ (Oh, you lost). Počas hry sa vaše skóre bude zobrazovať v hornej časti obrazovky. Za každú prekonanú prekážku získate určitý počet bodov. Na prvej úrovni získate 10 bodov za každú prekážku, na druhej úrovni získate 15 bodov. Ak chcete hru ukončiť, stlačte kláves „Esc“. Toto ukončí hernú slučku a ukončí hru.
The world variable represents state of two-dimensional grid of characters on the screen. The screen matrix looks like this:
Prečo sa dinosaurovi v hre hovorí „disco“, sa dozviete už počas hry;)
```
origin
[0,0] width
+--------------------+
h | |
e | |
i | |
g | |
h | |
t | |
+--------------------+
```
Teraz ste pripravení hrať túto arkádovú hru! Ovládajte dinosaura, vyhýbajte sa prekážkam a získajte maximálne skóre. Veľa štastia!
The world has the following parameters:
- `int height`: y-dimension of the grid.
- `int width`: x-dimension of the grid.
- `int interval`: maximum time between steps in milliseconds.
### The Event Function
## Funkcie hry
The `int game_event(struct event* event,void* game)`
function should: