anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Mi 11 Jun, 2025 03:30

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Fehler, der nicht auftreten dürfte
BeitragVerfasst: So 24 Jun, 2007 17:35 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
[php]
<?
require_once "common.php";
page_header("Der Hütchenspieler");

output("`5`c`bDer Hütchenspieler`b`c`n`n");

$huetchen=array("linke","mittlere","rechte");

if ($_GET['op']=="") {

output("`5An einem Tisch in der Schenke sitzt ein Mann, vor ihm auf dem Tisch stehen drei ");
output("Hütchen. Neugierig trittst du näher.`n`n\"`9Ein kleines Spielchen gefällig?`5\", ");
output("fragt er dich. \"`9Kostet auch nur einen Edelstein.`5\"`n`n");

addnav("Optionen");

$gems=$session['user']['gems'];

if ($session['user']['gems']>0) {
output("Ein Blick in deinen Beutel verrät dir, das du noch `#$gems`5 Edelsteine hast.");
addnav("Spielen","glueck.php?op=spielen");
} else {
output("Leider ist dein Beutel leer, komm wieder, wenn du einen Edelstein hast.");
}

addnav("Zurück","inn.php");

} else if ($_GET['op']=="spielen") {

output("`5Du legst einen Edelstein auf den Tisch und der Mann schiebt ihn unter das ");
output("".$huetchen['e_rand(1,3)']." Hütchen. Sofort beginnt er, die Hütchen zu verschieben, ");
output("sodass du nach wenigen Sekunden den Überblick verloren hast.`n`n`^Auf welches ");
output("Hütchen tippst du?`0");

$session['user']['gems']--;

addnav("Auf welches Hütchen tippst du?");
addnav("Aus das linke","glueck.php?op=links");
addnav("Aus das mittlere","glueck.php?op=mitte");
addnav("Aus das rechte","glueck.php?op=rechts");

} else {

$stein = e_rand(1,3);

if ($_GET['op']=="links") {

output("`5Du zeigst mit dem Finger auf das linke Hütchen. Der Mann hebt es an und...");
if ($stein==1) $gewonnen=true;

} else if ($_GET['op']=="mitte") {

output("`5Du zeigst mit dem Finger auf das mittlere Hütchen. Der Mann hebt es an und...");
if ($stein==2) $gewonnen=true;

} else {

output("`5Du zeigst mit dem Finger auf das rechte Hütchen. Der Mann hebt es an und...");
if ($stein==3) $gewonnen=true;

}

if ($gewonnen) {

output("`n`nDein Edelstein liegt darunter! Der Hütchenspieler gibt dir zwei Edelsteine.");
$session['user']['gems']+=2;

} else {

output("`n`nDein Edelstein liegt nicht darunter! Der Hütchenspieler hebt das ");
output("".$huetchen[$stein-1]." Hütchen an, nimmt deinen Edelstein und steckt ihn ");
output("sich in die Tasche.");

}

addnav("Optionen");
addnav("Zurück","inn.php");
if ($session['user']['gems']) addnav("Nochmal spielen","glueck.php?op=spielen");

}

page_footer();
?>[/php]

In diesem Script erscheint manchmal ne leere Seite, obwohl der Quelltext dann das hier sagt:

