Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Programmieraufgaben Hier wird regelmäßig eine neue Programmieraufgabe gestellt, die dann gelöst werden soll und in Zusammenarbeit mit den Moderatoren auch besprochen werden kann.

Pokern

Diskussion: Pokern im Forum Programmieraufgaben, in der Kategorie Code Kitchen; Anzeige Folgende Aufgabe stammt von Thuroc: Kurze Hilfestellung vorab: (Wer Pokern beherrscht, kann diesen Teil überspringen) Gespielt wird Texas Hold`em ...

Antwort
Alt 01.06.07, 15:51   #1 (permalink)
 
Registriert seit: 23.05.05
Xalon Leistung: Facit NTK
Xalon eine Nachricht über ICQ schicken
Likes: 0
Standard Pokern

Anzeige

Folgende Aufgabe stammt von Thuroc:

Kurze Hilfestellung vorab: (Wer Pokern beherrscht, kann diesen Teil überspringen)
Gespielt wird Texas Hold`em mit 52 Karten (2-10, Bube, Dame, König, Ass).
Damit Ihr die verschiedenen Blätter nicht raussuchen müsst, hier die möglichen Kombinationen in der Reihenfolge vom niedrigsten bis zum höchsten Wert:
One Pair 2 Karten mit dem gleichem Wert (Pärchen)
Two Pair 2 Pärchen
Three of A Kind 3 Karten mit dem gleichen Wert (Drilling)
Straight Straße mit gemischten Farben
Flush 5 Karten in der selben Farbe ohne Reihenfolge
Full House Ein Paar + ein Drilling
Four of A Kind 4 Karten mit dem gleichen Wert (Vierling)
Straight Flush Eine Straße in einer Farbe
Royal Flush Eine Straße in einer Farbe, mit dem Ass als höchsten Wert Aber Achtung, beim Pokern darf das Ass auch als 1 (Eins) gespielt werden!

Außerdem haben die verschiedenen Farben alle den gleichen Wert! Kreuz ist also nicht höher, wie Pik oder Herz, was das ganze ja ein wenig vereinfacht.

1. Aufgabenteil (mittel) Das Programm soll nun die 2 Karten auf der Hand der Spielers (Pre-Flop) sowie
die ersten 3 Karten auf dem Tisch (Flop) abfragen und dann ausgeben welche Kombinationen möglich
wären. Danach folgt eine weitere Abfrage für die 4. Karte auf dem Tisch (Turn). Nun wiederum die Ausgabe
welche Kombinationen nun noch möglich sind. Sobald die letzte Karte auf dem Tisch liegt (River), soll das
Programm die höchste Kombination ausgeben, welche aus den Karten erstellt werden kann.

2. Aufgabenteil (schwer) Wer jetzt noch nicht genug hat, kann zusätzlich die Anzahl der Spieler abfragen
und somit die Anzahl der Karten im Stapel sowie die Wahrscheinlichkeit berechnen eine mögliche
Kombinationen zu erhalten. Dies sollte jeweils nach dem Flop, sowie nach dem Turn in Prozent ausgegeben
werden. Ich wünsche euch viel Spaß bei der Aufgabe.

Happy Coding,
Xalon

Xalon ist offline   Mit Zitat antworten
Alt 01.06.07, 17:06   #2 (permalink)
Senior Member
 
Registriert seit: 16.11.05
Gnome Leistung: Facit NTK
Likes: 0
Standard

Tippfehler: 52 Karten, nicht 62
Gnome ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 01.06.07, 20:23   #3 (permalink)
Themenstarter
 
Registriert seit: 23.05.05
Xalon Leistung: Facit NTK
Xalon eine Nachricht über ICQ schicken
Likes: 0
Standard

Danke habs verbessert.
Xalon ist offline   Mit Zitat antworten
Alt 15.07.07, 13:44   #4 (permalink)
 
Registriert seit: 12.01.07
Ivan Dolvich Leistung: Facit NTK
Likes: 0
Standard RE: Pokern

Zitat:
1. Aufgabenteil (mittel) Das Programm soll nun die 2 Karten auf der Hand der Spielers (Pre-Flop) sowie die ersten 3 Karten auf dem Tisch (Flop) abfragen und dann ausgeben welche Kombinationen möglich wären.
Sind das die Kombinationen, die mit diesen 2+3=5 Karten möglich sind, oder die Kombinationen, die nach dem öffnen der nächsten Karte möglich wären? Beispiel:

Spieler: {2, 3, 9}, Tisch: {2, 3}

Aktuell sind 2 Paare möglich, aber nach der 1. zusätzlichen Karte ist ein Full House möglich, wenn die Karte eine 2 oder eine 3 ist. Soll die Ausgabe nun "2 Paare" oder "Full House" sein?

Ivan
Ivan Dolvich ist offline   Mit Zitat antworten
Alt 15.07.07, 13:50   #5 (permalink)
Senior Member
 
Registriert seit: 27.06.04
Cyberm@ster Leistung: Facit NTK
Likes: 0
Standard

