onderschaduw
Home HomeScripts HomeArtikelen HomeTemplates HomeForum HomeZoeken
mastermind script
Poster: andries, gepost op: 30-09-08 21:12

dit script maakt gerbuik van afbeeldingen daarom kun je hem downloaden op: http://www.euromunten.woelmuis.nl/mastermind.zip

de code staat hieronder:

code:
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168

<?php session_start();

$kleuren = array("\", \"blauw\", \"bruin\", \"geel\", \"groen\", \"paars\", \"rood\", \"wit\", \"zwart\"); // alle kleuren in array pleuren

?>

<html>
    <head>
      <title>Mastermind</title>
    </head>
    <body>

<script language=\"JavaScript\">
function changeColor(id)
    {
        kleur = document.getElementById('select'+id).value;
        document.getElementById('bol'+id).src = kleur+\".bmp\";
    }
</script>

<?php // javascriptje maken voor het verkleuren van rondjes

if(!isset($_SESSION['code'])) // als er nog geen code is...
    {
        // ...een nieuwe code maken
        $code[] = '';
        $code[] = $kleuren[rand(1,6)];
        $code[] = $kleuren[rand(1,6)];
        $code[] = $kleuren[rand(1,6)];
        $code[] = $kleuren[rand(1,6)];
        $_SESSION['code'] = $code;
    }

if($_SERVER['REQUEST_METHOD'] == \"POST\") // als je een combinatie post
    {
        $zwarte = 0; // aantal zwarte en witte op 0
        $wiite = 0;
        $denkt = array('', $_POST['select1'], $_POST['select2'], $_POST['select3'], $_POST['select4']);
        // de gekozen combinatie in een array stoppen
        $aant_kleur = array_count_values($_SESSION['code']); // van elke kleur kijken hoeveel er in de code zitten
        for($i = 1; $i <= 4; $i++) // het aantal zwarte berekenen
          {
                if($_SESSION['code'][$i] == $denkt[$i])
                  {
                        $zwarte++;
                        $aant_blokjes[$denkt[$i]]++;
                    }
            }
        for($i = 1; $i <= 4; $i++) // het aantal witte berekenen
          {
                if(in_array($denkt[$i], $_SESSION['code'])) // als er al blokjes zijn gegeven voor die kleur
                  {
                        if($aant_kleur[$denkt[$i]] > $aant_blokjes[$denkt[$i]])
                          {
                                $witte++;
                                $aant_blokjes[$denkt[$i]]++;
                            }
                    }
            }
        array_push($denkt, $zwarte, $witte); // aantal zwarte en witte in array stoppen
        $_SESSION['gehad'][] = $denkt; // in session stoppen wat de kleuren waren
        if($zwarte == 4) // als je 4 zwarte heb, ofwel je heb alles goed
          {
                echo 'Gefeliciteerd! Je hebt de juiste combinatie achterhaald in '.count($_SESSION['gehad']).' pogingen!!
'; // vertel dat het goed is en in hoeveel pogingen het geraden is
                for($i = 1; $i <= 4; $i++) // laat de juiste combinatie zien
                    {
                        echo '
<img src=\"'.$denkt[$i].'.bmp\" id=\"bol'.$i.'\" alt=\"Bolletje '.$i.'\" />';
                    }
                unset($_SESSION['code']); // leeg alle variabelen zodat er weer opnieuw gespeeld kan worden
                unset($_SESSION['gehad']);
                unset($_POST);
                echo '

<a href=\"'.$_SERVER['PHP_SELF'].'\">Nog een keer spelen!</a>'; // laat een link zien om nog een keer te spelen
                exit(); // stop het uitvoeren van het script
            }
    }
else // als je niets post, zet dan alle kleuren op blauw
    {
        $denkt = array('', 'blauw', 'blauw', 'blauw', 'blauw');
    }

echo 'Let op: kleuren kunnen meerdere malen voorkomen in één code!

Dit is poging nummer '.(count($_SESSION['gehad'])+1).'

';

echo '<form method=\"post\" action=\"'.$_SERVER['PHP_SELF'].'\">'; // gooi een formulier neer voor het raden van de kleuren
for($i = 1; $i <= 4; $i++) // 4 keer een selectmenu met alle kleuren
    {
        echo '

<select name=\"select'.$i.'\" id=\"select'.$i.'\" onchange=\"changeColor('.$i.');\">';
        for($g = 1; $g <= 6; $g++) // pleur alle kleuren neer
          {
                echo '
    <option value=\"'.$kleuren[$g].'\"';
                if($denkt[$i] == $kleuren[$g])
                  {
                        echo ' selected=\"selected\"';
                    }
                echo '>'.$kleuren[$g].'</option>';
            }
        echo '
</select>';
    }
echo '
<input type=\"submit\" value=\"Raad!\" />

</form>'; // sluit formulier af

for($i = 1; $i <= 4; $i++) // gooi bolletjes neer om te laten zien welke kleuren je hebt gekozen
    {
        echo '
<img src=\"'.$denkt[$i].'.bmp\" id=\"bol'.$i.'\" alt=\"Bolletje '.$i.'\" />';
    }

if(isset($_SESSION['gehad'])) // laat alle combi's zien die geprobeerd zijn
    {
        echo '

Je hebt de volgende combinaties al gehad:
        for($i = (count($_SESSION['gehad'])-1); $i >= 0; $i--)
          {
                echo '
';
                $n = 0;
                for($g = 1; $g <= 4; $g++)
                  {
                        echo '
<img src=\"'.$_SESSION['gehad'][$i][$g].'.bmp\" alt=\"Bolletje '.$g.'\" />';
                    }
                echo '
Hier kwam uit:
                for($c = 0; $c < $_SESSION['gehad'][$i][5]; $c++)
                  {
                        echo '
<img src=\"zwart.bmp\" alt=\"Zwart bolletje\">';
                        $n++;
                    }
                for($c = 0; $c < $_SESSION['gehad'][$i][6]; $c++)
                  {
                        if($_SESSION['gehad'][$i][5] != $_SESSION['gehad'][$i][6])
                            {
                                echo '
<img src=\"wit.bmp\" alt=\"Wit bolletje\">';
                                $n++;
                            }
                    }
                for($c = $n; $c < 4; $c++)
                  {
                        echo '
<img src=\"geen.bmp\" alt=\"Geen bolletje\">';
                    }
                echo '
            }
    }

echo '

    </body>
</html>'; // sluit het document af

?>

code:


Rate dit script:
Je hebt nog niet gestemd. Rate hier het scripts:
zeer slecht
slecht
matig
goed
zeer goed
rating

Reacties:
Er zijn nog geen reacties geplaast.


onderschaduw

Copyright © 2002-2008, Gemaakt door: Theo van Meijel, Versie 3.6
85 bezoekers en 911 pageviews vandaag! Totaal 1374 geregistreerde leden!