Poker – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Poker – Python – Fórum – Programujte.comPoker – Python – Fórum – Programujte.com

 

xeonikx0
Návštěvník
6. 1. 2009   #1
-
0
-

Potřebuju, aby se mi každá náhodně zobrazená karta nemohla vicekrat objevit
import random
random.randint(10,62)

každé číslo znamená jednu kartu, ale jak tu náhodnou odečíst, aby se to číslo příště nemohlo náhodně zobrazit.

Nahlásit jako SPAM
IP: 217.117.216.–
crAzY^
~ Moderátor
+10
Grafoman
6. 1. 2009   #2
-
0
-

To xeonikx : ukládat si ty už vylosovaný karty do pole (teda jejich čísla), a pak kontrolovat jestli ten další rand není v tom poli....

Nahlásit jako SPAM
IP: 89.190.64.–
All you need is vision and time.
xeonikx0
Návštěvník
6. 1. 2009   #3
-
0
-

import random
nahoda=[]
nahoda.append(random.randint(10,12)
print nahoda
b=random.randint(10,12)
existuje=b in nahoda
print existuje, nahoda, b
if existuje==True:
print "ano karta uz byla pouzita"
else:
print "ne karta jeste nebyla pouzita"




tohle jsem zatim ze sebe vymačk

Nahlásit jako SPAM
IP: 217.117.216.–
kropac0
Duch
7. 1. 2009   #4
-
0
-

moc jsem nepochopil, proc do seznamu ukladas jinz cislo, nez do b ,.... to potom ten if ztraci smysl, protoze jsi do b vygeneroval jiny cislo, tim padem nemuzes v nahode hledat, jestli jsi tu kartu uz pouzil, nebo ne



import random
nahoda=[]
karta=random.randint(10,12)
if karta in nahoda:
print "ano karta uz byla pouzita"
else:
print "ne karta jeste nebyla pouzita"
nahoda.append(karta)

Nahlásit jako SPAM
IP: 78.128.149.–
KIIV
~ Moderátor
+43
God of flame
7. 1. 2009   #5
-
0
-

nebo si udelat pole od 0 do 31 kde budou cisla od 1 do 32 (klidne muzes dat rovnou ty karty) a pokazdy kdyz vylosujes nejake cislo tak ho z pole odebrat... a priste losovat jen do velikosti pole.. tj do 30 pak do 29 ...

Nahlásit jako SPAM
IP: 80.188.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
xeonikx0
Návštěvník
7. 1. 2009   #6
-
0
-

No vlastně by stačilo kdyby mi sem někdo napsal jak vytvořit například devět čísel -dvě já dvě protihráč pět na stole- od 10-62, bez toho aby se nějaké opakovalo)

import random

nahoda=[]

karta=random.randint(10,12)

if karta in nahoda:

print "ano karta uz byla pouzita"

else:

print "ne karta jeste nebyla pouzita"

nahoda.append(karta)

prvni=random.randint(10,20)
druha=random.randint(21,30) #takhle bych to musel udělat ja, s mejma zkušenostma)
treti=...
ctvrta=...
pata=...
sesta=...
sedma=...
osma=...

Nahlásit jako SPAM
IP: 217.117.216.–
rainbof0
Newbie
7. 1. 2009   #7
-
0
-

no neco jako:

balik = []
hrac1 = []
hrac2 = []

for x in range(1,32) # vygerneruji karty
karty.append(x)

losovani = random.randint(1,len(balik)) # vylosuju kartu
hrac1.append(balik[losovani])
del(balik[losovani])

....

Nahlásit jako SPAM
IP: 81.90.165.–
xeonikx0
Návštěvník
7. 1. 2009   #8
-
0
-

#primitivně ale přece)
import random
karty=range(10,62)

prvnikarta=random.randint(10,62)
karty.remove(prvnikarta)
print prvnikarta

druhakarta=random.randint(10,61)
karty.remove(druhakarta)
print druhakarta

tretikarta=random.randint(10,60)
print tretikarta

ctvrtakarta=random.randint(10,59)
print ctvrtakarta

patakarta=random.randint(10,58)
print patakarta

sestakarta=random.randint(10,57)
print sestakarta

sedmakarta=random.randint(10,56)
print sedmakarta

Nahlásit jako SPAM
IP: 217.117.216.–
Architekt0
Super člen
7. 1. 2009   #9
-
0
-

IMHO spíš nějak takhle:

#!/usr/bin/python

#-*- encoding: utf-8 -*-

import random


# definice karet, v tomto případě jen čísla, ale může to být pole obsahující cokoliv
karty = range(1,32)


def promichej(karty):
"""
Náhodně promíchá zadané pole.
"""
n = len(karty)
for i in range(n):
x = random.randint(0, n - 1)
y = random.randint(0, n - 1)
karty[x], karty[y] = karty[y], karty[x]
return karty


# definice globálních proměnných
hrac1 = []
hrac2 = []
stul = []


# === hrajem! ===

# zamícháme karty do baliku
balik = promichej(karty)

# rozdáme karty hráčům
hrac1.append(balik.pop())
hrac2.append(balik.pop())
hrac1.append(balik.pop())
hrac2.append(balik.pop())

# vyložíme na stůl
for i in range(3):
stul.append(balik.pop())


# jak to vypadá?
print "hráč 1: %s" % (hrac1)
print "hráč 2: %s" % (hrac2)
print "stůl: %s" % (stul)

Nahlásit jako SPAM
IP: 213.192.22.–
Python + Django + PostgeSQL = spokojený vývojář :-)
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 24 hostů

Podobná vlákna

Poker (null reference) — založil RePRO

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý