Giter VIP home page Giter VIP logo

sim-locher's Introduction

sim-locher

CircleCI

Was ist das?

sim-locher(auch wolc) ist eine Hochrealistische Lochersimulation. Es wird simuliert Papiere zu lochen um diese zu Konfetti zu verarbeiten.

Je mehr Konfetti man erzeugt desto bessere Upgrades können für den eigenen Locher gekauft werden!

Credits

Entwicklerhinweise

Leaderboardserver

Verwenden

Der Leaderboard REST Server ist unter https://sim-locher.herokuapp.com/ erreichbar. Es zeigt im Moment ein Leaderboard an. Richtig Nice.

Folgende HTTP Requests können verwendet werden(Alle Requests verwenden XML als Payload Format):

  • GET / </> - Leitet nur auf GitHub weiter. Dient nur dem falls jemand die URL in den Browser tippen sollte.
  • POST /api/leaderboard <root><name>String</name><punkte>Integer</punkte></root> - Legt den neuen Leaderboard Score für den Spieler fest.
  • GET /api/leaderboard </> - Gibt alle Leaderboard Scores zurück.
  • GET /api/leaderboard/top/:top </> - Gibt die Top :top Leaderboard Scores zurück.
  • GET /api/leaderboard/spieler/:name </> - Gibt den aktuellen Leaderboard Score von :name zurück.

Rückgabecodes sind entweder 200, 400 oder 500. Bei 400 und 500 ist der Fehler in der Property fehler zu finden. Bei 200 wird stets die Antwort auf die Anfrage gesendet.

Entwickeln

Server lokal laufen lassen:

  1. Node.js(10) installieren: https://nodejs.org/en/
  2. MongoDB(3.6) installieren: https://www.mongodb.com/download-center/community
  3. MongoDB starten, eventuell als Service einrichten
  4. /server/.env Datei erstellen und DB=mongodb://user:password@host:port/datenbank eintragen. (user, password, host, port & datenbank sind hier natürlich durch die eigenen Werte zu ersetzen.)
  5. /scripts/run-server ausführen um den Server zu starten.

IDEs

Das Projekt ist mit Maven und BlueJ kompatibel.

BlueJ

  1. Öffnen und loslegen.
  2. Merken dass die Performance schlecht ist und zu VS Code wechseln
  3. Anwendung nicht über die Gui.java starten, sondern die JavaFX Anwendung "Stages" via Rechtsklick starten

Maven & VS Code

  1. Download: https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.zip
  2. Das .zip Archiv in einen Ordner mit Schreibrechne für den aktuellen Nutzer entpacken. (z.B. E:/Data/Maven/)
  3. Den Pfad in dem es entpackt wurde in Umgegungsvariable M2_HOME packen. (z.B. M2_HOME=E:/Data/Maven/)
  4. Dem PATH den Pfad in den bin Unterordner geben.. (z.B. PATH=...;E:/Data/Maven/bin)
  5. Maven kann jetzt via mvn verwendet werden.
  6. Kompilieren: Maven Goal "compile"
  7. Ausführen/Debuggen: https://www.youtube.com/watch?v=0Ky_RnluHUY
  8. .jar erstellen: Maven Goal "package"

RGB Locher 4 the Win

sim-locher's People

Contributors

daneubi avatar jakobheubl avatar jsdelivrbot avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

sim-locher's Issues

Plan: Papier in PapierStapel einlegen

PapierStack nicht mit Locher sondern nur mit Aussparungen im Papier mit Fester Position
Die Klasse PapierStack komplett verwenden
PapierStack per Javafx einfärbbar (Das Bild)

Bug: Papiere werden nicht übernommen

Wenn Papiere in den Locher eingelegt werden und das Spiel neustartet sind diese dannach nicht mehr vorhanden. (-> Werden weder gespeichert noch in GUI beachtet)

Papiere sollten auch zwischne Spieldurchläufen vorhanden bleiben.

Bug: Format ändern Buttons gehen manchmal nicht

Die Papiere spawnen teilweise so, dass sie die Format wechseln Buttons überlagern. Leider liegen sie ebenfalls außerhalb des Bildes weshalb man sie nicht veschieben kann.

Hierfür müsste die spawn Logik für PapierObjekte überarbeitet werden, so dass diese nicht außerhalb des Bildes, nicht überhalb der Buttons, des Scores oder des Lochers spawnen.

Plan: Massive Passive Upgrades

Es sollte auch passive Upgrades geben. Diese erzeugen dann z.B. einen Konfetti pro Sekunde(Praktikant) und werden auch in der GUI angezeigt.

Plan: Leaderboard

Wenn wir schon dabei sind wäre so ein globales Leaderboard ne tolle Sache, oder? 😉

Würde irgendwo einen kleinen Server brauchen. Würde auch ohne Datenbank auskommen da man unsere paar Datensätze ruhig in ne Textdatei schreiben kann (oder auch rein im RAM lassen, ohne Persistenz)

Plan: Hintergründe kaufbar machen

Hintergründe sollen auch im ItemShop kaufbar sein. Sprich mehrere zur Auswahl, die dann gekauft werden können (vlt mit Custom Anpassung vom Spieler)

Plan: Papiere farbig darstellen

PapierObjekte haben eine Farbe (papier.getFarbe()). Diese müsste ebenfalls dargstellt werden. Möglich ist dies via einem ColorAdjust Effekt auf dem Rectangle.

Bug: Papiere werden beim Lochen nicht richtig entfernt

Wenn mehrere Papiere beim Lochen gleichzeitig "zerstört" werden wird nur eines aus der GUI entfernt, jedoch alle aus der Logik. Bei einem erneutem Klick wird dann erst das zweite, eigentlich schon zuvor zerstörte Blatt Papier aus der GUI entfernt.

Irgend jemand commited CRLF

Aufhören und alles was aktuell CRLF ist als LF in euren Branches neu commiten. Das macht mergen (nahezu) umöglich.

IMMER NUR LF!

Plan: Locherupgrades

Es muss freischaltbare "Perks" für den Locher geben. Dies beinhaltet Features wie schneller blinkende RGB Leuchten und anderes, nutzloses, wie einen "verbesserten" Locher.

Plan: Papier aus PapierStapel rausnehmen

Im Moment ist es nicht möglich aus dem PapierStapel Papier rauszunehmen. Dies wäre aber wichtig da man wenn man die Maximale Anzahl des Stapel um zu lochen überschritten hat, nicht die Anzahl kleiner machen kann

Plan: Importe Überarbeiten

Es werden noch zu viel Importiert.
Es sollten nur die Importiert werden, die auch wirklich gebraucht werden:

  • keine * Importe
  • keine Überflüssigen Importe

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.