Scripts

Mijnenveger

Dit is een online versie van mijnenveger. Je kunt een veld per keer openklikken en je kunt net zo lang doorgaan tot je 10 mijnen hebt opengeklikt. Hoe minder clicks je daarvoor nodig hebt, hoe beter je natuurlijk bent. Er zit een nadeel aan, je hebt een tabel met 100 kolommen nodig.

mijnenveger
<?php

include('connect.php');

$naam = "gebruiker";

$gebruiker_select = mysql_query("SELECT * FROM mijnenveger WHERE naam = '$naam' LIMIT 1") or die(mysql_error());
if(mysql_num_rows($gebruiker_select) == 0){
	$gebruiker_maak = "INSERT INTO mijnenveger (naam) VALUES ('$naam')";
	mysql_query($gebruiker_maak) or die(mysql_error());

	$mijn1 = rand(1,100);

	$mijn2 = $mijn1;
	while($mijn2 == $mijn1){
		$mijn2 = rand(1,100);
	}

	$mijn3 = $mijn1;
	while($mijn3 == $mijn1 || $mijn3 == $mijn2){
		$mijn3 = rand(1,100);
	}

	$mijn4 = $mijn1;
	while($mijn4 == $mijn1 || $mijn4 == $mijn2 || $mijn4 == $mijn3){
		$mijn4 = rand(1,100);
	}

	$mijn5 = $mijn1;
	while($mijn5 == $mijn1 || $mijn5 == $mijn2 || $mijn5 == $mijn3 || $mijn5 == $mijn4){
		$mijn5 = rand(1,100);
	}

	$mijn6 = $mijn1;
	while($mijn6 == $mijn1 || $mijn6 == $mijn2 || $mijn6 == $mijn3 || $mijn6 == $mijn4 || $mijn6 == $mijn5){
		$mijn6 = rand(1,100);
	}

	$mijn7 = $mijn1;
	while($mijn7 == $mijn1 || $mijn7 == $mijn2 || $mijn7 == $mijn3 || $mijn7 == $mijn4 || $mijn7 == $mijn5 || $mijn7 == $mijn6){
		$mijn7 = rand(1,100);
	}

	$mijn8 = $mijn1;
	while($mijn8 == $mijn1 || $mijn8 == $mijn2 || $mijn8 == $mijn3 || $mijn8 == $mijn4 || $mijn8 == $mijn5 || $mijn8 == $mijn6 || $mijn8 == $mijn7){
		$mijn8 = rand(1,100);
	}

	$mijn9 = $mijn1;
	while($mijn9 == $mijn1 || $mijn9 == $mijn2 || $mijn9 == $mijn3 || $mijn9 == $mijn4 || $mijn9 == $mijn5 || $mijn9 == $mijn6 || $mijn9 == $mijn7 || $mijn9 == $mijn8){
		$mijn9 = rand(1,100);
	}

	$mijn10 = $mijn1;
	while($mijn10 == $mijn1 || $mijn10 == $mijn2 || $mijn10 == $mijn3 || $mijn10 == $mijn4 || $mijn10 == $mijn5 || $mijn10 == $mijn6 || $mijn10 == $mijn7 || $mijn10 == $mijn8 || $mijn10 == $mijn9){
		$mijn10 = rand(1,100);
	}

	$mijnen_array = array($mijn1,$mijn2,$mijn3,$mijn4,$mijn5,$mijn6,$mijn7,$mijn8,$mijn9,$mijn10);

	// het veld berekenen

	$teller_veld = 1;
	while($teller_veld <= 100){

		if(in_array($teller_veld, $mijnen_array)){

			$grensmijnen = "mijn";

		} else {

			$grensmijnen = 0;

			$mijnlinks = $teller_veld - 1;
			$mijnrechts = $teller_veld + 1;
			$mijnboven = $teller_veld - 10;
			$mijnonder = $teller_veld + 10;
			$mijnlinksboven = $teller_veld - 11;
			$mijnlinksonder = $teller_veld + 9;
			$mijnrechtsboven = $teller_veld - 9;
			$mijnrechtsonder = $teller_veld + 11;

			if($teller_veld < 11){ // de bovenste rij
				$mijnboven = 0;
				$mijnlinksboven = 0;
				$mijnrechstboven = 0;
			}

			if($teller_veld > 90){ // de bovenste rij
				$mijnonder = 0;
				$mijnlinksonder = 0;
				$mijnrechstonder = 0;
			}

			$eerstekolom = array(1,11,21,31,41,51,61,71,81,91);
			if(in_array($teller_veld, $eerstekolom)){ // eerste kolom
				$mijnlinks = 0;
				$mijnlinksonder = 0;
				$mijnlinksboven = 0;
			}

			$laatstekolom = array(10,20,30,40,50,60,70,80,90,100);
			if(in_array($teller_veld, $laatstekolom)){ // laatste kolom
				$mijnrechts = 0;
				$mijnrechtsonder = 0;
				$mijnrechtsboven = 0;
			}

			if(in_array($mijnlinks, $mijnen_array)){ $grensmijnen++; }
			if(in_array($mijnrechts, $mijnen_array)){ $grensmijnen++; }
			if(in_array($mijnboven, $mijnen_array)){ $grensmijnen++; }
			if(in_array($mijnonder, $mijnen_array)){ $grensmijnen++; }
			if(in_array($mijnlinksboven, $mijnen_array)){ $grensmijnen++; }
			if(in_array($mijnlinksonder, $mijnen_array)){ $grensmijnen++; }
			if(in_array($mijnrechtsboven, $mijnen_array)){ $grensmijnen++; }
			if(in_array($mijnrechtsonder, $mijnen_array)){ $grensmijnen++; }

		}

		$thisveld = "veld".$teller_veld;
		$update = mysql_query("UPDATE mijnenveger SET $thisveld = '$grensmijnen' WHERE naam = '$naam' LIMIT 1") or die(mysql_error());

		$teller_veld++;

	}

} // het spel kan beginnen!

