ID tematu: 735
 |
Poker w Excelu |
Autor |
Wiadomość |
slgn [Usunięty]
|
Wysłany: 19-03-2007, 23:17 Poker w Excelu
|
|
|
Witam!
Bawie sie Excelem i chce zrobic cos takiego:
mam 52 karty zapisane w A1:A52, sa one losowane do B1:B52 przez takie makro:
Kod: |
Sub Losowanie()
Set cel = Range("B1:B52")
Set zrodlo = Range("A1:A52")
IleLosowan = cel.Cells.Count
liczMax = zrodlo.Cells.Count
BezPowtorzen = True
For x = 1 To IleLosowan
Randomize
Do
myVal = zrodlo.Cells(Int((liczMax * Rnd) + 1), 1)
Loop Until Not BezPowtorzen Or _
Application.CountIf(Range(cel.Cells(1, 1), _
cel.Cells(x, 1)), myVal) = 0
cel.Cells(x, 1) = myVal
Next
End Sub
|
jak zrobic zeby DOKLADNIE sie przenosily wartosci z kolumny A do B (w komorce A1 tekst jest czerwony po wylosowaniu do kolumny B czarny) |
|
 | ID posta:
3858
|
|
|
 |
|
|
|
Tajan

Pomógł: 5252 razy Posty: 11450
|
Wysłany: 19-03-2007, 23:46
|
|
|
Spróbuj w ten sposób:
Kod: | Sub Losowanie()
Set cel = Range("B1:B52")
Set zrodlo = Range("A1:A52")
IleLosowan = cel.Cells.Count
liczMax = zrodlo.Cells.Count
BezPowtorzen = True
For x = 1 To IleLosowan
Randomize
Do
Set myVal = zrodlo.Cells(Int((liczMax * Rnd) + 1), 1)
Loop Until Not BezPowtorzen Or _
Application.CountIf(Range(cel.Cells(1, 1), _
cel.Cells(x, 1)), myVal.Value) = 0
myVal.Copy
cel.Cells(x, 1).PasteSpecial xlPasteAll
Next
Application.CutCopyMode = False
End Sub
|
|
|
 | ID posta:
3863
|
|
|
 |
|
|
slgn [Usunięty]
|
Wysłany: 20-03-2007, 00:21
|
|
|
Prawie o to mi chodzilo,
Dziala dobrze, kolumna B wyglada tak jak bym chcial, tylko ekran mi przenosi
dodaje pliczek
http://www.gamenet.pl/datas/users/65-poker.zip
[ Dodano: 2007-03-20, 00:36 ]
btw jak mozna sie nauczyc tak wymiatac w VBA? |
|
 | ID posta:
3868
|
|
|
 |
|
|
Tajan

Pomógł: 5252 razy Posty: 11450
|
Wysłany: 20-03-2007, 09:36
|
|
|
Na początku makra dodaj linię:
Kod: | Application.ScreenUpdating = False |
a na końcu:
Kod: | Application.ScreenUpdating = True |
|
|
 | ID posta:
3872
|
|
|
 |
|
|
slgn [Usunięty]
|
Wysłany: 22-03-2007, 22:58
|
|
|
jeszcze jedno pytanko jak zrobic wszystkie mozliwe "przetasowania" kart? ile takich tali jest mozliwych 52! ?
Kod: |
Sub Losowanie()
Application.ScreenUpdating = False
Set cel = Range("B1:B52")
Set zrodlo = Range("A1:A52")
IleLosowan = cel.Cells.Count
liczMax = zrodlo.Cells.Count
BezPowtorzen = True
For x = 1 To IleLosowan
Randomize
Do
Set myVal = zrodlo.Cells(Int((liczMax * Rnd) + 1), 1)
Loop Until Not BezPowtorzen Or _
Application.CountIf(Range(cel.Cells(1, 1), _
cel.Cells(x, 1)), myVal.Value) = 0
myVal.Copy
cel.Cells(x, 1).PasteSpecial xlPasteAll
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
|
czyli zeby C1:C52 nie bylo identyczne z A1:A52 lub B1:B52, D1:D52 nie bylo identyczne z A1:A52 lub B1:B52 lub C1:C52 ... itd. |
|
 | ID posta:
3978
|
|
|
 |
|
|
Tajan

Pomógł: 5252 razy Posty: 11450
|
Wysłany: 23-03-2007, 13:43
|
|
|
Zgadza się - 52! Zajmie to zapewne kilka lat. Zwłaszcza, że czas generowania nie będzie liniowy. Trzeba będzie sprawdzać, czy utworzona kombinacja nie powtórzyła się wcześniej. |
|
 | ID posta:
3992
|
|
|
 |
