score bijhouden tafelvoetbal
Met een paar vrienden ben ik bezig om in php een programma te maken om de statistieken bij te houden van een tafelvoetbalcompetitie. We willen steeds een random wedstrijd genereren door vier personen in te voeren die aan die wedstrijd deel willen nemen. zo komen er twee spelers tegen twee andere spelers te staan, op een onwillekeurige basis. Vervolgens is het de bedoeling dat het aantal behaalde punten in een ranglijst bijgehouden wordt.
Hoe kunnen we die personen het beste invoeren? En hoe kunnen we die dan, in koppels van 2, een wedstrijd tegen elkaar laten spelen? want het moet natuurlijk niet zo zijn dat bij 1 van de 2 koppels dezelfde persoon aanwezig is.
Groeten
Viktor
Waarschijnlijk wil je ze wel willekeurig hebben, anders kan je ze beter by-hand uitkiezen.
Maar de basis is door alle namen in een database of array te zetten,
Allemaal ophalen, en dan de array shuffle()-en, en dan positie 0,1,2,3 pakken.
Volgens mij is er ook in MySQL een mogelijkheid om random te selecteren, en dan kan je LIMIT 0,4 gebruiken, maar dat weer ik niet zeker.
Nicoow Unknown op 15/12/2010 12:20:34:
Volgens mij is er ook in MySQL een mogelijkheid om random te selecteren, en dan kan je LIMIT 0,4 gebruiken, maar dat weer ik niet zeker.
Ja zeker.
ORDER BY RAND()
--------------------------------
De structuur van de competitie is me nog niet duidelijk.
- Je hebt een pool mensen die meedoen bv. 16.
- 1 wedstrijd bestaat uit twee ploegen van elk twee spelers.
Tot daar is het duidelijk. Maar dan:
- Blijven de ploegen (van twee spelers) samen of niet, voor de rest van de competitie?
Indien ja: moet elke ploeg tegen elke ploeg spelen (bv. voor 16 spelers geeft dat 7 wedstrijden voor elke ploeg)?
- Wil je 1 shuffle van de spelers in het begin en dan een vast patroon voor de volgende "speeldagen" of wil je bij elke speeldag een random verdeling?
Dit laatste maakt het al vrij lastig om dan nog te maken dat elke ploeg tegen mekaar speelt.
Allez ja, ik heb meer details nodig. Nog voor we beginnen functies of query's te schrijven, moet de vraag volledig duidelijk zijn.
Zou je een uitgewerkt voorbeeld kunnen meegeven van wat een resultaat zou kunnen zijn?
Gewijzigd op 15/12/2010 12:58:17 door Kris Peeters
De bedoeling is dat er, in een database, een score PER SPELER bij gehouden moet worden. Dus de ploegen blijven niet bij elkaar maar zijn steeds anders.
Ik denk dat het voor de basis het makkelijks is als er gewoon 1 speelronde is en de spelers onthouden worden, zodat we zelf kunnen kiezen wie er op die dag aanwezig zijn en kunnen spelen. Het hoeven dus niet meerdere speeldagen te zijn;).
En hoe bedoel je, een uitgebreid voorbeeld van het resultaat?
zoals dit?
Piet, jan, klaas, kees, patrick doen mee.
1e wedstrijd: piet & jan tegen klaas & kees
2e wedstrijd: piet & patrick tegen jan & klaas
3e wedstrijd: klaas & patrick tegen jan & kees
wedstrijd winnen: 50 punten per speler
doelpunt maken: 10 punten extra
tijdklok van 5 min tot 0 min.
lijstje maken van score per speler.
(zo iets? of bedoel je heel iets anders:P?)
Groetjes
Viktor
Gewijzigd op 15/12/2010 14:31:37 door Viktor Jonckheere
Dat moet wel lukken; ik zal eens beginnen nadenken.
Een andere array kan je de score per naam bijhouden en die dan tonen.
ik ben nu bezig met de database en verbinding maken. Dit moet wel lukken.
Als database kolomnamen hebben we nu:
Nummer
Voornaam
Tussenvoegsel
Achternaam
Nickname
Gespeeld
Score
Rating
Is dit voldoende? Of misschien te veel?
Groet Viktor
Waar je op moet letten is wat je in welke tabel zet.
Probeer zo dicht mogelijk bij de realiteit te blijven; meestal helpt dat.
In een tabel gebruikers zet je gegevens die te maken hebben met de identiteit van de gebruiker. Dingen als naam, e-mail, nick, ...
Gespeeld, score, rating, ...
Dit zijn geen gegevens die iets met identiteit te maken hebben. Die moeten in een andere tabel.
Vooral dan omdat het berekende gegevens zijn.
Er zullen koppeltabellen nodig zijn.
Als ik nog tijd vind, probeer ik je verder te helpen, maar ik kan niets beloven voor de komende dagen.
Lees ondertussen dit eens:
http://www.phphulp.nl/php/tutorial/overig/normaliseren/150/
Koppeltabellen zijn toch niet aparte tabellen neem ik aan?
En moet ik dan ratio weghalen (dat is immers een procesgegeven van score/aantal gespeelde wedstrijden)?
Bedankt voor je hulp;) vaak gaat het mis omdat ik in het begin ergens gigantisch tegen de lamp loop, dus wel fijn dat ik meteen een beetje in de goede banen wordt geleidt:) super!
Groet
Viktor