webForumDet fria alternativet

Random i PHP

PHP

28 svar · 1 242 visningar · startad av SoulGod · sida 2 av 2

Frågan, av SoulGod

Jag undrar hur man gör ett enkelt randomscript i PHP, säg att jag har följande saker: A1 - A2 - A3 - A4 - B1 - B2 - B3 - B4 Och vill att scriptet ska ge mig ett "random" av detta alternativ. Hur gör jag detta? Och sedan, om jag vill ge varje sak av detta ett värde, t.ex A1 = 1 // A2 = 2 , för att kunna utnyttja detta senare i en matematisk uträkning, hur gör jag detta? Kan ingenting om PHP, och

Läs frågan i sin helhet →
Medlem sedan aug. 20051 200 inlägg
#21

Tack tydal :P
Compusa > Jo - är medveten om det... Försöker läsa mig kring alla dessa php-regler
( Helt ny på php )

Försökte även ladda hem ett färdigt, men det krävde Ajax, så det blev inget.

Så, har nu 6 olika websidor med PHP guider som jag försöker lära mig av :P
Som tydal kan intyga - går det inget vidare :P

Medlem sedan jan. 20023 327 inlägg
#22

Ta det bit för bit så lär du dig säkert något på vägen. Det gäller bara att komma in i tankesättet. Vissa lär sig väldigt fort, vissa får kämpa och de finns även många som aldrig lär sig. Kämpa och läs så ska du se att det ordnar sig. Om du inte har någon bok om grunderna i PHP så tycker jag du ska skaffa dig det. Har du väl gått igenom grunderna och verkligen läst och förstått så ska du se att det kommer gå lättare.

Det är en stor fördel om man är bekväm med att läsa på engelska. Här finns en gratisbok för onlineläsning. Om du vill ha en bok att kunna hålla i så kanske denna kan vara något?

Medlem sedan aug. 20051 200 inlägg
#23

Har 4 böcker på G hemmåt, så det blir nog att läsa en hel del i sängen sen haha
Problemet just nu är att mina problem jag stöter på inte är "newbie-stuff" känns det som.

Som t.ex att få ett script att kunna hantera ett äss som 1 / 11 beroende på vad det "andra" kortet är,
och att man t.ex ska kunna begära ett till kort, beroende på hur mkt poäng man har ..

Medlem sedan juni 20034 013 inlägg
#24

SoulGod skrev:

Problemet just nu är att mina problem jag stöter på inte är "newbie-stuff" känns det som. Som t.ex att få ett script att kunna hantera ett äss som 1 / 11 beroende på vad det "andra" kortet är,
och att man t.ex ska kunna begära ett till kort, beroende på hur mkt poäng man har ..

Det är newbie-stuff, men inte i php utan i ämnet programmering. Du kanske skulle läsa en bok om hur man programmerar i största allmänhet? Har tyvärr inget boktips...

Men det man får göra är att spara vilka kort som är valda, så att man när som helst kan räkna om summan. Och i summaräkningen så gör man helt enkelt så att om summan överstiger 21 så räknar man om, men med essen som 1.

För att spara de valda korten så använder man en lista (array). Du kan lägga in följande rad under echo visaKort...

$valdakort[] = $kort;

För att summera behöver vi nu skapa en funktion:

<?
funktion summera($valdakort)
{
  $summa = 0;
  foreach ($valdakort as $kort)
  {
    $valor = valor($kort);
    if ($valor == 1)
      $valor = 11;
    $summa += $valor;
  }
  if ($summa > 21)
  {
    $summa = 0;
    foreach ($valdakort as $kort)
    {
      $summa += valor($kort);
  }
  return summa;
}
?>
Medlem sedan aug. 20051 200 inlägg
#25

Ersatte echo Summa: " . $summa .... (antar den inte ska vara kvar när vi använder functionen?

Och la in koden där, men får felmeddelande (den vill ha en end if)
Stämmer det, eller har jag gjort fel? :P

Medlem sedan juni 20031 837 inlägg
#26
<?
funktion summera($valdakort)
{
  $summa = 0;
  foreach ($valdakort as $kort)
  {
    $valor = valor($kort);
    if ($valor == 1)
      $valor = 11;
    $summa += $valor;
  }
  if ($summa > 21)
  {
    $summa = 0;
    foreach ($valdakort as $kort)
    {
      $summa += valor($kort);
    } // <-- den här saknades
  }
  return summa;
}
?>

Fast den funktion blir inte riktigt rätt, tänk om du ha två ess, då kommer den funktionen att returnera 2 och inte 12.

Medlem sedan dec. 200574 inlägg
#27

Du hade glömt att skriva lite avslutande måsvingar, är det såhär du menar ?

<? 
function summera($valdakort) 
{  
       $summa = 0;  
       foreach ($valdakort as $kort){     
             $valor = valor($kort);
             if ($valor == 1)  
             {      
                 if ($summa < 11) {
                       $valor = 11; 
                 }   
                 else {
                        $valor = 1;
                 } 
            } 
            $summa += $valor;  
      }
        
     if ($summa > 21)  
     {     
         $summa = 0;  
     }   
     foreach ($valdakort as $kort)     
     {       
          $summa += valor($kort); 
     }   
     return summa;
 }
 ?>
Medlem sedan aug. 20051 200 inlägg
#28

http://pastecode.net/?action=viewpost&tag=3162

*** EDIT ***

Tackar för all hjälp :)
Har löst det mesta, och ska försöka koppla den mot en databas nu också :P

(Smygtittar även på en java-variant, men är osäker på DB koppling)

Iallafall - tack för all hjälp =)

Medlem sedan dec. 200574 inlägg
#29

i java använder man JDBC objektet, http://www.developer.com/java/data/article.php/3417381 här har du en länk om hur man gör

259 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)