Comments (4)
První test je v #27
from roboprojekt.
def get_tiles(data):
"""
Return the complete list of tiles.
data: a dict created from decoded Tiled 1.2 JSON file
Get the list of all tiles from the list "data" within the list "layers".
"""
rotation_dict = {0:0, 10:90, 12:180, 6:270}
tilelist = {}
for layer in data['layers']:
tilelist_layer = []
for data in layer['data']:
real_tile = data & 0xFFFFFF
rotation_index = data >> (4*7)
rotation = rotation_dict[rotation_index]
tile = Tile(real_tile, rotation)
tilelist_layer.append(tile)
tilelist[layer['id']] = tilelist_layer
return tilelist
Divam se na tuto funkci a zjistuju, ze nevim, jak ji testovat.
Zaprve - dela strasne moc veci a pro ty testy mam chut ji rozkouskovat minimalne jeste na:
- get_decimal_id_from_hex(int) -> int (v desitkove soustave)
- get_decimal_rotation_from_hex(int) -> int (v desitkove soustave)
pak se zde vytvari objekty tridy Tile, ktere se pridaji do seznamu dane vrstvy, a ty pak do slovniku. Slovnik ma nasledne podobu, u ktere taky nevim, jak nadefinovat test, priklad nize:
{1: [<__main__.Tile object at 0x7ff32797f5c0>, <__main__.Tile object at 0x7ff32797f5f8>, <__main__.Tile object at 0x7ff32797f630>, <__main__.Tile object at 0x7ff32797f668>, <__main__.Tile object at 0x7ff32797f6a0>, <__main__.Tile object at 0x7ff32797f6d8>, <__main__.Tile object at 0x7ff32797f710>]}
Any ideas? @encukou, @zstankova ?
from roboprojekt.
Začni těma dvěma menšíma funkcema.
Výsledek se dá testovat tak, že zkontroluješ např. tilelist[1].rotation == 0
. (V úterý k tomu pak můžu říct víc, dej to na agendu.)
from roboprojekt.
get_decimal_id_from_hex(int) -> int (v desitkove soustave)
Číslo samo o sobě není v nějaké soustavě, jen se tak dá zapsat. 16
a 0x10
je ta samá hodnota, jen jinak zapsaná. Podobně jako „modrý robot“ a „Ivetin robot“ jsou jen jiné popisy téhož.
Lepší názvy funkcí by byly get_tile_id
a get_tile_rotation
.
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.