8000 GitHub - andreianghel/PA_Tron: PA_Proiect_Tron
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

andreianghel/PA_Tron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

Echipa DFTBA, 325CB.


	-am creat un repository privat pe GitHub: https://github.com/arhangel6/PA_Tron 
(pt adaugare la collaborators: andrei.anghel@cti.pub.ro, sau mesaj pe cs.curs.pub.ro); 
	-in principiu va fi folosit doar ca back-up si doar push/commit de pe un cont, 
deoarece nu consideram necesar, deocamdata, folosirea lui (discutam intre noi, pt a ne 
decide asupra algoritmului si scriem un singur cod; trimitem fisiere pe mail sau direct
, prin stick USB);
	-ca mediu de dezvoltare am folosit Eclipse, dar am inclus un Makefile, cum se cerea
in regulament;

Clase: 
	-Solution: singura clasa ce contine metode pentru stabilirea urmatoarei mutari; 
	contine si main unde se prelucreaza intrarile si se transmite la iesire urm mutare;


ETAPA 1:
	-main se va ocupa cu prelucrarea stdin si stdout;
	
	-botul va incerca sa supravietuiasca o perioada cat mai mare , incearca sa 
	acopere o suprafata cat mai mare si are in vedere o mutare in viitor sa nu 
	ajunga intr-o fundatura (complet inconjurat de ziduri); 
	-strategia de supravietuire e realizata analizand nr. de "ziduri" de care 
	ar fi inconjurata urmatoarea mutare, cat si de distanta maxima care se poate 
	parcurge in aceea directie;
	-botul trece de etapa 1, dar algoritmul nu tine cont de adversar, convenabil 
	pt momentul in care cei doi jucatori se vor separa si vor trebui sa umple 
	eficient spatiul ramas => survival mode;
	-algoritmul e un fel de greedy+un pas in viitor;

	-link pe hackerrank: https://www.hackerrank.com/bucharest-tron/submissions/game/605223
	-user pe hackerrank: https://www.hackerrank.com/_DFTBA_
	-am invins Random si explorer, botii corespunzatori etapei curente;

	-complexitate: 
		+majoriatea metodelor se bazeaza/folosesc metoda youShallNotPass,
	(se realizeaza in O(1)), fie parcurg si acceseaza elemente din matrice;
		+algoritmul e foarte "light" din punct de vedere al timpului si a
	memoriei folosite si va rula in "worst case" in O(N) (unde N va fi 
	max(lungimeTeren, latimeTeren));

	-surse: 
		+inspiratie: proprie echipei;
		+cod: nu am folosit nimic extern pt aceasta etapa;

			
	TODO: (idei pt etapa2)
	-de adaugat hunt mode - corespunde inceputul jocului, in care trebuie sa
	ii "tai" din suprafata adversarului;
	-incercam sa ii minimizam zona adversarului (pt atunci cand ajungem in survival);
	-indreptarea spre el; folosind o functie de stare ce calculeaza matricea in 
	functie de locurile ce pot accesate de jucator inaintea celuilalt?
	-implementarea minmax efectiva folosind functia propusa mai sus;


ETAPA 2:
	-am schimbat modul de reprezentare interna al arenei, am optat pt o matrice
	de Points, fiecare punct retinand un char (stadiul celulei: zid, red, green, liber);
	-am creat de asemenea o clasa special pt arena, clasa Board va contine o matrice de 
	puncte cat si informatii necesare alegerii strategiei: nr de celule libere si celule
	ocupate;
	-am plecat de la ideea de a implementa modul hunt, am calculat cand trebuie sa inceapa
	si cand trebuie sa se termine;
	-cand botul nostru este la o distanta suficient de mare si arena este relativ libera, 
	incercam sa taiem spatiul, indreptandu-ne spre el;
	-in modul hunt am dorit sa cautam cea mai scurta cale spre adversar si sa facem mutarea
	in directia respectiva;
	-am intampinat probleme de implementare astfel ca am decis sa alegem directia 
	calculand direct distanta euclidiana;

	-complexitate:
		+in principiu a ramas la fel, daca am fi implementat cautarea celei mai scurte cai ar fi 
		crescut;

	-surse:
		+inspiratie: http://gangles.ca/2008/03/28/cs-games-ai-competition-part-3/
		+cod: nu.

	-contributia echipei:
		+partea corespunzatoare etapei curente s-a creat in comun (in sensul ca ne-am pus toti,
		laptop langa laptop si am codat, scris, dezbatut idei - intr-o fereastra din orar);
		
	-meciuri cu stage2bot:
		+site-ul a mers groaznic, dar de aceasta data am reusit sa obtinem link-uri: 
		+link pe hackerrank: https://www.hackerrank.com/contests/bucharest-tron/submissions/game/635071
		+am reusit doar o victorie si 5 meciuri egale (la overall apareau 6 draw, dar lipseste un meci
		sau nu stim);

		+victorii:  https://www.hackerrank.com/showgame/2299735

		+egaluri:   https://www.hackerrank.com/showgame/2299726
					https://www.hackerrank.com/showgame/2299731
					https://www.hackerrank.com/showgame/2299734
					https://www.hackerrank.com/showgame/2299736
					https://www.hackerrank.com/showgame/2299737

	

	in plus: noi am prins la etapa 1 cu 8 meciuri; botul pt etapa 2 bate de asemenea ce trebuia sa bata 
	la etapa 1, astfel ramane consistent -> 16 meciuri;
	+se vor lua in considerare meciuri initiale, dar strict pt a face dovada ca functioneaza:
		*pt random (incep de la meciul acesta): https://www.hackerrank.com/showgame/2300184
		*pt explorer: https://www.hackerrank.com/showgame/2300204


		

ETAPA 3:
//To be added

About

PA_Proiect_Tron

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0