Suchen
Inside Forum
Nützliche Links




 
phpforum.de bei Facebook
 
phpforum.de bei Twitter
 

Zurück   PHP Forum: phpforum.de > Sonstiges > Sonstiges

Sonstiges Alles was sonst nirgens rein passt

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 08.02.2018, 01:04
TheBearded TheBearded ist offline
Besucher
 
Registriert seit: 01.10.2004
Ort: Heidelberg
Beiträge: 56
Cool Berechnung einer Zahl

Hallo,

ich bastle grade (privat, ohne "ernsthaften" Hintergrund) an einem kleinen PHP-Skript, in dem ich die Ergebnisse von Doppelkopf-Runden (Kartenspiel) dokumentieren möchte.

Die Frage ist vermutlich eher eine mathematische als eine programmier-technische, aber ich komme an der Stelle nicht weiter.

Zum Hintergrund: Doppelkopf-Runden bestehen immer aus vier Spielern. Es wird reihum gegeben, also jedes Spiel gibt ein anderer, bis alle vier durch sind - dann gibt wieder der erste Geber usw.

Ich möchte nun die ID des Gebers beim Eintragen der Ergebnisse automatisch bestimmen / berechnen lassen, und bin auf der Suche nach einer geeigneten Formel.

Die Namen der Spieler frage ich zu Beginn der Runde in einem Formular ab. Damit erhalte ich dann vier Namen (und Geber-IDs von 1 bis 4), der erste ist auch der erste Geber.

Beim Eintragen der Ergebnisse eines Spiels soll dann der jeweilige Geber vorbelegt sein, dafür benötige ich die ID des Gebers.

Schematisch sieht das so aus:

Spiel-ID | Geber-ID
1 | 1
2 | 2
3 | 3
4 | 4
5 | 1
6 | 2
7 | 3
8 | 4
9 | 1
10 | 2
11 | 3
12 | 4
13 | 1
usw.

Im Formular zur Eintragung der Ergebnisse habe ich nur die Spiel-ID zur Verfügung.

Hat jemand eine Idee (oder eine Formel), wie ich aus der Spiel-ID die Geber-ID berechnen kann? Dahinter steckt vermutlich eine relativ einfache mathematische Formel, aber ich komme nicht drauf...

Danke und viele Grüße,
Ben
Mit Zitat antworten
  #2  
Alt 08.02.2018, 01:21
Kasalop Kasalop ist offline
Forum-Mitarbeiter
 
Registriert seit: 29.12.2006
Ort: München
Beiträge: 5.764
Standard AW: Berechnung einer Zahl

Das was du suchst ist der Divisionsrest oder eben auch Modulo:

Module ist so definiert: Z = X modulo Y, bedeutet, dass Z der ganzzahlige Rest aus der ganzzahl-Division von X durch Y ist. Beispiel: 8 modulo 3 = 2, da 2 der Rest der Division von 8 durch 3 ist.
Mathematisch gibt es in jeder Programmiersprache einen entsprechenden Operator oder eine Funktion. in PHP ist das das %-Zeichen.

Lg Kasalop
__________________
Es gibt 10 Arten von Menschen auf der Welt. Die die die binäre Mathematik verstehen und die die sie nicht verstehen!

Zu welcher der Gruppen gehörst du?
Mit Zitat antworten
  #3  
Alt 08.02.2018, 01:37
TheBearded TheBearded ist offline
Besucher
 
Registriert seit: 01.10.2004
Ort: Heidelberg
Beiträge: 56
Standard AW: Berechnung einer Zahl

Hallo Kasalop,

ich kam kurz nach dem Schreiben des Posts auf eine ähnliche Idee und konnte eine einfache Formel rausfinden, der Hinweis auf Modulo macht mir jetzt den Rest klar.

Ich denke, dass ich das jetzt hinkriege. Danke!

Gruß,
Ben
Mit Zitat antworten
  #4  
Alt 08.02.2018, 01:41
Kasalop Kasalop ist offline
Forum-Mitarbeiter
 
Registriert seit: 29.12.2006
Ort: München
Beiträge: 5.764
Standard AW: Berechnung einer Zahl

Wie lautet denn die Formel? Eigentlich brauchst du keine Formel. Nur Modulo

