-
Notifications
You must be signed in to change notification settings - Fork 0
andreianghel/PA_Tron
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
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 0
No packages published