If you are lucky, the project might be hosted here: Fight Bots
NodeJS
pentru serverSocket.io
pentru comunicare server / frontendzerorpc.io
pentru comunicarea NodeJS / PythonPytorch
pentru MLElectronJS
pentru aplicatie desktop in nodejsKonvasJS
pentru rendare 2d in HTMLBazel
pentru C++ BuildGTest
pentru testare C++ProtocolBuffers
pentru comunicare / salvare dateAbseil.io
pentru functionalitati aditionale C++
Pentru instructiuni la cum sa contribui la proiect, consulta Development
stdin: starea jocului stdout: mutarea noastra
string PlayTurn(int player, string state) {
string ans = exec("Bot_nr#" + player + ".out", stdin = state);
return ans;
}
void Render(Sprite s) {
screen.display(s);
}
// Ce implementeaza cu adevarat evalul
int Eval() {
string state = "1234455";
player = 1;
while (true) {
string state_nou = PlayTurn(player, state);
if (state_nou_prost)
return 1 - player;
player = 1 - player;
Sprite s = ...
Render(s);
}
}
- Schelet al proiectului -- Evaluarea merge, exista frontend, backend, baza de date.
- Useri se pot loga cu google / fb / github / twitter.
- Exista o colectie de jocuri.
Un joc este constituit din:
- Un enunt -- descrierea jocului.
- Un grader -- program capabil sa decida castigatorul dintr-o multime de boti.
- Unul sau mai multi boti oficiali -- pe care utilizatorii trebuie sa ii bata pentru a castiga puncte.
- Pentru a lua puncte, utilizatorii trebuie sa bata (in ordine) botii oficiali.
- Exista un clasament.
Clasamentul exista pentru:
- Fiecare joc in parte, cu cei mai buni jucatori.
- Per toatal, cu userii cu cele mai multe puncte.
- Userii pot adauga probleme.
Trebuie sa trimita:
- Un titlu
- Un enunt
- Un grader
- O serie de boti (daca problema este cu mai multi jucatori)
- Se organizeaza campionate.
Organizarea:
- Se organizeaza o competitie (ca pe codeforces).
- Se anunta problema si cerintele.
- Se dau la dispozitia utilizatorilor cativa boti (sau niciunul) pe care isi pot testa submisia.
- Cand se termina competitia, se face cumva un clasament al jucatorilor facandu-i sa se bata intre ei.
- Reprezentare grafica a problemei. La trimiterea unei probleme, se poate opta pentru integrarea reprezentarii grafice.
- Se pot trimite surse si in alte limbaje (de ex python)