tuxgo/TODO
Wojtek Porczyk c4e545555b Initial commit
Version demonstrated on 37 Chaos Communication Congress (37c3),
sans badges, which will be committed after the Congress.
2023-12-25 17:34:16 +01:00

71 lines
2.6 KiB
Text
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

- WSGI serwer z werkzeug owinięty w multiprocessing:
https://github.com/pallets/werkzeug/issues/1752#issuecomment-655600254
(albo concurrent.futures?)
- rożne formaty plików:
- po prostu zdjęcie
- zdjęcie z już rozpoznanym programem, może gdzieś w exifie?
- program (tekst)
- po prostu level
- trzeba, żeby format mapy uwzględniał początkową rotację robota i bobrów
- robot powinien umieć wystartować ze wzniesinia
- level z programem (demo -- program byc może nieskończony)
mniej-więcej z
' ' otchłań (ABYSS)
'.' podłoga (FLOOR or EMPTY)
':' wzniesienie (ELEVATED)
'#' przeszkoda (WALL)
'<v^>' pasy transmisyjne
'~' woda (WATER)
'@' robot (na podłodze)
'br' bobry (w wodzie)
'BR' bobry z robotem na głowie (w wodzie)
'?' lampa (zgaszona)
'!' lampa zapalona
- przemyśleć terminologię i nazewnictwo zmiennych:
- „blok”, ang. „block” -> blok kodu, termin w program
- „plansza” ang. „board” -> bloczki poukładane (i zrobione zdjęcie)
- „kafelek”, ang. „tile” -> element wirtualnej podłogi
- „bloczek”, ang. „piece” -> tekturowy element z gry
- „token”, ang. „token” -> polecenie (informatyczne) zawarte na kafelku (kilka
bloczków różniących się markerami może reprezentować ten sam token)
- „robot” czy „hero” czy „player”?
- mapa/plansza/level/zadanie/ćwiczenie
- przemyśleć zadania i ćwiczenia:
- ZADANIE 1: układanie programu
- ZADANIE 2: poruszanie się po planszy
- ZADANIE 3: pętla for
- ZADANIE : pętla while
- ZADANIE : instrukcja warunkowa
- adaptacja kafelków do bloczków ze Scottie Go:
- czerwony i niebieski bóbr: czerwony i niebieski kafelek, który robi za windę
(co z obracaniem? użyć pasów transmisyjnych, żeby był kierunek?)
- fioletowe kafelki: pomalowane przez RYSUJ
- żółty bóbr -> ?
- ? -> breakpoint
- różne pomysły na niekoniecznie kompatybilne rozszerzenia:
- sokoban (są do tego sprite'y!)
- obrót co 30° (albo nawet 15°), żeby można było rysować pod kątem, nie tylko
prostopadle
- parametr do obrotu (może być opcjonalny)
- opcjonalny parametr do kroku (default 1?)
- możliwość nadpisywania zmiennych (Scottie Go rzuca błedem, jeśli się próbuje
drugi raz przypisać do zmiennej)
- zmienne lokalne? nie do końca rozumiem po co
- code quality / project management:
- pozbyć się contains_point z matplotliba, jeśli się znajdzie lepsze narzędzie
- zrobić plik konfiguracyjny:
- MAC robota
- badże
- znaleźć lepszy font, który będzie wspierał pliterki
vim: tw=80 ts=2 sts=2 sw=2 et