Teamscript
Het is dus de bedoeling dat het script automatisch wedstrijden indeeld 2tegen2, maar nu kom ik dus niet verder. Hij heeft de teams al aangemaat alleen nu moet ie ze automatisch 2tegen2 indelen.
Dit heb ik al:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Team Select</title>
</head>
<body>
<p>
<?php
if(isset($_POST['maak'])){
$split = explode(",",$_POST['teams']);
echo '<strong>Deze teams zijn gevonden:<br></strong>';
echo count($split) . ' spelers gevonden, en dus ' . count($split)/2 . ' teams gemaakt.<br>';
$getal = count($split);
if ($getal / 2 != round($getal / 2)){
echo '<strong>Je hebt niet een gelijk aantal teams opgegeven!</strong>';
}else{
// nu gaan we de teams genereren
}
}else{
?>
</p>
<form id="form1" name="form1" method="post" action="">
<label>Vul de teams in, gescheiden door comma's:<br />
<input name="teams" type="text" id="teams" size="100" />
</label>
<p>
<label></label>
<input type="submit" name="maak" id="maak" value="Maak teams" />
</p>
</form>
<p> </p>
<p>
<?php
}
?>
</p>
<p><a href="<?php echo $_SERVER['PHP_SELF']; ?>">Annuleer</a></p>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Team Select</title>
</head>
<body>
<p>
<?php
if(isset($_POST['maak'])){
$split = explode(",",$_POST['teams']);
echo '<strong>Deze teams zijn gevonden:<br></strong>';
echo count($split) . ' spelers gevonden, en dus ' . count($split)/2 . ' teams gemaakt.<br>';
$getal = count($split);
if ($getal / 2 != round($getal / 2)){
echo '<strong>Je hebt niet een gelijk aantal teams opgegeven!</strong>';
}else{
// nu gaan we de teams genereren
}
}else{
?>
</p>
<form id="form1" name="form1" method="post" action="">
<label>Vul de teams in, gescheiden door comma's:<br />
<input name="teams" type="text" id="teams" size="100" />
</label>
<p>
<label></label>
<input type="submit" name="maak" id="maak" value="Maak teams" />
</p>
</form>
<p> </p>
<p>
<?php
}
?>
</p>
<p><a href="<?php echo $_SERVER['PHP_SELF']; ?>">Annuleer</a></p>
</body>
</html>
ik zou het gwn in een database zetten en dan per 4(2*2) terug halen
En wat is de vraag?
Ik weet niet of ik het helemaal begrepen heb wat je eigenlijk wilt, maar volgens mij kom je hiermee al een stukkie verder :
Code (php)
dit geeft als resultaat :
piet tegen jan
piet tegen klaas
piet tegen wim
piet tegen jose
piet tegen daan
piet tegen geert
piet tegen frans
piet tegen wouter
enz. enz. enz.
grts René
Gewijzigd op 01/01/1970 01:00:00 door Rene Sn
Ik wil dat bijvoorbeeld piet tegen jan word ingedeeld, klaas tegen wim, jose tegen daan enz enz enz,
Mark schreef op 08.04.2009 16:36:
Nee, dit is bijna goed.
Ik wil dat bijvoorbeeld piet tegen jan word ingedeeld, klaas tegen wim, jose tegen daan enz enz enz,
Ik wil dat bijvoorbeeld piet tegen jan word ingedeeld, klaas tegen wim, jose tegen daan enz enz enz,
Ik ben nog effe bezig geweest.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$spelers=array("piet","jan","klaas","wim","jose","daan","geert","frans","wouter");
$teams=array();
foreach( $spelers as $speler) {
foreach ($spelers as $tegenspeler) {
if($speler !== $tegenspeler) {
if(!in_array(array($speler,$tegenspeler),$teams) AND (!in_array(array($tegenspeler,$speler),$teams)) ) { // effe controleren of ze al niet een team zijn.
$teams[]=array($speler,$tegenspeler);
}
}
}
}
foreach($teams as $nr => $team) {
echo ($nr+1)." ".$team[0]." <> ".$team[1]."<br />";
}
?>
$spelers=array("piet","jan","klaas","wim","jose","daan","geert","frans","wouter");
$teams=array();
foreach( $spelers as $speler) {
foreach ($spelers as $tegenspeler) {
if($speler !== $tegenspeler) {
if(!in_array(array($speler,$tegenspeler),$teams) AND (!in_array(array($tegenspeler,$speler),$teams)) ) { // effe controleren of ze al niet een team zijn.
$teams[]=array($speler,$tegenspeler);
}
}
}
}
foreach($teams as $nr => $team) {
echo ($nr+1)." ".$team[0]." <> ".$team[1]."<br />";
}
?>
Zie resultaat op : http://swf2.sq4.nl/spelers.php
Ik ben er dus van uit gegaan, dat je iedereen een keer tegen elkaar wilt laten dammen.
groetjes. René
Gewijzigd op 01/01/1970 01:00:00 door Rene Sn
En spelers hoeven dus niet 2x in een ronde te spelen
Dus stel als ingave wordt gegeven.
namen: Jan,Piet,Henk,Truus
dan wil jij zien :
Jan vs. Piet
Henk vs. Truus.
en dus niet dat Jan vs. Henk en Piet vs Truus ook nog als team komt.
In dat geval is het een stuk simpeler dan heb je aan het onderstaande voorbeeld voldoende.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Code (php)
Telt dat niet meer tegenwoordig?
Jezpur schreef op 09.04.2009 11:11:
Telt dat niet meer tegenwoordig?
dat zal ik maar niet doen, dan hangt je browser zich finaal op ;-)
je krijgt dan een oneindige loop.
wat jij bedoeld is $i+=2
Code (php)
Grts,
René
Of bij het aanmaken de array anders indelen?
Dennis Mertens schreef op 09.04.2009 12:26:
Zoals?Of bij het aanmaken de array anders indelen?
Dennis Mertens schreef op 09.04.2009 13:04:
Volgens mij klopt dat wel zo, kan zijn dat het niet klopt, ben er niet bij met men kop :)
Succes
Succes
Kan ook, maar de input is zoals Mark zijn post.
Komen de namen binnen als : jan,piet,klaas,teun,gijs .... enz...
Uiteindelijk blijft het heen en weer gooien van de informatie, hoe je het doet maakt naar mijn idee niet veel uit.
want dan zou je de namen eerst in 2 groepjes moeten verdelen, deze in de $aMatch array zetten, en die array vervolgens in een $totale Array moeten zetten, terwijl hij nu simpel genoeg heeft aan :
$spelers = explode(",",$_POST['teams']);
en de rest van mijn 'laatste' voorbeeld.
En als je de namen eerst door elkaar wilt gooien.
shuffle($spelers);
Dan komen ze er niet uit in de ingevoerde volgorde :).
Grts.
René
Zodat ik het kan gebruiken.
Dus niet in de volgorde waarbij ik het invul!
SanThe komt zo met zen leuke berichtjes. Die heeft hij in tekst bestandjes op zen desktop staan.
Onder verdeeld in categorieen, Bumpen, Foutmeldingen, bla bla ;)
Iemand een idee?