Restructure READMEs etc
This commit is contained in:
44
src/main/dist/CSV-CHANGES.md
vendored
Normal file
44
src/main/dist/CSV-CHANGES.md
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
# Auftragsdateien
|
||||
## Änderungen an der CSV-Datei
|
||||
Die folgenden Änderungen habe ich an der CSV-Datei vorgenommen. Mittels des Python-3-Skripts `csv-changer.py` können diese Änderungen auch schnell durchgeführt werden.
|
||||
|
||||
- Die erste Zeile (Überschriften) entfällt
|
||||
- Die erste Spalte (Ids) entfällt
|
||||
- Die Begriffe werden ins Englische übersetzt und kleingeschrieben:
|
||||
- `Auslagerung` -> `out`
|
||||
- `Einlagerung` -> `in`
|
||||
- `Papier` -> `paper`
|
||||
- `Holz` -> `wood`
|
||||
- `Stein` -> `stone`
|
||||
- `Weiß` -> `white`
|
||||
- `Blau` -> `blue`
|
||||
- `Grün` -> `green`
|
||||
- `A3` -> `a3`
|
||||
- `A4` -> `a4`
|
||||
- `A5` -> `a5`
|
||||
- `Buche` -> `beech`
|
||||
- `Kiefer` -> `pine`
|
||||
- `Eiche` -> `oak`
|
||||
- `Bretter` -> `boards`
|
||||
- `Balken` -> `beams`
|
||||
- `Scheit` -> `pieces`
|
||||
- `Marmor` -> `marble`
|
||||
- `Granit` -> `granite`
|
||||
- `Sandstein` -> `sandstone`
|
||||
- `Leicht` -> `light`
|
||||
- `Mittel` -> `medium`
|
||||
- `Schwer` -> `heavy`
|
||||
- Folgende Spaltensortierung wird vorgenommen:
|
||||
1. `in`/`out`
|
||||
2. Produkttyp
|
||||
3. Belohnung
|
||||
4. Eigenschaft 1
|
||||
5. Eigenschaft 2
|
||||
- Abgespeichert wird mit Kommas statt Semikolons
|
||||
|
||||
## Begründungen
|
||||
- Die Überschriften sind nicht nötig
|
||||
- Die Ids würden beim Einlesen sowieso entfallen
|
||||
- Durch die Übersetzung ins Englische lösen sich Probleme mit den Sonderzeichen und die Begriffe können später einheitlich in den Übersetzungsdateien übersetzt werden.
|
||||
- Diese Umsortierung wurde speziell vorgenommen um zu ermöglichen, dass noch weitere Attribute eingelesen werden können
|
||||
- Kommas statt Semikolons damit es eine "richtige" CSV-Datei
|
||||
42
src/main/dist/README.md
vendored
Normal file
42
src/main/dist/README.md
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
# What A Storage
|
||||
## Ausführen
|
||||
Zum Ausführen im `bin`-Ordner die `what-a-storage.bat` starten.
|
||||
|
||||
## Quellcode
|
||||
Der Quellcode ist im Unterordner `sources` verfügbar. Außerdem ist das git-Repository [hier](https://gitea.siphalor.de/Siphalor/what-a-storage) abrufbar.
|
||||
|
||||
## Funktionsanleitung
|
||||
### Spielstart
|
||||
Nach dem Start stehen die verschiedenen Auftragsdateien zur Verfügung. `Normal` ist hierbei die, wie in `CSV-CHANGES.md` angegeben, konvertierte Datei `Leistungsnachweis.csv`.
|
||||
|
||||
### Die Oberfläche
|
||||
In der oberen Leiste ist der aktuelle Kontostand ("Budget") sichtbar. Außerdem lassen sich über die Knöpfe in der Leiste die Bilanz und die Optionen öffnen und das Spiel kann abgebrochen werden (Rückkehr zum Hauptmenü).
|
||||
|
||||
### Das Lager
|
||||
Im rechten Bereich befindet sich das Lager. Produkte werden mit einem Bild und dem Namen des Produkttyps dargestellt. Die Eigenschaften sind als Tooltip beim Hovern einsehbar.
|
||||
|
||||
### Bilanzfenster
|
||||
Das Bilanzfenster besitzt zwei Tabs.
|
||||
|
||||
Im Tab "Buchungen" können die einzelnen Buchungen in einer sich aktualisierenden Tabelle eingesehen werden. Im Tab "Bilanz" können die Gesamteinnahmen und -verluste eingesehen werden sowie ein Graph mit dem Verlauf des Kontostands.
|
||||
|
||||
### Aufträge
|
||||
Im Spiel können neue Aufträge über die Schaltfläche "Neuer Auftrag" erzeugt werden.
|
||||
Einlagerungsaufträge haben einen hellen Hintergrund, Auslagerungsaufträge einen dunkleren.
|
||||
|
||||
Aufträge können durch klicken auf das "X" oder durch Ziehen auf den Mülleimer abgebrochen werden (letzteres nur bei Einlagerungsaufträgen).
|
||||
|
||||
### Einlagerung
|
||||
Einlagerungsaufträge können per Drag und Drop in das Lager gezogen werden. Die Belohnung wird automatisch auf das Konto gutgeschrieben. Mögliche Ablagerungsorte werden eingerahmt und beim Hovern hervorgehoben.
|
||||
|
||||
### Auslagerung
|
||||
Auslagerungsaufträge werden ebenfalls per Drag und Drop erfüllt. Dabei kann ein passendes Produkt aus dem Lager auf den Auftrag gezogen werden. Für eine Hervorhebung der Lagerplätze mit übereinstimmenden Produkten können Auslagerungsaufträge mit der rechten Maustaste angeklickt werden. Anschließend werden solche Plätze eingerahmt.
|
||||
|
||||
Die Belohnung wird automatisch gutgeschrieben.
|
||||
|
||||
### Umlagerung
|
||||
Analog zu den Aufträgen funktioniert auch die Umlagerung mit Drag und Drop. Dabei wird automatisch immer das oberste Objekt eines Lagerplatzes bewegt. Gültige Ablageorte werden hervorgehoben.
|
||||
|
||||
### Zerstören
|
||||
Produkte können per Drag und Drop auf den Mülleimer zerstört werden. Die Strafe wird automatisch angerechnet.
|
||||
|
||||
44
src/main/dist/csv-changer.py
vendored
Normal file
44
src/main/dist/csv-changer.py
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
import sys, io
|
||||
|
||||
def main():
|
||||
if len(sys.argv) < 2:
|
||||
print('Please give the file name as argument');
|
||||
sys.exit(100);
|
||||
|
||||
out_name = sys.argv[1].split('.')[-2] + '-processed.csv';
|
||||
|
||||
with open(sys.argv[1], 'r', encoding='latin1') as original:
|
||||
with open(out_name, 'w') as out_file:
|
||||
original = original.read();
|
||||
lines = original.splitlines(False)[1:];
|
||||
for line in lines:
|
||||
line = line.replace('Auslagerung', 'out');
|
||||
line = line.replace('Einlagerung', 'in');
|
||||
line = line.replace('Papier', 'paper');
|
||||
line = line.replace('Holz', 'wood');
|
||||
line = line.replace('Stein', 'stone');
|
||||
line = line.replace('Weiß', 'white');
|
||||
line = line.replace('Blau', 'blue');
|
||||
line = line.replace('Grün', 'green');
|
||||
line = line.replace('A3', 'a3');
|
||||
line = line.replace('A4', 'a4');
|
||||
line = line.replace('A5', 'a5');
|
||||
line = line.replace('Buche', 'beech');
|
||||
line = line.replace('Kiefer', 'pine');
|
||||
line = line.replace('Eiche', 'oak');
|
||||
line = line.replace('Bretter', 'boards');
|
||||
line = line.replace('Balken', 'beams');
|
||||
line = line.replace('Scheit', 'pieces');
|
||||
line = line.replace('Marmor', 'marble');
|
||||
line = line.replace('Granit', 'granite');
|
||||
line = line.replace('Sandstein', 'sandstone');
|
||||
line = line.replace('Leicht', 'light');
|
||||
line = line.replace('Mittel', 'medium');
|
||||
line = line.replace('Schwer', 'heavy');
|
||||
parts = line.split(';');
|
||||
|
||||
out_file.write(parts[1] + ',' + parts[2] + ',' + parts[5] + ',' + parts[3] + ',' + parts[4] + '\n');
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__': main();
|
||||
Reference in New Issue
Block a user