eugen01 / Tema3

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Student : Ionescu Eugen-Andrei
Grupa : 332CA


		Tema 3 - EGC

================================================================================

	1.Descrierea Temei

 Am pornit de la rezolvarea laboratorului 5 , urmarind implementarea folosita pt
camera.
 
 Am decis sa folosesc fisiere separate pentru cele 3 camere propuse 
(Camera_top,Camera_FPS si Camera_TPS).

 Labirintul este construit conform fisierului in.txt ; 

 La final este afisat Mesajul din message.txt folosind cuburi.
 Mesajul este generat folosind  :

	Text to ASCII generator: 

	http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something



================================================================================

	2.Rezolvarea Temei

La inceput se citeste labirintul din fisierul in.txt.
(in directorul "Exemple labirint" se gasesc cateva variante.)

fisierul are urmatorul format:
	
	- Pe prima linie:  numar_linii numar_coloane
	
	- Pe urmatoarele linii se gaseste labirintul :

	caracterul '*' = perete (cub)
	caracterul '@' = portalul
	caracterul '$' = eroul


Miscarea personajului:

	Translatiile eroului sunt similare cu cele ale unei camere FPS.
	(conform formulelor din laborator)

	Pentru acesta sunt folositi vectorii hero_forward, hero_right si hero_up.

	Eroul se poate deplasa inainte si inapoi (cu directia hero_forward) , 
	sau stanga dreapta(cu directia hero_right).

	Rotatia in jurul axei OY se face impreuna cu rotatia camerelor FPS si TPS.


Camera top-down:

	Acesta camera este statica , si "priveste" in jos spre centrul labirintului;

Camera FPS :

	Aceasta camera executa aceleasi translatii si rotatii pe care le face eroul.
	(conform formulelor din laborator)

	Astfel vectorul forward este directia inainte a eroului , vectorul right
	este la dreapta eroului si vectorul up este mereu acelasi :(0,1,0);
	
	Camera poate fi rotita in jurul axei OY.	

	In partea de jos este vizibil varful conului care indica directia.

Camera TPS : 

	Camera TPS se afla in spatele eroului , si putin deasupra.

	Translatile camerei sunt executate in functie de vectorii dreapta si inainte
	ai personajului  ,  nu de cei ai camerei.

	Directia in care priveste camera este in fata , si putin in jos.
	
	Camera se roteste in jurul axei OY o data cu eroul si camera FPS.

	Aceasta se mai poate roti si in jurul axelor OX si OZ;

	In cazul rotatiei in jurul axei OZ camera ramane centrata in spatele eroului.


================================================================================

	3.Controlul Jocului


Tastele : 

^    |
|w,  V s  - provoaca translatiile inainte si inapoi conform directiei forward


<- a si  -> d  - executa rotirea camerelor si a eroului in jurul axei OY

<- z si  -> c  - executa translatia stanga dreapta a camerelor si personajului.


^    |
|i,  V k  - determina rotatia camerei TPS in jurul axei OX

<- j si  -> l  - determina rotatia camerei TPS in jurul axei OZ


================================================================================

About


Languages

Language:C 66.0%Language:C++ 34.0%