echo "<b>PHP Based Mijnenveger.</b><br>";
echo "<a href='http://koen.netersel.net/' target='_blank'>Koen Bressers, 2006.</a><br>";
echo "&nbsp;<br>";

$pogingen_select = mysql_query("SELECT * FROM mijnenveger_open WHERE naam = '$naam'");
$pogingen = mysql_num_rows($pogingen_select);

if($pogingen > 0){
	$mijnen_teller = 0;
	while($row = mysql_fetch_array($pogingen_select)){
		$veld = "veld".$row['veld'];
		$veld_select = mysql_query("SELECT * FROM mijnenveger WHERE naam = '$naam' LIMIT 1");
		while($row = mysql_fetch_array($veld_select)){
			if($row[$veld] == "mijn"){ $mijnen_teller++; }
		}
	}
}

if($mijnen_teller == 10){
	echo "Je hebt alle mijnen gevonden en je hebt daar ".$pogingen." keer over gedaan.<br>";
	$delete = mysql_query("DELETE FROM mijnenveger WHERE naam = '$naam' LIMIT 1") or die(mysql_error());
	$delete_open = mysql_query("DELETE FROM mijnenveger_open WHERE naam = '$naam'") or die(mysql_error());
	echo "<a href='mijnenveger_oud.php'>Opniew.</a><br>";
	echo "&nbsp;<br>";
}	

echo "Velden geopend: ".$pogingen.".<br>";
if($mijnen_teller == ""){ $mijnen_teller = 0; }
echo "Mijnen gevonden: ".$mijnen_teller." / 10.<br>";
echo "&nbsp;<br>";

$o = $_GET['o'];

if($o == "" || $o > 100 || $o < 0){

	$veld_select = mysql_query("SELECT * FROM mijnenveger WHERE naam = '$naam' LIMIT 1");
	if(mysql_num_rows($veld_select) == 0){
		echo "Er is iets mis gegaan bij het genereren van een veld.";
	} else {
		while($row = mysql_fetch_array($veld_select)){
			$teller_spel = 1;
			while($teller_spel <= 100){

				$open_select = mysql_query("SELECT * FROM mijnenveger_open WHERE naam = '$naam' AND veld = '$teller_spel' LIMIT 1");

				if(mysql_num_rows($open_select) == 1){

					$veld = "veld".$teller_spel;

					if(is_numeric($row[$veld])){ $file = $row[$veld].".jpg"; }
					if($row[$veld] == "mijn"){ $file = "mijn.jpg"; }

					if(($teller_spel / 10) == round($teller_spel / 10,0)){
						echo "<img src='".$file."'><br>";
					} else {
						echo "<img src='".$file."'>";
					}

				} else {

					echo "<a href='mijnenveger_oud.php?o=".$teller_spel."'>";

					if(($teller_spel / 10) == round($teller_spel / 10,0)){
						echo "<img src='leeg.jpg' border='0'><br>";
					} else {
						echo "<img src='leeg.jpg' border='0'>";
					}

					echo "</a>";

				}

				$teller_spel++;
			}
		}
	}
} else {

	$open_veld = "INSERT INTO mijnenveger_open (naam,veld) VALUES ('$naam','$o')";
	mysql_query($open_veld) or die(mysql_error());

	echo "<script language='JavaScript'> document.location = 'mijnenveger_oud.php'; </script>";

}

echo "&nbsp;<br>";

echo "<form method='post' target='_self'>";
echo "<input type='submit' name='opniew' value='Speel opniew!'>";
echo "</form>";

if($_POST['opniew']){
	$delete = mysql_query("DELETE FROM mijnenveger WHERE naam = '$naam' LIMIT 1") or die(mysql_error());
	$delete_open = mysql_query("DELETE FROM mijnenveger_open WHERE naam = '$naam'") or die(mysql_error());
	echo "<script language='JavaScript'> document.location = 'mijnenveger_oud.php'; </script>";
}

?>

Reacties

0
Nog geen reacties.