Lg Kasalop
__________________
Es gibt 10 Arten von Menschen auf der Welt. Die die die binäre Mathematik verstehen und die die sie nicht verstehen!

Zu welcher der Gruppen gehörst du?
Mit Zitat antworten
  #5  
Alt 08.02.2018, 19:33
protestix protestix ist offline
Engagierter Besucher
 
Registriert seit: 29.06.2016
Beiträge: 606
Standard AW: Berechnung einer Zahl

Zitat:
Zitat von Kasalop Beitrag anzeigen
Wie lautet denn die Formel? Eigentlich brauchst du keine Formel. Nur Modulo
Nicht ganz, denn bei Spiel 4 % 4 ist das Ergebnis 0 da es keine Divisionsrest gibt.
Der er aber an der Stelle die Geber-Id 4 benötigt, muss er da noch was umwandeln.

Mit if ( $Geber-Id===0 ){ $Geber-Id=4; }

kommt er dann zum Ziel.

Eine Formel ist das aber auch nicht.
Mit Zitat antworten
  #6  
Alt 08.02.2018, 19:54
Kasalop Kasalop ist offline
Forum-Mitarbeiter
 
Registriert seit: 29.12.2006
Ort: München
Beiträge: 5.764
Standard AW: Berechnung einer Zahl

(spielId - 1) % 4 + 1 :roll:

Das ist das Problem, wenn man mit Ids arbeitet, die nicht bei 0, sondern mit 1 beginnen. Aber das ist ja nun wirklich kein Problem und lässt sich trotzdem einfach per modulo rechnen.

Lg kasalop
__________________
Es gibt 10 Arten von Menschen auf der Welt. Die die die binäre Mathematik verstehen und die die sie nicht verstehen!

Zu welcher der Gruppen gehörst du?

Geändert von Kasalop (08.02.2018 um 21:05 Uhr) Grund: Klammersetzung war falsch. Danke protestix
Mit Zitat antworten
  #7  
Alt 08.02.2018, 23:04
hellbringer hellbringer ist offline
Forum-Mitarbeiter
 
Registriert seit: 27.03.2008
Beiträge: 30.969
Standard AW: Berechnung einer Zahl

Zitat:
Zitat von Kasalop Beitrag anzeigen
(spielId - 1) % 4 + 1 :roll:

Das ist das Problem, wenn man mit Ids arbeitet, die nicht bei 0, sondern mit 1 beginnen. Aber das ist ja nun wirklich kein Problem und lässt sich trotzdem einfach per modulo rechnen.
Naja, IDs sind für sowas auch nicht zuständig. Wie würde das Beispiel aussehen, wenn die IDs keine aufsteigenden, lückenlose Zahlenreihen, sondern GUID wären? Man merkt dann schnell, dass man mit IDs am falschen Dampfer ist.
Mit Zitat antworten
  #8  
Alt 09.02.2018, 00:23
Kasalop Kasalop ist offline
Forum-Mitarbeiter
 
Registriert seit: 29.12.2006
Ort: München
Beiträge: 5.764
Standard AW: Berechnung einer Zahl

Naja, das ist natürlich ein guter Punkt, aber in diesem Fall auch egal. Der TE nummeriert die Spiele einer Runde durch. Die sind immer lückenlos aufsteigend.

Größeres Problem: Bei einem Solo gibt der gleiche Spieler bei DoKo nochmal... Ich glaube das hat er vergessen zu beachten.

Lg Kasalop
__________________
Es gibt 10 Arten von Menschen auf der Welt. Die die die binäre Mathematik verstehen und die die sie nicht verstehen!

Zu welcher der Gruppen gehörst du?
Mit Zitat antworten


Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu
Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wieso Zahl (double) nach Berechnung string? Crank PHP 4 03.09.2007 09:25
Berechnung einer bestimmten KW ToyonGraphics PHP 2 05.06.2007 13:04
Berechnung ~ Wie oft passt eine Zahl in eine andere Zahl? jodeci84 PHP 5 13.01.2006 16:33
Berechnung einer Fakultaet mit PHP Horex PHP 7 17.11.2005 14:27
Berechnung einer vordefinierten Formel tobiasgp PHP 7 27.10.2004 11:17


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:54 Uhr.


Powered by vBulletin® Version 3.8.8 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Powered by NuWiki v1.3 RC1 Copyright ©2006-2007, NuHit, LLC