|
|
wirusek
Starszy Forumowicz

Pomógł: 1 raz Posty: 26
|
Wysłany: 03-04-2007, 11:33
|
|
|
Tak, tylko dla Twojej informacji:
51! = około circa ebałt 1,55112 E+66 ( z dokładnością excelowską) |
|
 | ID posta:
4411
|
|
|
 |
|
|
slgn [Usunięty]
|
Wysłany: 06-04-2007, 03:45
|
|
|
Chce żeby Excel sprawdził która ręka jest mocniejsza,
tu zasady:
Zasady gry w Texas Holdem
1. Wprowadzenie i siła rąk
W Texas Hold'em Poker gramy talią 52 kart. Grać może od 2 do kilkunastu osób ale w praktyce grywa się w maksymalnie 10 osób przy jednym stoliku. W Texas Hold'em gracze korzystają z tzw. kart wspólnych czyli pięciu odkrytych kart leżących na stole. Na poczatku każdej rundy wszyscy gracze otrzymują od rozdającego po dwie karty zakryte. Zwycięża gracz, któremu uda się stworzyć z zakrytych i wspólnych kart najsliniejszy pięciokartowy układ
Zacznijmy od przeglądu poszczególnych rąk (w kolejności od najsilniejszej do najsłabszej):
POKER - Straight Flush - pięć kolejnych kart w tym samym kolorze. Kiedy dwóch graczy ma pokera, wygrywa ten, którego poker zaczyna się od wyższej karty. Tak więc najwyższym możliwym pokerem jest tzw. Royal Straight Flush - Poker Królewski zaczynający się od Asa.
jest lepsze od
KARETA - Four of a kind - cztery karty o jednakowej wartości, np. cztery króle bądź cztery dziewiątki. Kareta króli jest oczywiście lepsza niż kareta dziewiątek. Kiedy dwóch graczy ma tą samą karetę o wyniku rozstrzyga tzw. kicker, czyli piąta karta. Przykładowo: A A A A J jest lepsza niż A A A A T . Kiedy kicker jest ten sam to mamy remis.
jest lepsze od
FULL - Full house - trzy karty o jednakowej wartości w połączeniu z parą kart o innej wartości. Kiedy dwóch graczy ma fulla, wygrywa ten, kto ma silniejszą trójkę. Jeśli obaj mają taką samą trójkę, wtedy decyduje para a jeśli i ona jest taka sama to mamy remis.
jest lepsze od
KOLOR - Flush - Pięć dowolnych kart jednego koloru. Kiedy dwóch graczy ma kolor, wygrywa ten, którego kolor ma najsilniejszą kartę.
jest lepsze od
STRIT - Straight - pięć kolejnych kart nie będących w tym samym kolorze. Kiedy dwóch graczy ma strita, wygrywa ten, którego strit zawiera najsilniejszą kartę. Warto pamiętać, że As może być użyty jako element najwyższego możliwego strita - A K Q J T, jak i najsłabszego - 5 4 3 2 A.
jest lepsze od
TRÓJKA - Three of a kind - trzy karty o jednakowej wartości, np. trzy damy bądź trzy ósemki. Trójka dam jest lepsza niż trójka ósemek. Kiedy dwóch graczy ma tą samą trójkę o wyniku rozstrzyga czwarta karta a jeśli i ona jest taka sama u obu graczy, wtedy piąta. Jeżeli piąte karty również są takie same to mamy remis.
jest lepsze od
DWIE PARY - Two pairs - Nazwa mówi sama za siebie. Przykładowo: A A Q Q. Kiedy dwóch graczy ma dwie pary o wyniku rozstrzyga para wyższa, jeśli jest on taka sama to para niższa, ostatecznie rozstrzyga kicker a jeśli i on jest taki sam to mamy remis.
jest lepsze od
JEDNA PARA - One pair - Dwie karty o jednakowej wartości. Przykładowo A A bądź 3 3. Kiedy dwóch graczy ma parę to rozstrzyga wartość pary a potem kolejno trzecia, czwarta i piąta karta.
jest lepsze od
WYSOKA KARTA - High Card - kiedy nie mamy żadnego z powyższych układów to mamy tzw. wysoką kartę. Jeśli przeciwnik też ma wysoką kartę to o zwycięztwie zadecyduje czyja wysoka karta jest wyższa, a jeśli są takie same to druga, potem trzecia, czwarta i piąta.
jest lepsze od
zastanawiam się jak to zrobic najprościej
tu mój arkusz z tym co mam już zrobione:
http://www.grochowski.info/poker.xls |
|
 | ID posta:
4548
|
|
|
 |
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
|
Strona używa plików cookies.
Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe
|