Deal or no deal
Ik ben van plan om PHP te leren en ik dacht: laat ik eens wat maken dan ontdek je een heleboel. Dus ik ging Deal or no Deal maken maar dat werd een lange brij. Toen dacht ik dat het wel moest lukken met arrays dus ik startte maar ik kon er niet precies uitkomen. Daarom vraag ik hier jullie hulp
Dit is mijn script zoals ik het nu heb:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$koffers = array ('jouw koffer', 'koffer1', 'koffer2', 'koffer3', 'koffer4', 'koffer5', 'koffer6', 'koffer7', 'koffer8', 'koffer9', 'koffer10', 'koffer11', 'koffer12', 'koffer13', 'koffer14', 'koffer15', 'koffer16', 'koffer17', 'koffer18', 'koffer19', 'koffer20', 'koffer21', 'koffer22', 'koffer23', 'koffer24', 'koffer25');
foreach ($koffers as $kofferwaarde) {
$koffers = rand (1,26);
}
echo $koffers, "<br>";
?>
$koffers = array ('jouw koffer', 'koffer1', 'koffer2', 'koffer3', 'koffer4', 'koffer5', 'koffer6', 'koffer7', 'koffer8', 'koffer9', 'koffer10', 'koffer11', 'koffer12', 'koffer13', 'koffer14', 'koffer15', 'koffer16', 'koffer17', 'koffer18', 'koffer19', 'koffer20', 'koffer21', 'koffer22', 'koffer23', 'koffer24', 'koffer25');
foreach ($koffers as $kofferwaarde) {
$koffers = rand (1,26);
}
echo $koffers, "<br>";
?>
bij voorbaat dank
en je vraag is?
Dit lijkt me een beetje hoog gegrepen. Over een maandje maak je een veel beter Deal or no deal script.
Misschien is het beter de koffers gewoon te nummeren, van 1-26 en beragen voor die koffers te definiëren:
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
//Deal or No Deal
//Vul een array met de verschillende mogelijke bedragen
$bedragen = array (0.05,0.10,0.20,0.50,1,2,5,10,20,50,100,200,500,1000,2000,5000,10000,20000,50000,100000,200000,500000,1000000,2000000,5000000);
//hussel de bedragen door elkaar -> Draagt niet bij aan jou random keuze, maar gooit de koffers door elkaar, zodat bepaalde bedragen ook steeds bij een andere kandidaat komen
shuffle($bedragen);
//kies random een koffer uit die voor jou is (een array begint bij 0 te tellen.
//Eveneens kan je het aantal bedragen veranderen, zonder dat het mis gaat:
$jouw_koffer=rand(0,count($bedragen)-1);
//Maak bedragen bekend
foreach($bedragen as $key => $value){
echo 'Koffer'.$key.' bevat een waarde van:'.$value;
//als het de koffer is die voor jou is geef dat dan aan
if($key == $jouw){
echo ' --> Dit is jouw koffer';
}
echo '<br />';
}
?>
//Deal or No Deal
//Vul een array met de verschillende mogelijke bedragen
$bedragen = array (0.05,0.10,0.20,0.50,1,2,5,10,20,50,100,200,500,1000,2000,5000,10000,20000,50000,100000,200000,500000,1000000,2000000,5000000);
//hussel de bedragen door elkaar -> Draagt niet bij aan jou random keuze, maar gooit de koffers door elkaar, zodat bepaalde bedragen ook steeds bij een andere kandidaat komen
shuffle($bedragen);
//kies random een koffer uit die voor jou is (een array begint bij 0 te tellen.
//Eveneens kan je het aantal bedragen veranderen, zonder dat het mis gaat:
$jouw_koffer=rand(0,count($bedragen)-1);
//Maak bedragen bekend
foreach($bedragen as $key => $value){
echo 'Koffer'.$key.' bevat een waarde van:'.$value;
//als het de koffer is die voor jou is geef dat dan aan
if($key == $jouw){
echo ' --> Dit is jouw koffer';
}
echo '<br />';
}
?>
Edit:
Zo heel hoog gegrepen lijkt me dit anders nog niet. Het is wel goed om goed met arrays te leren werken, die zal je nog veel tegenkomen tijdens het scripten.
Zo heel hoog gegrepen lijkt me dit anders nog niet. Het is wel goed om goed met arrays te leren werken, die zal je nog veel tegenkomen tijdens het scripten.
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
(ben nog maar een beginner:P
Gewijzigd op 01/01/1970 01:00:00 door tim
Gewijzigd op 01/01/1970 01:00:00 door Tjark
Omdat count bij 1 begint en je moet het weten vanaf 0
ja ik zag het al ik had koffer 0 over het hoofd gezien :s
deal or no deal heeft 20 koffers ;)
kijk jij graag naar die beau ofzow??
dat je dat allemaal zo goed weet =P
@Nico, dat ik het allemaal zo goed weet... ik weet alleen dat er 20 koffertjes zijn, ben zelf ook wel eens begonnen met een deal or no deal script vandaar, maar ik ben gestopt toen ik een formule moest bedenken hoe hoog het bod van de bank is.
EDIT: als je nou gewoon kijkt welke getallen er nog over zijn.. deze tel je bij elkaar op en dan deel je het door het aantal overgebleven getallen.. dan heb je gewoon het gemiddelde.. maar dat lijkt mij goed..
Gewijzigd op 01/01/1970 01:00:00 door Leroy Boerefijn
- Ze bepalen het totaal bedrag, en vervolgens het gemiddelde wat er nog in de koffers zit.
- Dan gaan ze kijken hoeveel koffers er onder het gemiddelde zitten en hoeveel erboven
- Aan de hand van deze gegevens berekenen ze de kans dat het gemiddelde eruit gaat.
- Met de kans en het gemiddelde gaan ze opnieuw aan het rekenen -> is de kans dat er iets boven het gemiddelde uit gaat kleiner dan 50% dan krijg je ook een lager bod. (bijvoorbeeld 75% kans dat het lager is dan gem -> bod is dan ongeveer 1/4 van het gemiddelde (dit is wel een gok), dus erg laag voor het gevoel, maar een logisch bod.)
Hier gaan dus een aantal berekeningen doorheen voor je op een goed bod uit komt.
@tjark
Hou er rekening mee dat je ook de boel moet kunnen bewerken en bewaren -> welke koffers zijn eruit en welke niet, en hoeveel koffers moet je selecteren. (wordt een combinatie van php en javascript, en voor opslaan van de arrays kan je een database of textfile gebruiken. Ik zou db doen)
ken dat namelijk niet vinden :S
Overigens heb ik het al een beetje uitgebreid:
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
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
<?php
//Deal or No Deal
// is er een koffer gekozen, maak dan een variabele aan waarin de keuze wordt opgeslagen
if($_SERVER['REQUEST_METHOD'] == "POST" && !empty($_POST['koffer'])){
$mijn_koffer=intval($_POST['koffer'])-1;
}
//is er nog geen koffer gekozen, geef dan een formulier weer waarbij je een keuze kan maken.
//doe dit met radiobuttons, zodat er maar 1 koffer kan worden gekozen
if(!isset($mijn_koffer)){
echo 'Selecteer je koffer:';
for($j=1;$j<=25;$j++){
echo '<form name="dealnodeal" method="post" action="'.$_SERVER['PHP_SELF'].'">';
echo '<input type="radio" name="koffer" value="'.$j.'"><label>Kies koffer '.$j.'</label><br />';
}
echo '<input type="submit" value="submit" name="submit"></form>';
}
//is er een koffer toegewezen, ga dan door naar het "spelgedeelte"
if(!empty($mijn_koffer)){
//Vul een array met de verschillende mogelijke bedragen
$bedragen = array (0.05,0.10,0.20,0.50,1,2,5,10,20,50,100,200,500,1000,2000,5000,10000,20000,50000,100000,200000,500000,1000000,2000000,5000000);
//hussel de bedragen door elkaar -> Draagt niet bij aan jou random keuze, maar gooit de koffers door elkaar, zodat bepaalde bedragen ook steeds bij een andere kandidaat komen
shuffle($bedragen);
//kies random een koffer uit die voor jou is (een array begint bij 0 te tellen.
//Eveneens kan je het aantal bedragen veranderen, zonder dat het mis gaat:
//Maak bedragen bekend
foreach($bedragen as $key => $value){
$koffernummer=intval($key)+1;
echo 'Koffer'. $koffernummer .' bevat een waarde van:'.$value;
//als het de koffer is die voor jou is geef dat dan aan
if($key == $mijn_koffer){
echo ' --> Dit is jouw koffer';
}
echo '<br />';
}
}
?>
//Deal or No Deal
// is er een koffer gekozen, maak dan een variabele aan waarin de keuze wordt opgeslagen
if($_SERVER['REQUEST_METHOD'] == "POST" && !empty($_POST['koffer'])){
$mijn_koffer=intval($_POST['koffer'])-1;
}
//is er nog geen koffer gekozen, geef dan een formulier weer waarbij je een keuze kan maken.
//doe dit met radiobuttons, zodat er maar 1 koffer kan worden gekozen
if(!isset($mijn_koffer)){
echo 'Selecteer je koffer:';
for($j=1;$j<=25;$j++){
echo '<form name="dealnodeal" method="post" action="'.$_SERVER['PHP_SELF'].'">';
echo '<input type="radio" name="koffer" value="'.$j.'"><label>Kies koffer '.$j.'</label><br />';
}
echo '<input type="submit" value="submit" name="submit"></form>';
}
//is er een koffer toegewezen, ga dan door naar het "spelgedeelte"
if(!empty($mijn_koffer)){
//Vul een array met de verschillende mogelijke bedragen
$bedragen = array (0.05,0.10,0.20,0.50,1,2,5,10,20,50,100,200,500,1000,2000,5000,10000,20000,50000,100000,200000,500000,1000000,2000000,5000000);
//hussel de bedragen door elkaar -> Draagt niet bij aan jou random keuze, maar gooit de koffers door elkaar, zodat bepaalde bedragen ook steeds bij een andere kandidaat komen
shuffle($bedragen);
//kies random een koffer uit die voor jou is (een array begint bij 0 te tellen.
//Eveneens kan je het aantal bedragen veranderen, zonder dat het mis gaat:
//Maak bedragen bekend
foreach($bedragen as $key => $value){
$koffernummer=intval($key)+1;
echo 'Koffer'. $koffernummer .' bevat een waarde van:'.$value;
//als het de koffer is die voor jou is geef dat dan aan
if($key == $mijn_koffer){
echo ' --> Dit is jouw koffer';
}
echo '<br />';
}
}
?>
Edit:
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
je hebt er opzich wel een goed koffertje select systeem van gemaakt :)
k had dat je zelf een nummer moest invullen maar dis veel beter en denk ook veiliger
Vind het wel een grappig idee ;) Dus zat een beetje mee te denken.. het bank systeem enzo zit er nog niet in.. :P Ik zit er nog wel over te denken om iets met namen te doen :P das ook wel leuk, dan kan je een koffertje selecteren die bij een naam hoort..
hoe kan k alle koffertjes laten zien behalve de gene die jij gekozen hebt (om maar mee te beginnen n daarna om dan degene die je al hebt "weggestemd" niet laat zien..
iemand een idee??
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
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
<?php
//Deal or No Deal
// is er een koffer gekozen, maak dan een variabele aan waarin de keuze wordt opgeslagen
if($_SERVER['REQUEST_METHOD'] == "POST" && !empty($_POST['koffer'])){
$mijn_koffer=intval($_POST['koffer']);
}
//is er nog geen koffer gekozen, geef dan een formulier weer waarbij je een keuze kan maken.
//doe dit met radiobuttons, zodat er maar 1 koffer kan worden gekozen
if(!isset($mijn_koffer)){
echo 'Selecteer je koffer:';
for($j=1;$j<=20;$j++){
echo '<form name="dealnodeal" method="post" action="'.$_SERVER['PHP_SELF'].'">';
echo '<input type="radio" name="koffer" value="'.$j.'"><label>Kies koffer '.$j.'</label><br />';
}
echo '<input type="submit" value="submit" name="submit"></form>';
}
//is er een koffer toegewezen, ga dan door naar het "spelgedeelte"
if(!empty($mijn_koffer)){
//Vul een array met de verschillende mogelijke bedragen
$input = array (1, 5, 10, 20, 50, 100, 200, 300, 400, 500, 1000, 5000, 10000, 20000, 30000, 40000, 50000, 100000, 125000, 250000);
//hussel de bedragen door elkaar -> Draagt niet bij aan jou random keuze, maar gooit de koffers door elkaar, zodat bepaalde bedragen ook steeds bij een andere kandidaat komen
shuffle($input);
//kies random een koffer uit die voor jou is (een array begint bij 0 te tellen.
//Eveneens kan je het aantal bedragen veranderen, zonder dat het mis gaat:
//Maak bedragen bekend
$koffernummer=intval($input)+1;
//als het de koffer is die voor jou is geef dat dan aan
echo 'U heeft koffer '; echo $mijn_koffer;
echo '<br />';
$output = array_slice ($input, $mijn_koffer);
print $output;
}
?>
//Deal or No Deal
// is er een koffer gekozen, maak dan een variabele aan waarin de keuze wordt opgeslagen
if($_SERVER['REQUEST_METHOD'] == "POST" && !empty($_POST['koffer'])){
$mijn_koffer=intval($_POST['koffer']);
}
//is er nog geen koffer gekozen, geef dan een formulier weer waarbij je een keuze kan maken.
//doe dit met radiobuttons, zodat er maar 1 koffer kan worden gekozen
if(!isset($mijn_koffer)){
echo 'Selecteer je koffer:';
for($j=1;$j<=20;$j++){
echo '<form name="dealnodeal" method="post" action="'.$_SERVER['PHP_SELF'].'">';
echo '<input type="radio" name="koffer" value="'.$j.'"><label>Kies koffer '.$j.'</label><br />';
}
echo '<input type="submit" value="submit" name="submit"></form>';
}
//is er een koffer toegewezen, ga dan door naar het "spelgedeelte"
if(!empty($mijn_koffer)){
//Vul een array met de verschillende mogelijke bedragen
$input = array (1, 5, 10, 20, 50, 100, 200, 300, 400, 500, 1000, 5000, 10000, 20000, 30000, 40000, 50000, 100000, 125000, 250000);
//hussel de bedragen door elkaar -> Draagt niet bij aan jou random keuze, maar gooit de koffers door elkaar, zodat bepaalde bedragen ook steeds bij een andere kandidaat komen
shuffle($input);
//kies random een koffer uit die voor jou is (een array begint bij 0 te tellen.
//Eveneens kan je het aantal bedragen veranderen, zonder dat het mis gaat:
//Maak bedragen bekend
$koffernummer=intval($input)+1;
//als het de koffer is die voor jou is geef dat dan aan
echo 'U heeft koffer '; echo $mijn_koffer;
echo '<br />';
$output = array_slice ($input, $mijn_koffer);
print $output;
}
?>
maar nu geeft hij alleen van u heeft koffer 2 terug
(die koffer heb k gekozen)
en dan bij print $ouput zegt hij alleen array