anpera.net https://anpera.dyndns.org/phpbb3/ |
|
Zufalls Variblen? https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=3596 |
Seite 1 von 1 |
Autor: | xatchemx [ So 22 Apr, 2007 18:24 ] |
Betreff des Beitrags: | Zufalls Variblen? |
Hayho.. mal ne kurze frage: Kan man einen Variablenzufalsscode machen? aslo das hier is das normale: [php]#### Einstellungen : Variablen #### $name = "xatchemx"; // name von Anpera $dorf = "Anpera"; // name der website $postes = "523"; // wieviele postes der user bekommt #### Ende der Variblen Einstellung ####[/php] das dan so: [php]#### Einstellungen : Variablen #### $name = "xatchemx"; // name von Anpera $dorf = "Anpera"; // name der website switch(e_rand(1,5)){ case 1: $postes = "523"; // wieviele postes der user bekommt break; case 2: $postes = "23"; // wieviele postes der user bekommt break; case 3: $postes = "0"; // wieviele postes der user bekommt break; case 4: $postes = "5245"; // wieviele postes der user bekommt break; $postes = "52"; // wieviele postes der user bekommt break; } #### Ende der Variblen Einstellung ####[/php] is nur mal so ne kleine frage ôo |
Autor: | Nightborn [ So 22 Apr, 2007 18:44 ] |
Betreff des Beitrags: | |
ums kurz zu machen: "hä?" was genau willst du mit dem codestück da bezwecken? |
Autor: | xatchemx [ So 22 Apr, 2007 18:49 ] |
Betreff des Beitrags: | |
das war nur'n beispiel -.- |
Autor: | Naria [ So 22 Apr, 2007 21:21 ] |
Betreff des Beitrags: | |
Ich muss auch gestehen, dass das Beispiel etwas hinkt, aber es kommt dir wohl eher auf die Syntax an. Soweit ich das gesehen habe, sollte der Code funktionieren, wobei zu bedenken ist, dass bei jedem Neuladen der Seite die Variablen neu gesetzt werden. Ich weiß nicht, was du damit machen willst, doch würde das mich ein wenig stören bei gewissen Dingen. |
Autor: | Nightborn [ So 22 Apr, 2007 21:39 ] |
Betreff des Beitrags: | |
Ohne Kontext, keine Ahnung. Zufallsvariable wie... hö? Zitat: $array=array();
$array[]="erster Zufallswert"; $array[]="zweiter Zufallswert"; .... $zufallswert=$array[e_rand(0,count($array)-1)]; alternativ kannst auch array_rand verwenden, oder so. ich hab immer noch null idee was Du für Werte da drin haben willst... wenn es keine Strings sein sollen, leg Dir Intervallgrenzen fest und mach ein e_rand(). |
Autor: | xatchemx [ So 22 Apr, 2007 21:44 ] |
Betreff des Beitrags: | |
sagen wirs mal so: [php]#### E. Variablen #### $name = "Betzen"; //Name des herschers $dorf = "Urulenta"; // Name des dorfes $g = "0"; // Geschlecht 0=> Maenlich 1 => Weiblich switch(e_rand(1,5)){ case 1: $gold = 523; // wieviele gold der user bekommt! break; case 2: $gold = 23; // wieviele gold der user bekommt break; case 3: $gold = 53; // wieviele gold der user bekommt! break; case 4: $gold = 5423; // wieviele gold der user bekommt! break; $gold = 3; // wieviele gold der user bekommt! break; } switch(e_rand(1,5)){ case 1: $gems = 2; // gems die der user bekommt break; case 2: $gems = 4; // gems die der user bekommt break; case 3: $gems = 7; // gems die der user bekommt break; case 4: $gems = 1; // gems die der user bekommt break; case 5: $gems = 0; // gems die der user bekommt } #### Ende der Variblen Einstellung #### [/php] [php]if ($_GET['op']==""){[/php] etwas weiter unten: [php] if ($_GET['op']=="find"){ output("Langsam gehst du den Gang entlang, und siehst etwas auf dem Boden liegen.Als du es näher betrachtest, siehst du das esein paar Edelsteine und Goldstücke sind. Freudig über diesen Fund gehst du deines Weges."); $session['user']['gold']+=$gold; $session['user']['gems']+=$gems; addnav("[............]","........php");[/php] also sinn der sache, das man dort immer unterschiedlich viele gems und gold bekommt manchmal 0, manchmal aber auch 7! Deshalb habe ich gefragt ;-) Naja.. ![]() |
Autor: | Nightborn [ So 22 Apr, 2007 21:54 ] |
Betreff des Beitrags: | |
Das kann man schon so machen, wenns völlig wilde Zahlen sind. Ich würde tun: [php] #### E. Variablen #### $name = "Betzen"; //Name des herschers $dorf = "Urulenta"; // Name des Dorfes $g = "0"; // Geschlecht 0=> Maennlich 1 => Weiblich $zufallsgold=array(523,23,53,5423,3); $gold=$zufallsgold[e_rand(0,count($zufallsgold)-1)]; $zufallsgems=array(2,4,7,1,0); $gems=$zufallsgems[e_rand(0,count($zufallsgems)-1)]; #### Ende der Variablen Einstellung #### [/php] da kannst dann später einfach die Arraywerte ändern ohne große Mühe. Versuch ordentlich zu schreiben, bitte... "wieviele gold der user bekommt"...#### Ende der Variablen Einstellung #### |
Autor: | xatchemx [ So 22 Apr, 2007 21:59 ] |
Betreff des Beitrags: | |
ok wen ich dan jetzt [php]#### E. Variablen #### $name = "Betzen"; //Name des herschers $dorf = "Urulenta"; // Name des Dorfes $g = "0"; // Geschlecht 0=> Maennlich 1 => Weiblich $zufallsgold=array(523,23,53,5423,3); $gold=$zufallsgold[e_rand(0,count($zufallsgold)-1)]; $zufallsgems=array(2,4,7,1,0); $gems=$zufallsgems[e_rand(0,count($zufallsgems)-1)]; #### Ende der Variablen Einstellung #### [/php] nehme muesste ich hinterher [php]$session['user']['gold']+=$zufallsgold;[/php] bez. [php]$session['user']['gold']-=$zufallsgold;[/php] schreiben!? |
Autor: | Eichi [ So 22 Apr, 2007 22:06 ] |
Betreff des Beitrags: | |
eher [php] $session['user']['gold']+=$gold; //oder $session['user']['gold']-=$gold; [/php] Sonst wäre der zweite Schritt überflüssig und du würdest unausgeglichene komische Werte bekommen.. *glaub* |
Autor: | Nightborn [ So 22 Apr, 2007 22:22 ] |
Betreff des Beitrags: | |
Ich stimme Eichi zu. Ich hatte das an den Rest Deines Skripts angepasst. |
Autor: | xatchemx [ Mo 23 Apr, 2007 06:12 ] |
Betreff des Beitrags: | |
ok! Ich dank euch ![]() ![]() ![]() |
Autor: | MySql [ Fr 25 Mai, 2007 19:00 ] |
Betreff des Beitrags: | |
Du könntest dies aber auch so machen: [php]if { $Beispiel [0] = 1; $Beispiel [1] = 2; $Beispiel [2] = 3; $Beispiel [3] = 4; $Beispiel [4] = 5; $Beispiel [5] = 6; $Beispiel [6] = 7; $Beispiel [7] = 8; $Beispiel [8] = 9; $Beispiel [9] = 10; $Beispiel [10] = 11; $Auswertung = $Beispiel[mt_rand(0,10)]; } [/php] Ich meine das dies so war.. Ok aber ich habe auch eine klitze kleine, aber dafür schei* schwere Frage. Wie wandel ich die ZufallsVariable wider so um, das Im Text und in der $session Ausgabe das gleiche bei raus kommt?( Ich nehme die Varibale von oben! ($Auswertung) [php]Output('Auf dem Boden findest du $Auswertung Goldstücke'); // Der User findet 5 Goldstücke in diesem Falle! $session['user']['gold']+=$Auswertung; // User soll hier ebendfalls 5 Goldstücke bekommen[/php] wie bekomme ich das hin? Output(' |
Autor: | -DoM [ Fr 25 Mai, 2007 19:21 ] |
Betreff des Beitrags: | |
Du hast es dir zwar fast selbst beantwortet, aber bitte hier nochmal..... [php] $gold = e_rand(1,20); output('Du findest auf dem Boden '.$gold.($gold==1?' Goldstück':' Goldstücke').', welche du sogleich einsteckst.'); $session['user']['gold'] += $gold; [/php] |
Autor: | MySql [ Fr 25 Mai, 2007 19:48 ] |
Betreff des Beitrags: | |
Öööööhm, ok ![]() Des ist grad ein bissel komplex. Kannst du mir ebend erläutern was genau du da gemacht hast ? ![]() Wenn ich dich störe einfach nur sagen ![]() |
Autor: | Naria [ Fr 25 Mai, 2007 20:16 ] |
Betreff des Beitrags: | |
-DoM hat geschrieben: [php] $gold = e_rand(1,20); [/php] Zufallszahl zwischen 1 und 20 für die Anzahl der Goldstücke, in $gold gespeichert -DoM hat geschrieben: [php] output('Du findest auf dem Boden '.$gold.($gold==1?' Goldstück':' Goldstücke').', welche du sogleich einsteckst.'); [/php] Ausgabe der Anzahl der Goldstücke + Änderung des Nomens Wenn $gold==1 wird Goldstück ausgegeben, ansonsten Goldstücke -DoM hat geschrieben: [php]
$session['user']['gold'] += $gold; [/php] Der Benutzer bekommt das Gold gutgeschrieben. |
Autor: | MySql [ Fr 25 Mai, 2007 20:29 ] |
Betreff des Beitrags: | |
Ja ok.. Aber ich will ja nicht immer nur "1" bekommen. Moment.... ...Weiter geht.. [php] $TempelNummer = e_rand(1,6); if ($TempelNummer>=5) { $Gottheit[0] = "Ramius"; $Gottheit[1] = "Aphrodite"; $Gottheit[2] = "Fexez"; $Gottheit[3] = "Zeus"; $Gottheit[4] = "Hera"; $Gottheit[5] = "Athene"; $Gottheit[6] = "Thor"; $Gottheit[7] = "Hator"; $Gottheit[8] = "Anubis"; $Gottheit[9] = "Seth"; $Gottheit[10] = "keinem dir Bekannten Gott"; $Gott = $Gottheit[mt_rand(0,10)]; } [Start BlaBlub.... ....Ende Blablub] if ($TempelNummer>=5){ Output ("`n`nDu erkennst das dieser Tempel $Gott geweiht ist.");} if ($TempelNummer==1){ Output ("`n`nDu hast den Großen Tempel des Ramius gefunden.");} if ($TempelNummer==2){ Output ("`n`nDu hast den Himmlischen Tempel der Göttin Aphrodite gefunden.");} if ($TempelNummer==3){ Output ("`n`nVor dir liegt der mächtige Tempel des Zeus");} if ($TempelNummer==4){ Output ("`n`nDer tempel des Fexez liegt vor dir.");} [/php] was bitte schön will man dan hier eingeben? (Codeschnipsel auf Thread Diesem hier! Damit [php] if ($TempelNummer>=5){ Output ("`n`nDu erkennst das dieser Tempel $Gott geweiht ist.");} [/php] auf der darauf folgenden Seite der gleiche 'Gott' steht? Und das finde ich i-wie komplex... ![]() |
Autor: | -DoM [ Sa 26 Mai, 2007 09:00 ] |
Betreff des Beitrags: | |
Mache ein Array... Du hättest auch dazu schreiben sollen, was du willst. Wir gingen alle von Zahlen aus... [php] $gottheiten = array(1=>'Ramius','Aphrodite','Fexez'); output('Dein Zufallsgott ist: '.$gottheiten[e_rand(1,3)]); [/php] Es wird per "e_rand()" eine Zufallszahl zwischen 1 und 3 ermittelt. Wird die Zahl "2" ermittelt, wird "Aphrodite" angezeigt, in diesem "output()" Oder: [php] $gottheiten = array(1=>'Ramius',2=>'Aphrodite',3=>'Fexez',0=>'Keiner'); output('Dein gewählter Gott ist: '.$gottheiten[$session['user']['gott']]); [/php] Hier wird der Gott aus einem Feld der Accountstabelle bestimmt, welches aber vorhanden sein sollte... |
Autor: | MySql [ Sa 26 Mai, 2007 09:19 ] |
Betreff des Beitrags: | |
Ich dankle euch für die schnellen antworten. Lg |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |