Rolf B: DRINGEND Hilfe gesucht: zufälliger Bildwechsel beim Aktualisieren einer Seite

Beitrag lesen

Hallo Annika,

es geht nicht um Missbrauch des Servers, sondern darum, dass beim Spiel keiner mogelt. Unter Freunden und Verwandten soll das schonmal vorkommen… Eine exakte Steuerung des Spielablaufs, so dass wirklich jeder nur das tun kann, was er auch gerade tun darf, macht deutlich mehr Arbeit.

Ich habe eine Demo fertig. Nicht schön, aber man kann es angucken. Es gibt 3 Karten, mit Paint gemalt und fett 001, 002 und 003 draufgeschmiert. Richtige Tabukarten kannst Du dann auf deinem Server dazukopieren.

http://tabudemo.borchmann.one

Seite aufrufen, Spieler-Kennung eingeben. Ihr müsst euch vorher einigen, wer A-Team und wer B-Team ist, und innerhalb der Teams den Spielern Nummern von 1-8 geben. Jeder, der die Seite startet, gibt seine Kennung aus Teambuchstabe und Nummer ein. Zum Beispiel: A1. Oder B7. Kann auch b7 sein, ich mach's groß. Und LOS klicken.

Am Layout muss ich noch fummeln, sehe ich gerade. Bis gerade habe ich es nur in der iPhone Simulation von Chrome laufen lassen. Aber nun habe ich es im Chrome auf meinem Androiden aufgerufen und es fliegt auseinander. Grmbl.

Jetzt kommt die Vertrauenssache. Es gibt keine Steuerung, wer dran ist. Jeder kann anfangen, Karten zu ziehen, aber es soll natürlich nur die/der tun, die als Kartenzieher dran ist. Wer zieht und quietscht, gibt als erstes die Nummer des Gegners an, der erklären muss. Wenn man selbst A-Team ist, ist das B schon vorgegeben, man muss nur die Nummer auswählen. Dann kann man "Karte ziehen" klicken und die Karte wird angezeigt.

Mit welcher Spielerkennung man gestartet hat, sieht man übrigens rechts oben über dem "Karte zeigen" Button.

Auf dem Server ist nun die Kartennummer gespeichert worden, die gerade aktiv ist, zusammen mit der Spieler-Kennung desjenigen, der erklären muss. Wenn A1 quietscht und B2 erklärt, dann dürfen nun alle im A Team "Karte zeigen" drücken und bekommen sie zu sehen. Alle anderen im B-Team können das auch drücken, aber sehen dann nur ein "Du musst raten".

Hier ist eine weitere Vertrauenssache: Wer raten muss, kann nun einfach die Seite aktualisieren und die Spieler-Kennung des Erklärers eingeben. Es gibt keine Sicherung dagegen, dass zwei Spieler mit der gleichen Spielerkennung starten. Wenn man solche Sachen bauen will, dann geht das zwar, aber dafür braucht man dann eine Benutzerverwaltung und Anmeldung - das ist Aufwand.

Es kann auch jeder jederzeit den Namen der Datei abrufen, in der der Stand gespeichert ist. Auch da ist Vertrauen gefragt, dass keiner mogelt.

Für den Quietscher gibt's auch noch eine Uhr. Mit Start/Stop Button und Reset. Reset stoppt die Uhr und setzt sie auf 60 Sekunden. Der Quietscher drückt RESET, gibt die Spielerkennung des Erklärers ein, drückt "Karte ziehen" und sagt: "Karte ist da". Dann drückt er "Start". Der Erklärer drückt "Karte zeigen" und fängt an zu erklären. Irgendwann ist's richtig, oder es wird gequietscht.

Der Quietscher könnte nun (muss nicht) "Stopp" drücken und die Uhr macht Pause für den Wechsel zur neuen Karte oder für Diskussion darüber, warum gequietscht wurde.

Nun sollte die Karte eigentlich für alle freigegeben werden, das PHP Script kann das aber ich habe noch keinen Button dafür im HTML. Es ist schon ziemlich eng auf dem Smartphone.

Wenn der Erklärer bereit ist für die nächste Karte, drückt der Quietscher auf "Neue Karte" und sagt "Karte ist da" oder sowas. Der Erklärer kann sie aufrufen, die Teamkollegen des Quietschers auch, und es geht weiter.

Was noch fehlt, ist die Wiederholsperre, da bau ich noch was.

Was nicht passiert und richtig Aufwand macht, sind Vielspieler- und Echtzeit-Features. Es kann immer nur eine Gruppe spielen, zwei Spiele parallel stören sich gegenseitig. Die Karten müssen manuell abgerufen werden, dass beim Erklärer die Karte automatisch aufscheint, wenn der Quietscher zieht, ist nicht drin. Es wird auch nicht bei allen die Uhr angezeigt. Dafür braucht man bestimmte Echtzeit-Funktionen des Servers, die one.com nicht oder nur teuer anbietet und die ich auch nicht aus dem Handgelenk reinprogrammieren könnte, Websockets sind für mich Neuland. Oder man müsste das Script der HTML Seite so schreiben, dass es im Halbsekundentakt die Daten abruft - und DAS ist bei one.com auch nicht so einfach - zumindest in meinem Billigpaket nicht, die drosseln dann nämlich ganz fix die Abrufe.

Na, guck Dir mal an, was Du davon hältst. Die HTML Datei kannst Du Dir aus dem Browser speichern, das tabu.php kannst Du als tabu.php.text im Quellcode abrufen.

Was ich noch wissen müsste, wären die Dateinamen. Du schriebst "001.jpg" bis "1040.jpg". Tatsächlich? Die Kartennummern unter 1000 sind dreistellig? Oder ist es "0001.jpg"?

Wenn Du für diesen zusammengestoppelten Kram was bezahlen willst, dann such Dir eine geeignete soziale Einrichtung und spende denen was. Oder an Selfhtml, uns kann man auch was spenden 😀.

Rolf

--
sumpsi - posui - obstruxi