@ Ivan: Ja ich denke das ist richtig so. Ausser dass der Spieler nur 2 Karten hat und insgesamt 5 Karten auf den Tisch gelegt werden (zuerst 3, dann 1 und schliesslich noch 1). Die Karten die der Spieler in der Hand hat, können beliebig mit den Tischkarten kombiniert werden.
Cyberm@ster ist offline   Mit Zitat antworten
Alt 21.07.07, 17:33   #6 (permalink)
ba2
Guest
 
Likes:
Standard

hi,

ich bin die Aufgabe jetzt angegangen und habe bereits folgendes realisiert.

Kartenblatt festlegen
Kartenblatt erstellung
Karten mischen
Karten ziehen

Code:
# -*- coding: iso-8859-15 -*-
#Autor:BA2

#Module Laden
import random
import string

#Variabeln fuer Schleifen etc.
i = 0
ks = 0
kw = 0

#Karten
blatt = []

#Symbole der Karten
kartensymbole = ["Kreuz", "Pik", "Herz", "Karo"]

#Kartenwerte
kartenwerte = ["2", "3", "4", "5", "6", "7", "8", "9", "10", "Bube", "Dame", "Koenig", "Ass"]

#Blatt zusammenstellen
while ks < len(kartensymbole):
	while kw < len(kartenwerte):
		i = i + 1
		blatt.append(kartensymbole[ks] + " " + kartenwerte[kw])
		kw = kw + 1
	kw = 0
	ks = ks + 1

#Blatt mischen
blatt_gemischt = []
z = 0
liste = len(blatt)
while z < liste:
	z=z+1
	anzahl = random.randint(0, len(blatt) - 1)
	blatt_gemischt.append(blatt[anzahl])
	del blatt[anzahl]

#Karten Ausgeben
karten_user1 = []
karten_user2 = []
karten_tisch = []
z = 0

def ziehen():
	karte = blatt_gemischt[-1]
	del blatt_gemischt[-1]
	return karte

while z < 2:
	z = z + 1
	karten_user1.append(ziehen())
	karten_user2.append(ziehen())

z = 0
while z < 3:
	z = z + 1
	karten_tisch.append(ziehen())

def linie(anzahl):
	return '-'*anzahl

print linie (133)
print "Blatt von Spieler1: ", karten_user1
print linie (133)
print "Blatt von Spieler2: ", karten_user2	
print linie (133)
print "Karten auf dem Tisch: ", karten_tisch
print linie (133)
nun weiss ich nicht so recht, wie ich das ganze nun nach den Poker Regeln auswerten kann.

hat einer von euch da ne idee/Denkansto?


mfg ba2
  Mit Zitat antworten
Alt 25.07.07, 21:27   #7 (permalink)
 
Registriert seit: 29.04.07
pi() Leistung: Facit NTK
Likes: 0
Standard

Hi.Gut, dass ich sehe, dass es eine Poker-Aufgabe bereits gibt-wollte nämlich fast schon eine vorschlagen.Ich arbeite nämlich grade an einem Programm, dass mir für eine beliebige Anzahl von Spielern (2-11) die Wahrscheinlichkeit für alle möglichen Kombinationen ausgibt.Dazu mache ich es mir aber "leicht" und simuliere einen haufen Spiele und rechne mir daraus die Wahrscheinlichkeit aus.
3,1416
__________________
Seht euch das bitte einmal an.Hab mir echt Mühe gegeben:
Hier: www.gutinmathe.at
pi() ist offline   Mit Zitat antworten
Alt 26.07.09, 18:09   #8 (permalink)
 
Registriert seit: 12.01.07
Scorn07 Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von pi()
Hi.Gut, dass ich sehe, dass es eine Poker-Aufgabe bereits gibt-wollte nämlich fast schon eine vorschlagen.Ich arbeite nämlich grade an einem Programm, dass mir für eine beliebige Anzahl von Spielern (2-11) die Wahrscheinlichkeit für alle möglichen Kombinationen ausgibt.Dazu mache ich es mir aber "leicht" und simuliere einen haufen Spiele und rechne mir daraus die Wahrscheinlichkeit aus.
3,1416
So eine ähnliche Simulation habe ich auch geschrieben: http://scorn.kilu.de/Applet/

Der Nutzer kann die Karten von bis zu 6 Spielern angeben und anhand dieser Karten 10.000 bis 1.000.000 Spiele durchspielen lassen. In der Simulation "spielen" alle Spieler bis zum Showdown.
Ausgegeben wird eine Gewinnstatistik zu jedem Spieler.
"Zufällige Spieler" erhalten in der Simulation übrigens im jedem Durchgang zufällige Karten.

Edit: Ich sehe grad, dass in der .jar der Quelltext fehlt- den reiche noch nach.
Die Einstellung "1.000.000 Durchgänge" kann übrigens etwas länger dauern.
Scorn07 ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Programmieraufgaben » Pokern
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



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 50 51 52 53 54 55 56 57 58 59 60 61