Comments (16)
@befeleme zkusím, mám doma poradce tak mě kdyžtak nakopne :-)
from roboprojekt.
Čaute, návrh níže. Otázníky jsou tam, kde si nejsem vůbec jistá tím řešením a uvítám komentář. Uvítám komentář i tam, kde otázníky nejsou. Názvy funkcí jsou pouze pracovní.
- moduly volají backend, ale backend nevolá žádný herní modul (vyhýbame se cyklickým importům, což je OK)
- bavili jsme se, že game zavola logiku, vykreslení a vykreslí vše - mne zatím připadalo, že hře stačí zavolat frontend a udělá, co má, takže nejspíš jsem na něco pozapomněla
- k modulu backend patří zpracování rotace a vrstev, frontend si musí poradit s jejich vykreslením.
- umím si trochu představit testování backendu, vůbec neumím frontendu
Kdo si vezmete na startost backend, frontend a (testy, hru)? Myslím si, že se může na tom pracovat do jisté míry souběžně (frontend může zatím načítat zkušební set dat), hra a testy až na konci.
BACKEND: backend.py (je to validní název souboru?)
import json
read_json_map(map_name)
returns: data
create_coordinates(map_width, map_height) # pocet policek
returns: list of tuples (x, y)
find_tiles_path(data, tj. tilesets) # sahnout do jsonu
returns: dictionary tile_id -> image path
create_board(list of tuples (x, y), list of tile effects) # tile effects = nas seznam z jsonu
returns dictionary tuple -> tile effect
FRONTEND frontend.py
import pyglet, backend
funkce:
draw_board(board_dictionary, tiles_path, window size)
returns: list of loaded sprites
pygleti on_draw??? patri to sem???
GAME game.py
import frontend, pyglet
pyglet.app.run() ???
TESTS tests.py
import pytest, backend
from roboprojekt.
Já si klidně zkusím vzít backend, můžu na tom pracovat zítra, v pátek a trochu v sobotu.
Chápu to správně, že jako výchozí nyní bereme kód od @befeleme, který se bude postupně vylepšovat?
from roboprojekt.
Chápu to správně, že jako výchozí nyní bereme kód od @befeleme, který se bude postupně vylepšovat?
Jo, ten by se měl postupně přepsat, a původní soubor se na konci smaže.
Backend - Anežka - udán :)
from roboprojekt.
bavili jsme se, že game zavola logiku, vykreslení a vykreslí vše - mne zatím připadalo, že hře stačí zavolat frontend a udělá, co má, takže nejspíš jsem na něco pozapomněla
Frontend by neměl umět načítat data (mapy ze souboru). Měl by je dostat už načtené. Hra tedy musí na to načtení zavolat backend.
umím si trochu představit testování backendu, vůbec neumím frontendu
Na frontend a hru (zatím) testy nepište.
GAME game.py
import backend, frontend, pyglet
board = backend.read_json_map(...)
… pygletí on_draw (které jen volá frontend)
pyglet.app.run()
Na testy je zvláštní issue; nechte je na sobotu/neděli.
from roboprojekt.
Ok, holky @MyshiczkaH, @hranka - ktera si vezmete na starost frontend?
from roboprojekt.
Dotaz - co preferujete? Všechny pracovní verze mám dávat průběžně sem, nebo sem mám hodit až nějakou, co bude vypadat co k čemu?
Příklad: Teď si zkopíruju Karolinin kód, odmažu z toho věci, co backend neřeší, udělám si do toho nějaké pracovní komentáře a pak budu muset práci přerušit a pokračovat třeba o den později. Chcete, abych sem hodila i tohle, nebo až nějakou smysluplnou rozpracovanou verzi?
from roboprojekt.
K rozdělaným pull requestům se dává zkratka "WIP" (Work in Progress). Někdy jako štítek, někdy se to dá do názvu (příklad). Ostatní pak můžou komentovat směr, kam se ubíráš, ale ví že to není hotové.
from roboprojekt.
@encukou, v pull requestu je backend v podobe, ktera prepisuje a trochu vylepsuje stav puvodniho souboru. Funkce jsou nadefinovane, ale se nevolaji. Je to tak ok? Muzeme tento soubor jiz zaclenit?
from roboprojekt.
Může! Zvlášť když je v něm napsáno že není hotový.
Bez začlenění by bylo těžké ty funkce volat odjinud :)
from roboprojekt.
@MyshiczkaH, diky za poslani frontendu + hry.
from roboprojekt.
Tests.py pribudou spolu s prvnimi testy od Zuzky.
from roboprojekt.
Přidala jsem je v PR #27
from roboprojekt.
Vše začleněno, děkuji.
from roboprojekt.
Pořád tu vidím původní skript.
from roboprojekt.
Tentokrat uz skutecne neni.
from roboprojekt.
Related Issues (20)
- Vypsani viteze nepocita s mapou jine velikosti nez 12 policek HOT 1
- Robot skonci mimo hraci plochu, ale klient si toho nevsimne HOT 1
- Roboti s 10 permanentnimi zranenimi MUSI umrit HOT 1
- Vyresit odpojeni klientu HOT 3
- Roboti stojí na sobě HOT 12
- Po zmenach interface roboti "vychazi" ze svych mist HOT 1
- V serveru nastavit počet hráčů HOT 4
- Uklidit složku maps/ + překreslit hrací políčka HOT 2
- Umožnit zahrání víc her na serveru
- Pokud se hráč odpojí poté, což potvrdil výběr karet - výběr se zruší
- Dopsat README.md
- Pokud nekdo vyhral, vyhlaseni viteze se odehrava po kazdem kole. HOT 4
- client_interface: Ukázat dole všechny roboty, včetně hráčova HOT 7
- Ukázat kolik má kdo vybraných karet
- Když chci umístit kartu na zablokované místo, tak interface "spadne" HOT 3
- Poslední tah se neprovede HOT 1
- Pás po posledním tahu se nepohne.
- Přidat obrázek robota na winner kartu ke jménu
- Označit vlajku, na které mají roboti start HOT 6
- Upravit barvy šipek
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from roboprojekt.