spel

Status
Niet open voor verdere reacties.

wahagn

Gebruiker
Lid geworden
10 apr 2008
Berichten
154
kan iemand me heplpen met het maken van een spel met javascript. ik heb er maar weinig verstand van...(ik kan wel simpele dingetjes zoals eenlink enz.) ik zou korte kleinene scriptjes ook goed vinden zoals hoe je nou kunt maken dat de een dobbelsteen draait 5% kans heeft om op 6 te komen.
please help mij....
 
In Javascript is er de functie

Math.random()

deze geeft een 'kommagetal' tussen 0 en 1.

Als je 5% kans wil op een zes dan laat je de gebruiker met een klik een dobbelsteen gooien. Dan wordt een javascript-functie aangeroepen die onder andere deze functie Math.random() uitvoert en wanneer het getal groter dan 0,95 is een zes als resultaat van de worp teruggeeft. Op dezelfde manier kan je de andere kansen vertalen.
 
Ik heb het zo simpel mogelijk gehouden, die 5% heb ik eruit gelaten, keej geeft al een goede beschrijving hoe je dat kunt toevoegen. Ik leer altijd het beste van het doorlezen van code dus hierbij:

Code:
<html>
	<head>
		<script>
			function gooiDobbelsteen()
			{
				ogen = Math.round(randomNumber(0.5,6.4)); //Geeft de variabele ogen een getal tussen de 1 en 6.

				document.getElementById("resultaat").innerHTML = "Je gooide " + ogen + " ogen."; //Zet op het scherm het aantal gegooide ogen.

				if(ogen == 6) document.getElementById("punten").innerHTML += "*"; //Als het aantal ogen 6 is wordt er een ster toegevoegd aan de score.
			}

			function randomNumber(min,max)
			{
				return (min + (Math.random() * (max - min))); //Geeft een random getal terug tussen de 2 opgegeven parameters.
			}
		</script>
	</head>
	<body>
		<div onclick="gooiDobbelsteen()" style="cursor: pointer;">Klik hier om de dobbelsteen te gooien.</div>
		<div id="resultaat"></div>
		<div id="punten"></div>
	</body>
</html>

succes ermee :)
 
namelijk:

ik heb zes dobbels gemaakt met paint.(1,2,3,4,5 en 6)
en ik wil dat in het begin dobbel zes te zien is en als je er op klikt de computer willekeurig een getal kiest. maar het lukt niet( ik heb het met <img scr= geprobeert en dan gekopeld met onclick en ik heb met
if(getal=>1=6) geprobeert maar het lukt gewoon niet.wett iemand een oplossing want ik wil graag dat de dobbelsteen getoont word.
 
ik bedoel als het door de computer willekeurig getal groter is dan1 dat het dan 6 word
 
Plaatjes veranderen met javascript

HTML:
<img src="6.jpg" id="dobbelsteen" />

Bovenstaand plaatje kan je veranderen door het volgende javascript statement uit te voeren:

Code:
document.getElementById("dobbelsteen").src = "1.jpg"

Afhankelijk van wat er gegooid is kun je dus het plaatje veranderen als volgt:

Code:
if (ogen == 1) document.getElementById("dobbelsteen").src = "1.jpg";
if (ogen == 2) document.getElementById("dobbelsteen").src = "2.jpg";
if (ogen == 3) document.getElementById("dobbelsteen").src = "3.jpg";
//etc...
 
Code:
function randomNumber(min,max)
 {
  return (min + (Math.random() * (max - min))); //Geeft een random getal terug tussen de 2 opgegeven parameters.
 }

ogen = Math.round(randomNumber(0.5,6.4)); //Geeft de variabele ogen een getal tussen de 1 en 6.[/QUOTE]
Zo kom je niet precies op 1/6 uit, 6.4 moet 6.5 zijn. :)

Math.floor() is handiger bij een dobbelsteen:
PHP:
function randomNumber(min,max) {
 return Math.floor(Math.random() * (max - min + 1) + min);
 };

ogen = randomNumber(1,6);
Voor het plaatje kun je:
PHP:
document.getElementById("dobbelsteen").src = ogen + '.jpg';
gebruiken.

~/~

Nog een alles in één script: :)
PHP:
<script type="text/javascript">
 function dobbel(img) {
  img.src = Math.floor(Math.random() * 6 + 1) + '.jpg';
  }; 
</script>

<img src="6.jpg" onclick="dobbel(this)" style="cursor: pointer;">


Vr.Gr. Egel.
 
Laatst bewerkt:
Klopt Egel, het ging er bij mij om dat er alleen maar getallen tussen de 1 en 6 terugkwamen, nu is het statistisch ook echt een dobbelsteen :P. En hoe je die 6 if-jes eruit hebt gewerkt is ook erg netjes.
 
de eerste dobbel laat hij zien daarna komt er een kleinvakeje met rode kruisje
 
Dat betekend dat het plaatje niet gevonden kan worden, volgens het script van Egel moet je 6 plaatjes hebben in dezelfde map als het HTML bestand, te weten: "1.jpg", "2.jpg", "3.jpg" enzovoort.
 
ik heb 7 plaatjes (want ik heb 1 cijfer 2 keer)
en de namen zijn:
dobbel 1.bmp
dobbel 2.bmp


enz. t/m dobbel 7.bmp
 
Volgens het script moeten die 1.jpg enzovoort noemen. Verander de namen daarin. Voor internet worden geen bitmaps gebruikt. Als je die toch wil gebruiken verander dan de extensie jpg in het script in .bmp.

Probeer zelf eens om het goed te doen dan leer je iets. We gaan het niet allemaal voor jou maken, dat heeft geen zin. Je bedoeling was om spelletjes te leren maken. Probeer dan ook met de gegeven aanzetten zelf spelletjes te maken. Tot nu toe heb je nog niks zelf gedaan.
 
toevallig heb ik zo een oefening in mijn cursus :
(in de bijlage zitten de fotos van de dobbelsteen ;) )
Code:
<html>
<head>
<title>dobbelsteen</title>
<script type="text/javascript" language="javascript">
<!--
function steen() {
	var getal = parseInt(Math.random()*6) +1;
	return getal;
}

-->
</script>
</head>

<body>
<script type="text/javascript" language="javascript">
<!--
var getal1 = steen();
var getal2 = steen();
var totaal = getal1 + getal2;
document.write("<img src=\"dobbel" + getal1 +".gif\">");
document.write("<img src=\"dobbel" + getal2 +".gif\">");
document.write("<br />" + "Totaal : " + totaal);
-->
</script>
<div>
<input type="button" onclick="location.reload(true)" value="smijt" />
</div>
</body>
</html>
Als je iets niet begrijpt, dan leg ik het je wel uit.
 

Bijlagen

Laatst bewerkt:
geen plaatje

hij laat het plaatje niet zien. maar ik heb wel stenen.zip gedownload, en ze zitten in dezelfde map.
 
Als je dit als html bestand in dezelfde map zet als de plaatjes uit de zip van yveshessels dan werkt 't:
PHP:
<script type="text/javascript">
 function dobbel(img) {
  img.src = 'dobbel' + Math.floor(Math.random() * 6 + 1) + '.gif';
  }; 
</script>

<img src="dobbel6.gif" onclick="dobbel(this)" style="cursor: pointer;">
:)


Vr.Gr. Egel.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan