Skocz do zawartości

Rzut kości...


palermo

Rekomendowane odpowiedzi

Witam!

Przy pisaniu gry pojawiły się u mnie następujące problemy:

1. Potrzebuję zrobić okienko do wprowadzania danych (dokładnie pięciu cyfr, nie więcej - pierwszy problem), te dane jak się domyślam będą przypisane jednej zmiennej, potrzebuje tą pięciocyfrową liczbę rozdzielić na pięć zmiennych, np. wprowadzam 12533 -> rozdzielam to na: a=1, b=2, c=5, d=3, e=3.

2. Mam pięć zmiennych, potrzebuję teraz sprawdzić czy te pięć zmiennych układa się w kombinacji 2 + 3, np. podane liczby to 2,3,3,2,3, albo 5,4,4,5,5.

Z góry dzięki za pomoc!

Pozdrawiam!

Odnośnik do komentarza
Udostępnij na innych stronach

Pojawił się kolejny problem. Otóż mam losowo wybranych 5 zmiennych (rzut kośćmi). Jak sprawdzić czy jest to duży strit? Sprawdzam czy zmienne są od siebie różne, ale pojawia się taki problem bo może być 1,2,3,4,5 - zmienne różne jest duży strit, 1,2,4,5,6 - zmienne różne nie ma dużego strita, trzeba wyeliminować błąd z cyframi 1 i 6 ale nie wiem jak :mellow: O małym stricie to już nie wspomne :( (mały strit oznacza cztery kolejno ułożone cyfry z pięciu cyfr, np. 1,3,4,5,6 lub 1,2,3,4,6. Proszę o pomoc!

Odnośnik do komentarza
Udostępnij na innych stronach

co do tego rozdzielania liczby na cyfry:

liczba=12345
cyfra1=real( string_copy( string(liczba), 1,1 ) )
cyfra2=real( string_copy( string(liczba), 2,1 ) )
cyfra3=real( string_copy( string(liczba), 3,1 ) )
cyfra4=real( string_copy( string(liczba), 4,1 ) )
cyfra5=real( string_copy( string(liczba), 5,1 ) )

lub

liczba=12345
cyfra1=liczba div 10000
cyfra2=liczba div 1000 mod 10
cyfra3=liczba div 100 mod 10
cyfra4=liczba div 10 mod 10
cyfra5=liczba mod 10

Odnośnik do komentarza
Udostępnij na innych stronach

Dzieki. Jak jeszcze ograniczyć wpisywanie zmiennej do pięciu znaków? Może trzeba zrobić tak że znaki powyżej piątego są ignorowane?

Aha i teraz mój największy problem! Sprawdzenie czy pięć zmiennych (a,b,c,d,e) układa się w kombinacje małego strita (przynajmniej cztery z pięciu zmiennych muszą układać się w jeden ciąg, np. 1,2,3,4,6 lub 3,2,3,4,5). Próbowałem już kilku sposobów ale nic nie działa :/ Proszę o pomoc!!

Odnośnik do komentarza
Udostępnij na innych stronach

1. Uzywajac get_string (lub get_integer), mozna conajwyzej zignorowac dalsza czesc po 5 znaku, np. wykorzystujac string_copy().

 

2. Trzeba po kolei porownywac ze soba najpierw cztery pierwsze, a pozniej cztery ostatnie liczby.

 if (cyfra1==cyfra2-1) && (cyfra2==cyfra3-1) ....

Do usprawnienia mozna zastosowac petle.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

zrób tablice 6 na 5 - 6 bo tyle wartość może wkazać jedna kość , 5 bo tyloma kościami rzucasz.

Dzięki tablicy będziesz w stanie sprawdzić wszystkie możliwe kombinacje i ustalić czy to jest mały czy duży

strit, para, trójka, kareta itd. Robiłem gre w kości w studium na zaliczeni z programowania w Turbo Pascalu -

na tablich działało najlepiej. Przykład:

zakładamy że wyrzuciłeś 3,5,2,6,1 w tablicy będzie to wygładać tak:

 

0 0 1 0 0 0

0 0 0 0 1 0

0 1 0 0 0 0

0 0 0 0 0 1

1 0 0 0 0 0

 

dalej robisz sumę wartości w poszczególnych kolumnach - w naszym wypadku otrzymamy 111011 - i już wiadomo, że nie ma ani małego ani dużego srita. Przy dużym stricie - 111110 lub 011111, przy małym 4 jedynki w jednym ciągu (np. 111101), w wypadku pary pojawi cyfra 2 (np. 110021 - para piątek) w wypadku trójki - cyfra 3 (np. 310001 - trójka jedynek ) itd ..

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...