Kleine Programmieraufgabe, mit ein bisschen Mathematik
![](/uploads/default_avatar/thumb/missing.png)
- javascript
- mathematik
0 Rolf B
0 ottogal
0 MudGuard
0 ottogal
0 ottogal
0 Tabellenkalk
0 ottogal
0 Tabellenkalk
Auf einer HTML-Seite sind die ganzen Zahlen von 1 bis 16 als 4-mal-4-Matrix angeordnet:
Gesucht ist ein Javascript, das bei der Auswahl von zwei der Zahlen (etwa durch Nacheinander-Anklicken oder in Eingabezeilen) ausgibt, wie die beiden Zahlen zueinander liegen:
Hallo ottogal,
das Anordnen als 4x4 Matrix kann auf verschiedene Arten erfolgen. Die Position im DOM und die Position auf dem Bildschirm können wild abweichen. Anordnung ginge
Basierend auf welchen Informationen soll man die Lage der Werte zueinander bestimmen?
Rolf
Ich habe an eine Tabelle gedacht, schließe aber andere Ideen nicht aus.
Hi,
Auf einer HTML-Seite sind die ganzen Zahlen von 1 bis 16 als 4-mal-4-Matrix angeordnet:
Ist die Anordnung konstant? Also immer zeilenweise, links oben die 1, rechts unten die 16?
cu,
Andreas a/k/a MudGuard
Ja, die Anordnung ist fix wie abgebildet.
Hi,
Ja, die Anordnung ist fix wie abgebildet.
Beide Zahlen vergleichen, wenn identisch: Ergebnis identisch.
Die beiden Zahlen "sortieren" und jeweils 1 abziehen (also in den Bereich 0 bis 15 verschieben).
Jeweils Integer-Division durch 4, Ergebnis und Rest merken.
Gleiche Reste: ==> vertikal
Gleiches Divisionsergebnis ==> horizontal
Sonst: schräg (Diff der Reste gibt die horizontalen Schritte, Diff der Divisionsergebnise gibt die vertikalen Schritte).
Das Ganze in Javascript zu gießen überlasse ich dem geneigten Leser als Übung.
cu,
Andreas a/k/a MudGuard
Servus!
Hi,
Ja, die Anordnung ist fix wie abgebildet.
Beide Zahlen vergleichen, wenn identisch: Ergebnis identisch.
Die beiden Zahlen "sortieren" und jeweils 1 abziehen (also in den Bereich 0 bis 15 verschieben).
Jeweils Integer-Division durch 4, Ergebnis und Rest merken.
Gleiche Reste: ==> vertikal
Gleiches Divisionsergebnis ==> horizontal
Sonst: schräg (Diff der Reste gibt die horizontalen Schritte, Diff der Divisionsergebnise gibt die vertikalen Schritte).Das Ganze in Javascript zu gießen überlasse ich dem geneigten Leser als Übung.
Das hat @Felix Riesterer im Tic-Tac-Toe-Tutorial schon mal für ein 3x3-Feld getan: JavaScript/Tutorials/Spiele/Tic-Tac-Toe#Wer hat gewonnen?
Herzliche Grüße
Matthias Scharwies
Hallo MudGuard,
ach so, du gehst davon aus dass die Zahlen exakt wie dargestellt immer numerisch aufsteigend sein sollen?
Rolf
Hi,
ach so, du gehst davon aus dass die Zahlen exakt wie dargestellt immer numerisch aufsteigend sein sollen?
Das hatte ich ja extra nachgefragt.
cu,
Andreas a/k/a MudGuard
Hallo MudGuard,
hm. Ja. Stimmt. Ich bin dann mal weg…
Deiner Divmodderei ist nichts hinzuzufügen...
Rolf
Hallo in die Runde,
nachdem sowieso gespoilert wurde, teile ich meine Lösung nun mit:
https://codepen.io/ottogal/full/qBPpOjK
Kritik willkommen.
Viele Grüße
ottogal
Falls sich jemand gefragt hat, wozu ich das gebraucht habe - hier die Antwort:
codepen
Hallo,
Falls sich jemand gefragt hat, wozu ich das gebraucht habe - hier die Antwort:
codepen
Nett!
Man vergisst immer wieder, dass man ein zweites Mal klicken muss. (Weil die angeklickte Münze ja sofort ausgeblendet wird.) Ein Ausgrauen der angeklickten Münze (oder besser: der jetzt nicht mehr anklickbaren Münzen) macht klar, dass der Zug nicht abgeschlossen ist.
Gruß
Kalk
Ein Ausgrauen der angeklickten Münze...
...findet doch statt - ??
... (oder besser: der jetzt nicht mehr anklickbaren Münzen)
Wieso?
Gruß
Kalk
Gruß zurück
ottogal
Hallo,
Ein Ausgrauen der angeklickten Münze...
...findet doch statt - ??
Ja, schon. Aber zu binär: das ist nicht ausgegraut sondern quasi fast komlett weg. Eine Art Mittelweg wär sinnvoll.
... (oder besser: der jetzt nicht mehr anklickbaren Münzen)
Wieso?
Beim zweiten Klick ist schräg nicht erlaubt. Das kann verdeutlicht werden...
Gruß
Kalk
Hallo,
Ein Ausgrauen der angeklickten Münze...
...findet doch statt - ??
Ja, schon. Aber zu binär: das ist nicht ausgegraut sondern quasi fast komlett weg. Eine Art Mittelweg wär sinnvoll.
Na gut, könnte etwas heller sein...
Beim zweiten Klick ist schräg nicht erlaubt. Das kann verdeutlicht werden...
Es wird ja deutlich dadurch, dass der zweite Klick dann wirkungslos bleibt.
Die nicht erlaubten Münzen kenntlich zu machen, wäre wie Malen nach Zahlen: Ein bisschen selber denken soll der Spieler schon noch. Außerdem ist er ja lernfähig: Nach ein paar Spielchen hat er die Regel verinnerlicht...
Na gut, könnte etwas heller sein...
So vielleicht besser?
https://codepen.io/ottogal/full/WNZPQjN
Hallo,
So vielleicht besser?
👍
Gruß
Kalk