Hallo ihr Maschis,
ich bin einige Zeit raus aus der Uni und diesem Maschboard, hat mir damals gute Dienste geleistet (Eigentlich brauche ich mein Studium jetzt gar nicht mehr für meine Job, etwas schade). Jedenfalls habe ich ein Problem und mir fehlt die richtige Community um da den richtigen Ansatz zu finden.
Ich bin Präsident eines Snooker-Vereins in NRW und war lange auf der Suche nach einer Lösung, eine Shotclock für den Verein zu bekommen. Zu kaufen gibt es fast nichts out-of-the-box und das wenige was da ist, ist extrem teuer und wenig funktional. Vor allem grad nicht lieferbar. Daher habe ich mich dran gesetzt und mal etwas mit Javascript versucht. Bin blutiger Anfänger dadrin, deswegen ist das nicht reponsive, sieht mies aus und funktioniert nicht in allen Browsern (bspw. wird unter iOS nur der erste Ton abgespielt und bei allen anderen Browsern ist der Ton nicht sonderlich akkurat zur korrekten Zeit). Aber, es funktioniert in den grundlegenden Eigenschaften.
das hat für ein Turnier mehr schlecht als Recht gereicht, aber war da auch sehr buggy. Wir hatten es an einem Rechner und einer hat dann immer die Buttons gedrückt und das war über einen Fernseher für alle sichtbar und hörbar.
Ich würde das jetzt gerne auf einem Raspberry Pi laufen lassen. Dazu müsste ich aber einige Dinge ändern:
1. es gibt keine Peripherie mehr, das soll in einer Box laufen.
--> meine Idee war eine BT Maus umzubauen, dass da drei Knöpfe drauf sind, mit denen kann man das bedienen ohne hinzugucken
2. es muss beim Anschalten sofort das HTML laden
Eigentlich dachte ich, dass der Pi eine "eigene" Version bekommen soll, aber nötig ist, das nicht. Es wäre auch besser, wenn die Web-Version besser funktioniert. Die sollte auch über Tasten bedient werden können. Am besten sogar auf dem Handy mit Lautstärketasten oder so, am Rechner geht auch Leertaste. Wirklich gut wäre es halt, wenn man nicht auf das Display gucken muss für die Bedienung (weil man dann die Bälle im Blick halten kann).
Mein Problem ist hauptschlich die Bedienung, also wie bekomme ich das in JS hin, dass der auf jedwede Maus-Klicks reagiert, egal wo man drückt und vor allem: ohne beim Rechtsklick das Kontextmenü zu öffnen? Ich hab es mit dem eventlistener probiert und das will einfach nicht. Weder über die Maus noch über die Leertaste (gedrückt halten: Stop und Reset der Shotclock; loslassen: Shotclock startet). Kennt sich hier jemand aus? Ich kann gerne meine bisherigen Code bereit stellen, da ist aber viel Müll drin.
wer grundsätzlich das Prinzip Shootout beim Snooker nicht kennt, hier eine kurze Regelkunde:
1. Ein Frame dauert fix 10 Minuten Zeit
2. Pro Stoß hat der jeweilige Spieler 15 Sekunden Zeit, ab 5 Minuten Frame-Zeit nur noch 10 Sekunden (=Shotclock)
3. Die Zeit beginnt, sobald alle Bälle ruhen und endet mit Stoß (während die Bälle rollen bleibt sie stehen)
4. nach den 10 Minuten gewinnt der, mit mehr Punkten, oder eben Aufgabe
Inhaltlich gibt es noch zwei wesentliche Regeländerungen beim Spiel, die sind aber für den Code egal (neues Foul und was passiert nach Foul).
Das ganze mache ich in meiner Freizeit für den Verein und werde das auch anderen Vereinen zur Verfügung stellen, wenn die danach fragen. Also falls jemand sich die Hardware beschafft, würde ich denen auch beim Einrichten helfen, natürlich alles ehrenamtlich. Wäre ja grundsätzlich bereit, dafür auch was zu zahlen, aber normale Entwickler wollen dafür soviel Geld haben (vermutlich ja auch zurecht), dass sich das nicht ansatzweise lohnt. Ziel wäre es halt einerseits, eine Webversion auf unserer Webseite zu haben (snooker-freunde-wiedenbrueck.de) und eben eine Standalone-Lösung, die man mal eben aufstellen kann. Da ich den Pi hier hatte, dient der jetzt erstmal dafür, habe einen 10" Monitor günstig gebraucht bekommen, darauf soll das dann laufen. Also Strom anschließen und los. Ggf. bastel ich noch ein Gehäuse am 3D Drucker oder aus Holz, aber dafür muss das erstmal sauber laufen.
Falls hier jemand gute Ideen hat, eine gute Community kennt (deutsch wäre viel einfacher, aber englisch geht natürlich auch), oder sogar aktiv helfen will, gerne melden! Danke
LG
Felix