Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Losowanie lotto.
Macios25
post 7.08.2011, 21:05:22
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 31.07.2011

Ostrzeżenie: (0%)
-----


Witajcie.

Próbuje nauczyć się na własną rękę pisać skrypty w php. Zapoznałem się z podstawami jednak nie zawsze wiem czy wykorzystuje zdobytą w najprostszy sposób. Dlatego chciałbym abyście rzucili okiem na mój skrypt losowania lotto
i powiedzieli co mogłem zrobić lepiej i w jaki sposób.

  1. <?php
  2. $zakres = array(1=>1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49);
  3. // zakres liczb z jakich ma być losowane 6 cyfr.
  4.  
  5. $wprowadzone="3,9,7,2,22,12";
  6. // Liczby wprowadzone przez użytkownika. ( Muszą one być odzielone odcinkami. )
  7.  
  8. if(!preg_match('#^[0-9,}]+$#ui', $wprowadzone)) {
  9. // tą linijkę kodu ukradłem z innego skryput. Nie mogę zrozumieć wyrażeń warunkowych, nie wiem czy użyłem tej funkcji prawidłowo.
  10. echo("<br>Blad! Musisz podac 6 liczb z zakresu od 1 do 49, odzielonych za pomoca przecinka!<br>");
  11. // W wypadku gdy użytkownik poda niedozwolony ciąg znaków zostanie wyśwetlony komunikat o błędzie.
  12. die();
  13. // Zostanie również wtedy zakończone działanie skryptu.
  14. }
  15.  
  16.  
  17. $wprowadzone =explode(",",$wprowadzone);
  18. // Każda liczba odzielona przecinkiem zostaje osobno przypisana do tablicy wporowadzone.
  19.  
  20.  
  21.  
  22. for ($i = 0; $i<= 5; $i++) {
  23. if ($wprowadzone[$i]>49 or $wprowadzone[$i]<1 ){
  24. echo("Możesz podawać tylko liczby zakresu od 1 do 49!<br>");
  25. die();
  26. }
  27. // Pętla sprawdza czy podane liczby pochodza z zakresu od 1 do 49;
  28.  
  29.  
  30. }
  31.  
  32.  
  33. echo("Wybrane przez Ciebie liczby to: <br>");
  34. for ($i = 0; $i <= 5; $i++) {
  35. echo($wprowadzone[$i]." ");
  36. }
  37. // Wypisuje 6 wybranych przez użytkownika liczb.
  38.  
  39.  
  40.  
  41.  
  42. echo("<br>Wylosowano:<br>");
  43.  
  44. for ($i = 1; $i<= 6; $i++) {
  45. // pętla wykona się 6 razy, za każdym razem wylosuje jedną liczbę i umieści ją w tablicy losuj
  46. $losuj[$i] = array_rand($zakres, 1);
  47. // losuje liczbę z tablicy zakres.
  48. unset($zakres[$losuj[$i]]);
  49. // usuwa wylosowaną liczbę z tablicy zakres - każada liczba ma być unikalna.
  50. echo($losuj[$i]." ");
  51. // Zwaraca wylosowaną liczbę.
  52. }
  53.  
  54.  
  55.  
  56.  
  57.  
  58. $licznik =0;
  59.  
  60.  
  61. for ($i = 0; $i <= 5; $i++) {
  62. if (in_array($wprowadzone[$i], $losuj)) {
  63. $licznik++;
  64. }
  65. }
  66. //Porównuje liczby wylosowane z liczbami podanymi przez użytkownika.
  67.  
  68.  
  69.  
  70. echo ("<br>Trafione: ".$licznik);
  71. // Wyświelta liczbę trafień.
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78. ?>
  79.  
  80.  
  81.  


Chyba trochę przesadziłem z komentarzami...

Proszę o sugestie i pozdrawiam
Maciek.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.08.2025 - 22:35