Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wylosowanie x-różnych wartości za jednym razem
Forum PHP.pl > Forum > PHP
wembleyos
Witam. Otóż zastanawiam się nad takim problemem. Mam taki kawałek kou:
  1. ...
  2. if($walkaRow["runda".$i."_3"] == null) {
  3. // niebieski ///uderzenie prostym
  4. if($niebieskiProstySzansa>$niebieskiRandom){
  5. if($czerwonyProstyUnik>$czerwonyRandom){
  6. $cios = "czerwony uniknł ciosu prostego od niebieski \n";
  7. $db->query("UPDATE `user_walka` SET `runda".$i."_3` = CONCAT(`runda".$i."_3`, '$cios') WHERE `userid` = ".$niebieski['userid']." AND `userid2` = ".$czerwony['userid']."");
  8. }else{
  9. $cios = "niebieski uderzył czerwony ciosem prostym \n";
  10. $db->query("UPDATE `user_walka` SET `runda".$i."_3` = CONCAT(`runda".$i."_3`, '$cios') WHERE `userid` = ".$niebieski['userid']." AND `userid2` = ".$czerwony['userid']."");
  11. $db->query("UPDATE `users` SET `hp` = `hp`-$niebieskiProstySila WHERE `userid` =".$czerwony['userid']."");
  12.  
  13. }
  14. }else{
  15. $cios = "niebieski nie trafił czerwony prostym \n";
  16. $db->query("UPDATE `user_walka` SET `runda".$i."_3` = CONCAT(`runda".$i."_3`, '$cios') WHERE `userid` = ".$niebieski['userid']." AND `userid2` = ".$czerwony['userid']."");
  17.  
  18. }
  19.  
  20.  
  21. // niebieski ///uderzenie sierpowym
  22. if($niebieskiSierpowySzansa>$niebieskiRandom){
  23. if($czerwonySierpowyUnik>$czerwonyRandom){
  24. $cios = "czerwony wykonał unik przed sierpowym od niebieski \n";
  25. $db->query("UPDATE `user_walka` SET `runda".$i."_3` = CONCAT(`runda".$i."_3`, '$cios') WHERE `userid` = ".$niebieski['userid']." AND `userid2` = ".$czerwony['userid']."");
  26. }else{
  27. $cios = "niebieski tafił czerwony sierpowym \n";
  28. $db->query("UPDATE `user_walka` SET `runda".$i."_3` = CONCAT(`runda".$i."_3`, '$cios') WHERE `userid` = ".$niebieski['userid']." AND `userid2` = ".$czerwony['userid']."");
  29. $db->query("UPDATE `users` SET `hp` = `hp`-$niebieskiSierpowySila WHERE `userid` =".$czerwony['userid']."");
  30. }
  31. }else{
  32. $cios = "niebieski nie trafił czerwony sierpowym \n";
  33. $db->query("UPDATE `user_walka` SET `runda".$i."_3` = CONCAT(`runda".$i."_3`, '$cios') WHERE `userid` = ".$niebieski['userid']." AND `userid2` = ".$czerwony['userid']."");
  34.  
  35. }
  36. ...


I jest to wykonanie pierwsze. Chcę, aby wrzucając do bazy danych wykonanie za każdym razem było inne (jest 8 rund po 3 minuty). Problem był prawie rozwiązany, gdyby nie to że aby skrypt się mógł wykonać, użytkownik musiałby cały czas mieć do przed sobą odpalony i musiałby sie co jakiś czas odświeżać.
Jak mogę rozwiązać ten problem, by nie kopiowac tego kodu jeszcze przez kolejne 2 razy zmieniając tabele z _3 na _2 i _1, tylko żeby jedna instrukcja była za to odpowiedzialna + wrzucając do bazy danych za każdym razem szansa na dany cios/unik była inna? (obecnie każdy rekord miał te same wartości i mijało się to z sensem) Skrpyt jest wykonywany w pętli for odpowiadającej już ośmiu rundom, stąd
Kod
runda".$i."
toaspzoo
runda$i
wembleyos
w bazie danych mniej więcej wygląda to tak:
runda1_1, runda 1_2, runda 1_3, runda_2.... i chcę za każdym razem wrzucając rekord aby był on o innej treści.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.