$this->bbcode_second_pass_code('', '
<span class='colDkMagenta'>Du zeigst mit dem Finger auf das linke H&uuml;tchen. Der Mann hebt es an und...

<br>
<br>
Dein Edelstein liegt nicht darunter! Der H&uuml;tchenspieler hebt das
mittlere H&uuml;tchen an, nimmt deinen Edelstein und steckt ihn
sich in die Tasche.')

Der Text ist ganz nach unten verschoben. Aber warum?

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 24 Jun, 2007 17:53 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
[php]<?php
require_once('common.php');
page_header('Der Hütchenspieler');

$huetchen = array('linke','mittlere','rechte');
$steine = $session['user']['gems'];
$stein = e_rand(1,3);

output('`5`c`bDer Hütchenspieler`b`c`n`n');

switch ($_GET['op']) {

default:
output('`5An einem Tisch in der Schenke sitzt ein Mann, vor ihm auf dem Tisch stehen drei Hütchen. Neugierig trittst du näher.`n`n"`9Ein kleines Spielchen gefällig?`5", fragt er dich. "`9Kostet auch nur einen Edelstein.`5"`n`n');

addnav('Optionen');

if ($steine > 0) {
output('Ein Blick in deinen Beutel verrät dir, das du noch `#'.$steine.'`5 Edelsteine hast.');
addnav('Spielen','glueck.php?op=spielen');
}
else {
output('Leider ist dein Beutel leer, komm wieder, wenn du einen Edelstein hast.');
}
break;

case 'spielen':
output('`5Du legst einen Edelstein auf den Tisch und der Mann schiebt ihn unter das '.$huetchen[e_rand(0,2)].' Hütchen. Sofort beginnt er, die Hütchen zu verschieben, sodass du nach wenigen Sekunden den Überblick verloren hast.`n`n`^Auf welches Hütchen tippst du?`0');

$session['user']['gems']--;

addnav('Auf welches Hütchen tippst du?');
addnav('Aus das linke','glueck.php?op=links');
addnav('Aus das mittlere','glueck.php?op=mitte');
addnav('Aus das rechte','glueck.php?op=rechts');

break;


case 'links':
output('`5Du zeigst mit dem Finger auf das linke Hütchen. Der Mann hebt es an und...');
if ($stein == 1) $gewonnen = true;
break;

case 'mitte':
output('`5Du zeigst mit dem Finger auf das mittlere Hütchen. Der Mann hebt es an und...');
if ($stein == 2) $gewonnen = true;
break;

case 'rechts':
output('`5Du zeigst mit dem Finger auf das rechte Hütchen. Der Mann hebt es an und...');
if ($stein == 3) $gewonnen = true;
break;
}

if ($gewonnen) {
output('`n`nDein Edelstein liegt darunter! Der Hütchenspieler gibt dir zwei Edelsteine.');
$session['user']['gems'] += 2;
}
else {
output('`n`nDein Edelstein liegt nicht darunter! Der Hütchenspieler hebt das '.$huetchen[$stein-1].' Hütchen an, nimmt deinen Edelstein und steckt ihn sich in die Tasche.');
}

addnav('Sonstiges');
addnav('Zurück','inn.php');
if ($session['user']['gems']) addnav('Von vorne beginnen','glueck.php?op=spielen');


page_footer();
?>[/php]

Versuch es mal so... Habe das ganze noch etwas klarer strukturiert. Vielleicht löst sich dein Problem bereits auf ^^


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 24 Jun, 2007 18:34 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Bei der Struktur hatte ich mir eigentlich was gedacht...

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo 25 Jun, 2007 09:33 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
Vielleicht liegt es ja genau daran.

Übrigens.... else if ist etwas anderes als elseif, und zweiteres ist sogar noch etwas schneller ;-) Aber eben... switch wäre das beste.

Und durch ein neues output einen Zeilenumbruch erzwingen ist auch nicht wirklich das Wahre. Alles in eines packen und mit `n arbeiten wäre besser.

Nur mal so meine Kommentare dazu... ^^


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo 25 Jun, 2007 10:25 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Ich hab damit keinen Zeilenunbruch erzwungen... ich habs so gemacht, damit ich bei meinem Editor nicht immer nach rechts scrollen muss...

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo 25 Jun, 2007 11:09 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
[php]output('Blablablablubb'
.'blablablablablablablablablduudu'
.'Tjahaaaaaaaaaa'
);[/php]

So gehts auch ;-)

Was den Zeilenumbruch betrifft. Dann tut es mir natürlich leid, hatte es wohl falsch interpretiert. Ich meinte mich jedoch daran zu erinnern, dass die Funktion output jeweils noch einen Zeilenumbruch anhängt. Vielleicht liegts ja daran.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 21 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum