Borland C++ builder, okienkowa, pętla uzupelniania memo


(Bobeeq) #1

Witam. Postanowiłem sobie napisać pewien programik w aplikacji okienkowej. I chciałbym stworzyć voida, który by randomował od 1 do 52. Następnie jeśli wyrandomowana liczba jest w przedziale 1-12, chcę, żeby w memo1 wypisało mi kartę (od 2 do Asa w kolorze czerwo), dodatkowo tą samą pętlę w innych kolorach (wino, dzwonek, żołędź). Po tym wszystkim, chcę aby wylosował kolejną liczbę i zapisał wynik w ten sam sposób do Memo2. I tak do rozdania sześciu kart :). Chciałem to zrobić na takiej zasadzie:

Ale zawiesiłem się na wypełnieniu memo; da się jakoś uzupełnić memo jakąś zmienną? Tzn, coś w stylu Memo1->Text=zmienna " czerwo"

gdzie zmienna to nazwa zmiennej, żeby wyświetlało to zawartość zmiennej czerwo?

@EDIT:

Ok, podrasowałem co nieco;

Ale teraz wszystkie memo wypełnia mi tą samą kartą. :?


(Xwars) #2

srand () używa się zazwyczaj tylko raz w całym programie, a już na pewno nie wewnątrz pętli.

Znając życie spytasz niedługo co zrobić by wylosowane karty nie powtarzały się :wink: O dziwo najprostszym rozwiązaniem jest zasymulowanie tasowania -> bierzesz tablice z wszystkimi kartami, losujesz dwie karty i zamieniasz miejscami w talii, powtarzasz ze dwieście razy :wink:


(Bobeeq) #3

Dlaczego nie wewnątrz pętli, skoro ja chcę za każdym razem otrzymać inną wartość zmiennej. Wydaje mi się to oczywiste, że trzeba stworzyć pętlę powtarzającą sranda. :roll:


(Bartek 525) #4

Wystarczy, że powtarzany będzie rand(). srand() używany jest po to, żeby przy każdym uruchomieniu programu były inne wyniki. Wystarczy użyć raz (chociaż nie wiem jak jest w generatorach bezpiecznych kryptograficznie (CSPRNG)).