Schatzsuche

Wir sammeln alle Infos der Bonusepisode von Pokémon Karmesin und Purpur für euch!

Zu der Infoseite von „Die Mo-Mo-Manie“
  • Hallo,


    heut schreib ich mal wieder ein kleines Tutorial..
    Entstanden ist es aus langeweile, hab auch ned lang fürs Script gebraucht..


    Es geht um eine Schatzsuche. Ein Schatz wurde im Sand versteckt und die User deiner Seite können versuchen ihn zu finden ;)


    Dazu brauchen wir erstmal eine Grafik von Sand. zB die hier: http://commons.wikimedia.org/wiki/File: Sand.jpg
    Die Grafik würd ich allerdings noch verkleinern, zB auf 500x750 pixel


    Jetzt zum Script. Ich hab das ganze schön als Klasse mit Scleifchen und Konfetti verpackt..
    Daneben stehen Kommentare, das ganze sollte selbsterklärend sein. Falls ihr doch noch Fragen habt, könnt ihr sie mir natürlich gerne stellen, ich reis euch nich den Kopf ab.. Vielleicht :P


    Hier das Script:

    PHP
    <?php	class Schatzsuche {		public $x = null;		public $y = null;		public $found = false;		protected $schatzWidth = 0; // Breite des Schatzes in Pixeln		protected $schatzHeight = 0; // Hoehe des Schatzes in Pixeln		protected $schatzX = 0; // Koordinaten, wo der Schatz versteckt ist		protected $schatzY = 0; // genauer gesagt die linke obere Ecke des Schatzes		public function __construct ($schatzX, $schatzY, $schatzWidth, $schatzHeight) {			$this->schatzX = $schatzX;			$this->schatzY = $schatzY;			$this->schatzWidth = $schatzWidth;			$this->schatzHeight = $schatzHeight;		}		public function search ($x = null, $y = null) {			if (($x === null or $y === null) and !empty($_POST['sand_x']) and !empty($_POST['sand_y'])) {				$x = intval($_POST['sand_x']);				$y = intval($_POST['sand_y']);			}			if ($x === null or $y === null) return false; // abbrechen, wenn keine koordinaten uebergeben			$this->x = $x;			$this->y = $y;			if ($this->x >= $this->schatzX and $this->x <= ($this->schatzX + $this->schatzWidth)) {				if ($this->y >= $this->schatzY and $this->y <= ($this->schatzY + $this->schatzHeight)) {					$this->found = true;				}			}		}	}	// Parameter: Koordinaten wo der Schatz versteckt ist, Breite des Schatzes in Pixeln, Hoehe des Schatzes in Pixeln	$schatzsuche = new Schatzsuche(50, 200, 20, 20);	$schatzsuche->search();?>



    Das ganze kommt am besten untereinander in eine Datei. Ich habs hier nur in 2 Blöcke aufgeteilt, damits besser gehighlightet wird..
    Ihr müsst das ganze natürlich noch anpassen.. also das Ziel der Form, den Grafiknamen, etc..
    Nicht zu vergessen auch die Position und Größe des Schatzes :thumbsup:


    Ich hoff euch gefällt die Schatzsuche ;)

    :thumbsup:

    Yeah, hatte grade meinen 256. Beitrag :D Beim 512. wird dann aber richtig gefeiert :D

    5 Mal editiert, zuletzt von Chris! ()

  • So etwas ähnliches hatte ich schonmal mit einer Serverseitige Imagemap gemacht. Da war die zu findende Stelle aber nur 1*1px groß und ich hatte nen 1000*600 Bild oder so ;D


    Dein Skript könnte man aber sicher auch gut für Captchas nutzen ;)

  • Dein Skript könnte man aber sicher auch gut für Captchas nutzen ;)

    du meinst sowas wie "klicken sie auf den großen stein"? ^^
    und dann wird serverseitig die große sandgrafik immer so beschnitten, dass der Stein mit drauf is, der Ausschnitt aber anders..


    könnt ich mir richtig gut als Captcha vorstellen.. besser als abtippen..


    übrigens werd ich heut noch das script abändern, so dass es mehr OOP entspricht ;)

  • So, ich hab die Version geupdatet. Wichtig bei der Version is, dass ihr die Position und Größe des Schatzes nicht in der Klasse verändert,
    sondern unten wo eine Instanz der Klasse Schatzsuche erstellt wird..


    eeZy, mit der Captcha hast du mich echt auf was gebracht ;) Ich bin am werkeln xD

  • So Captcha ist fertig:



    Die die würdig sind es zu benutzen brauchen keine Anleitung. ;D


    Der offene schwarze Ring ist zu klicken.

  • Ich probiers nachher aus ;)


    wobei ich halt stein und sand schöner fänd wie nen kreis xD
    aber das is ja ne anpassung von zwei minuten..


    achja, ich würd die position in der session und nich in ner datei speichern..
    setzt aber auch ne session vorraus ;)

    :thumbsup:

    Yeah, hatte grade meinen 256. Beitrag :D Beim 512. wird dann aber richtig gefeiert :D

    Einmal editiert, zuletzt von Chris! ()