|
|
# Cvičenie 2
|
|
|
|
|
|
## 1.0
|
|
|
## 1.0 Setting up the project
|
|
|
|
|
|
Vytvorte si nový projekt: .NET Core console application
|
|
|
|
... | ... | @@ -20,7 +20,7 @@ Pre tento predmet bol pridaný vlastný balíčkovací server, kde bude dostupn |
|
|
4. V pravom hornom rohu si nastavte package source na `Hades` alebo `all` (odporúčam all pre prípad zabudnutia)
|
|
|
5. Nájdite si balíček Merlin2d a nainštalujte
|
|
|
|
|
|
## 1.1
|
|
|
## 1.1 Setting up the project, part 2
|
|
|
|
|
|
Obdobne ako v C, každý program v C# musí mať definovaný vsupný bod (main funkcia). Štandardne je to funkcia `static void Main(string[])` v triede `Program` (dá sa to zmeniť v nastaveniach projektu).
|
|
|
|
... | ... | @@ -62,11 +62,13 @@ Ak ste postupovali správne, zobrazilo sa vám po spustení čierne okno. |
|
|
|
|
|
## 1.2 A brave new world
|
|
|
|
|
|
Stiahnite si balíček s mapou a textúrami a rozbaľte si ho do priečinka s projektom, nech výsledná cesta vyzerá nasledovne:
|
|
|
Stiahnite si balíček s mapou a textúrami [resources.zip](https://drive.google.com/file/d/1Pa87h0DEtAXdkILPhEos0EOYEOtmrlnS/view?usp=sharing)
|
|
|
|
|
|
Rozbaľte si ho do priečinka s projektom, nech výsledná cesta vyzerá nasledovne:
|
|
|
|
|
|
`projectFolder/resources`
|
|
|
|
|
|
ADD TO PROJECT
|
|
|
Teraz si vo VS v okienku `Solution Explorer` vyznačte všetky súbory, ktoré ste práve pridali a v záložke `properties` nastavte `copy to output directory` na `always`. Je to trošku nepraktické a vhodnejšie by bolo, keby sa dal označiť celý priečinok, ale akosi na to tvorcovia VS zabudli.
|
|
|
|
|
|
Teraz už budeme môcť načítať mapu -> pridajte si do `Main` nasledujúci kód (na miesto, kde je v komentári napísaná inicializácia):
|
|
|
|
... | ... | @@ -230,6 +232,13 @@ if (someObject != null) |
|
|
}
|
|
|
```
|
|
|
|
|
|
Ak toto neskontrolujete a kotlík nastavený nebol, tak program spadne.
|
|
|
Ak toto neskontrolujete a kotlík nastavený nebol, program spadne.
|
|
|
|
|
|
Vyskúšajte, či všetko funguje - v `Main` pridajte pec, nastavte jej kotlík a sledujte ako sa zohrieva. Ak ste postupovali správne, mal by po nejakom čase vykypieť.
|
|
|
|
|
|
Pridajte do `Stove` dve funkcie: `public void AddWood()` a `public void RemoveWood()` a pridajte k nim zodpovedajúcu funkcionalitu:
|
|
|
|
|
|
- nech každné polienko zohrieva kotlík o 1°C za sekundu
|
|
|
- nech v peci môže byť 0-3 polená
|
|
|
- ak v peci nie je žiadne poleno, zmeňte animáciu na `stove_cold.png`, ak sa pridá poleno, zmeňte animáciu späť
|
|
|
- predpokladajme, že pec zatiaľ horí stále, keď má drevo (zmeníme to neskôr) |