Advertisement
Hellboyandso

Mastermind_Full_withoutFaultsCorrected

Nov 26th, 2013
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.40 KB | None | 0 0
  1. <html>
  2. <head>
  3. <title>Project_Mastermind</title>
  4. <script>
  5. var kleuren = ['geel', 'groen', 'rood', 'blauw', 'oranje'];
  6. var arrayLengte = 5;
  7.  
  8. var juisteCombinatieGeraden;
  9.  
  10. function randomArrayItem(array)
  11. {
  12. var index = Math.floor(Math.random(kleuren) * array.length);
  13. return array[index];
  14. }
  15.  
  16. function randomKleur()
  17. {
  18. return randomArrayItem(kleuren);
  19. }
  20.  
  21. function randomKleurenCombinatie(aantal)
  22. {
  23. var result = [];
  24.  
  25. for(var i = 0; i != aantal; i++)
  26. {
  27. result.push(randomKleur());
  28. }
  29.  
  30. return result;
  31. }
  32.  
  33. function arraySpeler()
  34. {
  35. var speler = [];
  36.  
  37. for(var i = 0; i < arrayLengte; i++)
  38. {
  39. var invoerSpeler = prompt("Gelieve een kleur in te vullen. geel, groen, rood, blauw of oranje. stop om te stoppen!","");
  40.  
  41. if (invoerSpeler === "stop")
  42. {
  43. canvasLeegMaken();
  44. stopMasterMind();
  45. }
  46. else if (invoerSpeler === "")
  47. {
  48. i--;
  49. }
  50. else
  51. {
  52. speler[i] = invoerSpeler;
  53.  
  54. var ingegevenKleurSpeler = invoerSpeler;
  55. kleurenBundelaar(ingegevenKleurSpeler);
  56. }
  57. }
  58.  
  59. return speler;
  60. }
  61.  
  62. function vergelijking(computer, speler)
  63. {
  64. var arrayVergelijken = [];
  65.  
  66. for(var i = 0; i < arrayLengte; i++)
  67. {
  68. if(computer[i] === speler[i])
  69. {
  70. arrayVergelijken.push("1");
  71. }
  72. else
  73. {
  74. arrayVergelijken.push("0");
  75. }
  76. }
  77.  
  78. return arrayVergelijken;
  79. }
  80.  
  81. function juisteAntwoorden(array)
  82. {
  83. var juisteTeller = 0;
  84. var fouteTeller = 0;
  85. var teller = 1;
  86.  
  87. for(var i = 0; i < arrayLengte; i++)
  88. {
  89. if(array[i] === "1")
  90. {
  91. alert("Kleur nummer " + teller + " is juist");
  92. juisteTeller += 1;
  93. }
  94. else
  95. {
  96. alert("Kleur nummer " + teller + " is niet juist");
  97. fouteTeller += 1;
  98. }
  99.  
  100. teller += 1;
  101.  
  102. }
  103.  
  104. return juisteTeller;
  105. }
  106.  
  107. function startSpel()
  108. {
  109. var code = randomKleurenCombinatie(arrayLengte);
  110. var spelGedaan = false;
  111. var pogingTeller = 0;
  112. var maximumAantalPogingen = 10;
  113. var vergelijkingArray;
  114.  
  115. while(spelGedaan !== true && pogingTeller !== maximumAantalPogingen)
  116. {
  117. var a = arraySpeler();
  118. vergelijkingArray = vergelijking(code, a);
  119.  
  120. var juisteAntwoordenSpeler = juisteAntwoorden(vergelijkingArray);
  121.  
  122. if (juisteAntwoordenSpeler !== arrayLengte) {
  123. pogingTeller += 1;
  124. spelGedaan = false;
  125. }
  126. else
  127. {
  128. juisteCombinatieGeraden = "geraden";
  129. spelGedaan = true;
  130. }
  131. }
  132. }
  133.  
  134. function vraagNogEenKeer()
  135. {
  136. canvasLeegMaken();
  137.  
  138. var x;
  139. var r = confirm("Druk op Ok als u nog een keer wilt spelen.");
  140.  
  141. if (r === true)
  142. {
  143. x = true;
  144. }
  145. else
  146. {
  147. x = false;
  148. }
  149.  
  150. return x;
  151. }
  152.  
  153. function nieuwSpelStarten(antwoord)
  154. {
  155. var nieuwSpel = antwoord;
  156.  
  157. while(nieuwSpel !== false)
  158. {
  159. startSpel();
  160.  
  161. if (juisteCombinatieGeraden === "geraden")
  162. {
  163. alert("U heeft de juiste kleurencombinatie geraden, proficiat!!!")
  164. canvasLeegMaken();
  165. }
  166. else
  167. {
  168. alert("U slaagde er niet in de juiste kleurenconbinatie te raden, probeer nog een keer")
  169. }
  170.  
  171. nieuwSpel = vraagNogEenKeer();
  172. }
  173. alert("U stopte met spelen, tot volgende keer.");
  174. }
  175.  
  176. function startMasterMind()
  177. {
  178. canvasLeegMaken();
  179. nieuwSpelStarten(true);
  180. }
  181.  
  182. function stopMasterMind()
  183. {
  184. break;
  185. }
  186.  
  187.  
  188. //Hier begint de code van canvas;
  189. var yWaarde = 0;
  190. var xWaarde = 0;
  191.  
  192. function tekenCirkel(x, y, kleur)
  193. {
  194. var c=document.getElementById("myCanvas");
  195. var ctx=c.getContext("2d");
  196.  
  197. ctx.beginPath();
  198.  
  199. var huidigeKleur = kleur;
  200.  
  201. ctx.fillStyle = huidigeKleur;
  202. ctx.arc(x,y,40,0,2*Math.PI);
  203. ctx.fill();
  204. }
  205.  
  206. function kleurenCirkelTellerX()
  207. {
  208. if (xWaarde === 0 || xWaarde === 450)
  209. {
  210. xWaarde = 50;
  211. return xWaarde;
  212. }
  213. else
  214. {
  215. xWaarde += 100;
  216. return xWaarde;
  217. }
  218. }
  219.  
  220. function kleurenCirkelTellerY()
  221. {
  222. if (yWaarde === 0)
  223. {
  224. yWaarde = 50;
  225. return yWaarde;
  226. }
  227. else if (yWaarde <= 950 && xWaarde === 50)
  228. {
  229. yWaarde += 100;
  230. return yWaarde;
  231. }
  232. else
  233. {
  234. return yWaarde;
  235. }
  236. }
  237.  
  238. function kleurCirkel(kleurVanSpeler)
  239. {
  240. var kleur = kleurVanSpeler;
  241.  
  242. if(kleur === "geel")
  243. {
  244. return "FFFF00";
  245. }
  246. else if(kleur === "groen")
  247. {
  248. return "#00FF00";
  249. }
  250. else if(kleur === "rood")
  251. {
  252. return "#FF0000";
  253. }
  254. else if(kleur === "blauw")
  255. {
  256. return "#0000FF";
  257. }
  258. else if(kleur === "oranje")
  259. {
  260. return "#FF6600";
  261. }
  262. }
  263.  
  264. function kleurenBundelaar(kleurSpelerArray)
  265. {
  266. var a = kleurSpelerArray;
  267. var kleurCode = kleurCirkel(a);
  268. var x = kleurenCirkelTellerX();
  269. var y = kleurenCirkelTellerY();
  270. tekenCirkel(x, y, kleurCode);
  271. }
  272.  
  273. function canvasLeegMaken()
  274. {
  275. xWaarde = 0;
  276. yWaarde = 0;
  277.  
  278. var c=document.getElementById("myCanvas");
  279. var ctx=c.getContext("2d");
  280.  
  281. ctx.clearRect(0,0,500,1000);
  282. }
  283. </script>
  284. </head>
  285. <body>
  286. <p>
  287. <button onclick="startMasterMind()">start mastermind</button>
  288. </p>
  289. <canvas id="myCanvas" width="500" height="1000">Your browser does not support the HTML5 canvas tag. Please use Chrome or Firefox.</canvas>
  290. <script>
  291.  
  292. </script>
  293. </body>
  294. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement