Różnice
Różnice między wybraną wersją a wersją aktualną.
Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:prolog:prolog_lab:reprezentacja_wiedzy [2014/04/01 13:35] msl [Prostopadłościan] -> [Tetris] |
pl:prolog:prolog_lab:reprezentacja_wiedzy [2019/06/27 15:50] (aktualna) |
Proszę przeanalizować poniższe problemy, w miarę czasu i możliwości. | Proszę przeanalizować poniższe problemy, w miarę czasu i możliwości. |
| |
==== Tetris ==== | ==== Minecraft ==== |
Zastanówmy się nad próbą implementacji prostej gry typu Tetris. Zaczniemy od rysowania prostopadłościanu. Proszę uruchomić program {{:pl:prolog:prolog_lab:cuboid.pl|}} (wymagane XPCE) i przeanalizować jego działanie. | Zastanówmy się nad próbą implementacji prostej gry typu [[http://pl.wikipedia.org/wiki/Minecraft|Minecraft]]. Kluczowym elementem gry jest silnik wokselowy, który odpowiada za renderowania ogromnego świata przy użyciu prostych klocków zwanych [[http://pl.wikipedia.org/wiki/Woksel|wokselami]]. Zaczniemy od rysowania przykładowego woksela. Proszę uruchomić program {{:pl:prolog:prolog_lab:cuboid.pl|}} (wymagane XPCE) i przeanalizować jego działanie. |
| |
<code prolog> | <code prolog> |
?- cuboid(2,3,4). | ?- cuboid(2,2,2). |
</code> | </code> |
| |
</code> | </code> |
| |
Mając te dwa elemnt należy spróbować zaimplementować prosty pseudotrójwymiarowy wariant gry {{http://pl.wikipedia.org/wiki/Tetris|Tetris}} lub jej sławną trójwymiarową (i polską!) wariację {{http://pl.wikipedia.org/wiki/Blockout|Blockout}}. | Zadania: |
| - Przerobić predykat ''cuboid'' tak, żeby można było sprecyzować jego pozycję w przestrzeni |
| - Napisać predykat ''cuboids'', który przyjmuje listę współrzędnych i rysuje w nich sześciany o zadanej długości boku |
| - Przy pomocy predykatu ''cuboids'' należy zamodelować [[http://i.ytimg.com/vi/u1bX8kEy0pg/maxresdefault.jpg?|złożony obiekt ze świata Minecraft]] |
| - Bazując na kodzie z ''animation.pl'' należy wprawić krowę w ruch sinusoidalny, imitujący [[https://www.youtube.com/watch?v=QH2-TGUlwu4|kota z filmu]] |
| - [Dla odważnych] dodać do animacji [[https://archive.org/details/nyannyannyan|dźwięk]] podobny do tego z [[https://www.youtube.com/watch?v=QH2-TGUlwu4|filmu]] |
| |
| Pytania: |
| - Czy rozsądne jest rysowanie wszystkich klocków? Jak wykryć, które klocki są widoczne z perspektywy gracza? Pomocny może okazać się [[http://et1337.com/2015/02/18/the-poor-mans-voxel-engine/#|link]] |
| - Czy możliwe jest zrobienie w podobny sposób imitacji poniższego [[http://goo.gl/YroZm|filmu]]? |
==== Zaawansowana Mapa ==== | ==== Zaawansowana Mapa ==== |
| |