FeelYourDestiny #8801 25 ноября 2019 (изменено) слава богу, нашелся добрый человек. уже не могу дождаться, когда смогу поиграть в твой покерОн не для игры. Так, чисто подрочить. ты не за того питона взялся Изменено 25 ноября 2019 пользователем FeelYourDestiny `KV, yellyex, uwotm8 и 10 другим понравилось это Поделиться сообщением Ссылка на сообщение
yellyex #8802 25 ноября 2019 (изменено) слава богу, нашелся добрый человек. уже не могу дождаться, когда смогу поиграть в твой покерОн не для игры. Так, чисто подрочить. ты не за того питона взялся Чё-то в голос.Что-то вообще сообразить ничего не могу. class Game: playerOnesHand = [] playerTwosHand = [] playerOneScore = 0 playerTwoScore = 0 result = 0 def __init__(self, cards): cards = cards.split() self.playerOnesHand = Hand(cards[0:5]) self.playerTwosHand = Hand(cards[5:10]) self.play(); def play(self): self.playerOneScore = self.playerOnesHand.getScore(); self.playerTwosCore = self.playerTwosHand.getScore(); if (self.playerOneScore > self.playerTwoScore): result = 1 else: result = 2 class Hand: cards = [] values = [] def setValues(self): for card in self.cards: self.values.append(card.value) self.values.sort() print len(self.values) def isFlush(self): currentSuit = self.cards[0].suit for card in self.cards: if card.suit != currentSuit: return False currentSuit = card.suit return True def isRoyalFlush(self): for card in self.cards: self.values.append(card.value) low = min(self.values) if low == 10 and (low + 1 in self.values) and (low + 2 in self.values) and (low + 3 in self.values) and (low + 4 in self.values): return True else: return False def isFourOfAKind(self): cardOneCount = self.values.count(self.values[0]) cardTwoCount = self.values.count(self.values[len(self.values) - 1]) if cardOneCount == 4 | cardTwoCount == 4: return True else: return False def isThreeOfAKind(self): cardOneCount = self.values.count(self.values[0]) cardTwoCount = self.values.count(self.values[len(self.values) - 1]) if cardOneCount == 3 | cardTwoCount == 3: return True else: return False def isStraight(self): low = min(self.values) if low == 10 and (low + 1 in self.values) and (low + 2 in self.values) and (low + 3 in self.values) and (low + 4 in self.values): return True; def isFullHouse(self): self.values = [] for card in self.cards: self.values.append(card.value) self.values.sort() cardOneCount = self.values.count(self.values[0]) cardTwoCount = self.values.count(self.values[len(self.values) - 1]) if (cardOneCount == 2 and cardTwoCount == 3 ) | (cardOneCount == 3 and cardTwoCount == 2): return True else: return False def isTwoPair(self): cardOneCount = self.values.count(self.values[0]) cardTwoCount = self.values.count(self.values[4]) cardThreeCount = self.values.count(self.values[2]) if(cardOneCount == 2 and cardTwoCount == 2) | (cardOneCount == 2 and cardThreeCount == 2) | (cardTwoCount == 2 and cardThreeCount == 2): return True; return False; def isPair(self): cardOneCount = self.values.count(self.values[0]) cardTwoCount = self.values.count(self.values[4]) cardThreeCount = self.values.count(self.values[2]) if(cardOneCount == 2 ^ cardTwoCount == 2 ^ cardTwoCount == 3): return True; return False; def __init__(self, cards): for c in cards: self.cards.append(Card(c)) self.setValues() def getScore(self): score = 0 if self.isRoyalFlush(): score = 140000 elif self.isFlush() and self.isStraight(): score = 130000 elif self.isFourOfAKind(): score = 120000 elif self.isFullHouse(): score = 110000 elif self.isFlush(): score = 100000 elif self.isStraight(): score = 90000 elif self.isThreeOfAKind(): score = 80000 elif self.isTwoPair(): score = 70000 elif self.isTwoPair(): score = 60000 else: score = 0 return score class Card: # value = 0 # suit = 0 def __init__(self, card): self.value = self.determineValue(card[0]) self.suit = card[1] def determineValue(x,y): return { '2':2, '3':3, '4':4, '5':6, '6':6, '7':7, '8':8, '9':9, 'T':10, 'J':11, 'Q':12, 'K':13, 'A':14 }.get(y) def playGames(): player1Score = 0; player2Score = 0; file = open("poker-small.txt") for line in file: game = Game(line) if game.result == 1: player1Score += 1 else: player2Score += 1 print "Player one has won " + str(player1Score) + " games! " print "Player two has won " + str(player2Score) + " games! " if (player1Score > player2Score): print "Player 1 wins!" else: print "Player 2 wins!" def main(): playGames(); if __name__ == "__main__": main() Вот нашёл код. Вроде подходит. Буду переделывать. import itertools import random player_count = int(input("How many players? ")) suits = ['s', 'c', 'd', 'h'] faces = ['A', '2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K'] # Defining deck and drawing cards (5 + 2 per player): deck = set(itertools.product(faces, suits)) drawn_cards = random.sample(deck,(5 + 2 * player_count)) # Storing a list with player object instances players = [] class Players: def __init__(self, stack): self.stack = stack self.last_action = "none" ## last action taken (check, call etc). self.street_bets = 0 ## total bets on current street def holecards(self): ## pop cards from list and pritifying their display. Cards will later be ## run through a function for checking value of hands: card1 = drawn_cards.pop(len(drawn_cards)-1) card2 = drawn_cards.pop(len(drawn_cards)-1) self.card1 = (card1[0]+"["+card1[1]+"]") self.card2 = (card2[0]+"["+card2[1]+"]") self.cards = self.card1+ " - " +self.card2 print (self.cards) class Table: def __init__(self): self.total_pot = 0 def flop(self): card1 = drawn_cards.pop(len(drawn_cards)-1) card2 = drawn_cards.pop(len(drawn_cards)-1) card2 = drawn_cards.pop(len(drawn_cards)-1) self.card1 = (card1[0]+"["+card1[1]+"]") self.card2 = (card2[0]+"["+card2[1]+"]") self.card3 = (card2[0]+"["+card2[1]+"]") self.flop = self.card1+ " - " + self.card2 + " - " + self.card3 print (self.flop) def turn(self): card = drawn_cards.pop(len(drawn_cards)-1) self.card = (card[0]+"["+card[1]+"]") self.turn = self.card print (self.turn) def river(self): card = drawn_cards.pop(len(drawn_cards)-1) self.card = (card[0]+"["+card[1]+"]") self.river = self.card print (self.river) # Add player stacks and distribute holecards: for i in range(player_count): players.append(i) players[i] = Players(100) players[i].holecards() # Add dealer to table: dealer = Table() dealer.flop() dealer.turn() dealer.river() Изменено 25 ноября 2019 пользователем yellyex moonfangtopich написал 29.08.2019 в 14:57: У вас недостаточно широкий кругозор, пацаны Я странствия этого еблана видел в покерных топанах, а потом в таверне - это один из самых безумных людей на форуме. Я искренне надеялся, что его зов о помощи останется незамеченным, но нет, нашелся доброволец и вот уже три страницы мы пожинаем плоды Поделиться сообщением Ссылка на сообщение
JuJeu #8803 25 ноября 2019 бля, ну чел, ты прочитай свой вопрос и посмотри, что ты выводишь в принте, боюсь нихуя не изменилось. щас бы слушать подкасты, а не читать текст в 100 раз быстрее, и говорить об эффективностинаучимся читать книги во время пробежек\тренажерки - так и будем делатьнаверное на конфы тоже бессмысленно ходитьконфы нужны чтобы заводить знакомства. Во время пробежки нужно бегать, а не слушать. У тебя огромное количество энергии уходит на восприятие информации и ты не сосредоточен на беге, короче хуета. Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders. Поделиться сообщением Ссылка на сообщение
kms.UFO #8804 25 ноября 2019 в автобусе ехать надо а не слушать понятно? DomikTS- понравилось это Поделиться сообщением Ссылка на сообщение
FeelYourDestiny #8805 25 ноября 2019 однажды друг начал слушать подкаст пока дышал и умер. Поделиться сообщением Ссылка на сообщение
FeelYourDestiny #8807 25 ноября 2019 Этим другом был Zellar Поделиться сообщением Ссылка на сообщение
yellyex #8808 25 ноября 2019 (изменено) Наконец-то нашёл, но не понимаю, как он работает. Киплю, как чайник!!! import random class Card( object ): def __init__(self, name, value, suit, symbol): self.value = value self.suit = suit self.name = name self.symbol = symbol self.showing = False def __repr__(self): if self.showing: return self.symbol else: return "Card" class Deck(object): def shuffle(self, times=1 ): random.shuffle(self.cards) print("Deck Shuffled") def deal(self): return self.cards.pop(0) class StandardDeck(Deck): def __init__(self): self.cards = [] suits = {"Hearts":"♡", "Spades":"♠", "Diamonds":"♢", "Clubs":"♣"} values = {"Two":2, "Three":3, "Four":4, "Five":5, "Six":6, "Seven":7, "Eight":8, "Nine":9, "Ten":10, "Jack":11, "Queen":12, "King":13, "Ace":14 } for name in values: for suit in suits: symbolIcon = suits[suit] if values[name] < 11: symbol = str(values[name])+symbolIcon else: symbol = name[0]+symbolIcon self.cards.append( Card(name, values[name], suit, symbol) ) def __repr__(self): return "Standard deck of cards:{0} remaining".format(len(self.cards)) class Player(object): def __init__(self): self.cards = [] def cardCount(self): return len(self.cards) def addCard(self, card): self.cards.append(card) class PokerScorer(object): def __init__(self, cards): # Number of cards if not len(cards) == 5: return "Error: Wrong number of cards" self.cards = cards def flush(self): suits = [card.suit for card in self.cards] if len( set(suits) ) == 1: return True return False def straight(self): values = [card.value for card in self.cards] values.sort() if not len( set(values)) == 5: return False if values[4] == 14 and values[0] == 2 and values[1] == 3 and values[2] == 4 and values[3] == 5: return 5 else: if not values[0] + 1 == values[1]: return False if not values[1] + 1 == values[2]: return False if not values[2] + 1 == values[3]: return False if not values[3] + 1 == values[4]: return False return values[4] def highCard(self): values = [card.value for card in self.cards] highCard = None for card in self.cards: if highCard is None: highCard = card elif highCard.value < card.value: highCard=card return highCard def highestCount(self): count = 0 values = [card.value for card in self.cards] for value in values: if values.count(value) > count: count = values.count(value) return count def pairs(self): pairs = [] values = [card.value for card in self.cards] for value in values: if values.count(value) == 2 and value not in pairs: pairs.append(value) return pairs def fourKind(self): values = [card.value for card in self.cards] for value in values: if values.count(value) == 4: return True def fullHouse(self): two = False three = False values = [card.value for card in self.cards] if values.count(values) == 2: two = True elif values.count(values) == 3: three = True if two and three: return True return False def interpreterVideoPoker(): player = Player() # Intial Amount points = 100 # Cost per hand handCost = 5 end = False while not end: print( "You have {0} points".format(points) ) print() points-=5 ## Hand Loop deck = StandardDeck() deck.shuffle() # Deal Out for i in range(5): player.addCard(deck.deal()) # Make them visible for card in player.cards: card.showing = True print(player.cards) validInput = False while not validInput: print("Which cards do you want to discard? ( ie. 1, 2, 3 )") print("*Just hit return to hold all, type exit to quit") inputStr = input() if inputStr == "exit": end=True break try: inputList = [int(inp.strip()) for inp in inputStr.split(",") if inp] for inp in inputList: if inp > 6: continue if inp < 1: continue for inp in inputList: player.cards[inp-1] = deck.deal() player.cards[inp-1].showing = True validInput = True except: print("Input Error: use commas to separated the cards you want to hold") print(player.cards) #Score score = PokerScorer(player.cards) straight = score.straight() flush = score.flush() highestCount = score.highestCount() pairs = score.pairs() # Royal flush if straight and flush and straight == 14: print("Royal Flush!!!") print("+2000") points += 2000 # Straight flush elif straight and flush: print("Straight Flush!") print("+250") points += 250 # 4 of a kind elif score.fourKind(): print("Four of a kind!") print("+125") points += 125 # Full House elif score.fullHouse(): print("Full House!") print("+40") points += 40 # Flush elif flush: print("Flush!") print("+25") points += 25 # Straight elif straight: print("Straight!") print("+20") points += 20 # 3 of a kind elif highestCount == 3: print("Three of a Kind!") print("+15") points += 15 # 2 pair elif len(pairs) == 2: print("Two Pairs!") print("+10") points += 10 # Jacks or better elif pairs and pairs[0] > 10: print ("Jacks or Better!") print("+5") points += 5 player.cards=[] print() print() print() Изменено 25 ноября 2019 пользователем yellyex moonfangtopich написал 29.08.2019 в 14:57: У вас недостаточно широкий кругозор, пацаны Я странствия этого еблана видел в покерных топанах, а потом в таверне - это один из самых безумных людей на форуме. Я искренне надеялся, что его зов о помощи останется незамеченным, но нет, нашелся доброволец и вот уже три страницы мы пожинаем плоды Поделиться сообщением Ссылка на сообщение
sonac #8809 25 ноября 2019 бля, ну чел, ты прочитай свой вопрос и посмотри, что ты выводишь в принте, боюсь нихуя не изменилось.щас бы слушать подкасты, а не читать текст в 100 раз быстрее, и говорить об эффективностинаучимся читать книги во время пробежек\тренажерки - так и будем делатьнаверное на конфы тоже бессмысленно ходитьконфы нужны чтобы заводить знакомства. Во время пробежки нужно бегать, а не слушать. У тебя огромное количество энергии уходит на восприятие информации и ты не сосредоточен на беге, короче хуета. спасиба братан, читал твое сообщение, аж одышка появилась так устал.бтв, если конфы нужны только для заведения новых знакомств, то зачем там доклады? Поделиться сообщением Ссылка на сообщение
Kant #8810 25 ноября 2019 чтобы зрители могли задать свои ответы Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
JuJeu #8811 25 ноября 2019 Наконец-то нашёл, но не понимаю, как он работает. Киплю, как чайник!!! import random class Card( object ): def __init__(self, name, value, suit, symbol): self.value = value self.suit = suit self.name = name self.symbol = symbol self.showing = False def __repr__(self): if self.showing: return self.symbol else: return "Card" class Deck(object): def shuffle(self, times=1 ): random.shuffle(self.cards) print("Deck Shuffled") def deal(self): return self.cards.pop(0) class StandardDeck(Deck): def __init__(self): self.cards = [] suits = {"Hearts":"♡", "Spades":"♠", "Diamonds":"♢", "Clubs":"♣"} values = {"Two":2, "Three":3, "Four":4, "Five":5, "Six":6, "Seven":7, "Eight":8, "Nine":9, "Ten":10, "Jack":11, "Queen":12, "King":13, "Ace":14 } for name in values: for suit in suits: symbolIcon = suits[suit] if values[name] < 11: symbol = str(values[name])+symbolIcon else: symbol = name[0]+symbolIcon self.cards.append( Card(name, values[name], suit, symbol) ) def __repr__(self): return "Standard deck of cards:{0} remaining".format(len(self.cards)) class Player(object): def __init__(self): self.cards = [] def cardCount(self): return len(self.cards) def addCard(self, card): self.cards.append(card) class PokerScorer(object): def __init__(self, cards): # Number of cards if not len(cards) == 5: return "Error: Wrong number of cards" self.cards = cards def flush(self): suits = [card.suit for card in self.cards] if len( set(suits) ) == 1: return True return False def straight(self): values = [card.value for card in self.cards] values.sort() if not len( set(values)) == 5: return False if values[4] == 14 and values[0] == 2 and values[1] == 3 and values[2] == 4 and values[3] == 5: return 5 else: if not values[0] + 1 == values[1]: return False if not values[1] + 1 == values[2]: return False if not values[2] + 1 == values[3]: return False if not values[3] + 1 == values[4]: return False return values[4] def highCard(self): values = [card.value for card in self.cards] highCard = None for card in self.cards: if highCard is None: highCard = card elif highCard.value < card.value: highCard=card return highCard def highestCount(self): count = 0 values = [card.value for card in self.cards] for value in values: if values.count(value) > count: count = values.count(value) return count def pairs(self): pairs = [] values = [card.value for card in self.cards] for value in values: if values.count(value) == 2 and value not in pairs: pairs.append(value) return pairs def fourKind(self): values = [card.value for card in self.cards] for value in values: if values.count(value) == 4: return True def fullHouse(self): two = False three = False values = [card.value for card in self.cards] if values.count(values) == 2: two = True elif values.count(values) == 3: three = True if two and three: return True return False def interpreterVideoPoker(): player = Player() # Intial Amount points = 100 # Cost per hand handCost = 5 end = False while not end: print( "You have {0} points".format(points) ) print() points-=5 ## Hand Loop deck = StandardDeck() deck.shuffle() # Deal Out for i in range(5): player.addCard(deck.deal()) # Make them visible for card in player.cards: card.showing = True print(player.cards) validInput = False while not validInput: print("Which cards do you want to discard? ( ie. 1, 2, 3 )") print("*Just hit return to hold all, type exit to quit") inputStr = input() if inputStr == "exit": end=True break try: inputList = [int(inp.strip()) for inp in inputStr.split(",") if inp] for inp in inputList: if inp > 6: continue if inp < 1: continue for inp in inputList: player.cards[inp-1] = deck.deal() player.cards[inp-1].showing = True validInput = True except: print("Input Error: use commas to separated the cards you want to hold") print(player.cards) #Score score = PokerScorer(player.cards) straight = score.straight() flush = score.flush() highestCount = score.highestCount() pairs = score.pairs() # Royal flush if straight and flush and straight == 14: print("Royal Flush!!!") print("+2000") points += 2000 # Straight flush elif straight and flush: print("Straight Flush!") print("+250") points += 250 # 4 of a kind elif score.fourKind(): print("Four of a kind!") print("+125") points += 125 # Full House elif score.fullHouse(): print("Full House!") print("+40") points += 40 # Flush elif flush: print("Flush!") print("+25") points += 25 # Straight elif straight: print("Straight!") print("+20") points += 20 # 3 of a kind elif highestCount == 3: print("Three of a Kind!") print("+15") points += 15 # 2 pair elif len(pairs) == 2: print("Two Pairs!") print("+10") points += 10 # Jacks or better elif pairs and pairs[0] > 10: print ("Jacks or Better!") print("+5") points += 5 player.cards=[] print() print() print() жестко конечно Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders. Поделиться сообщением Ссылка на сообщение
Arzanis #8812 26 ноября 2019 Уже и на хабр свою вселенную изливает. DB Я - гений, ёпта 22 Поделиться сообщением Ссылка на сообщение
hira88 #8813 26 ноября 2019 Уже и на хабр свою вселенную изливает. ну сори на днях минусмораль словил, вот и написал тот пост, такто да такое лучше не писать минусмораль связана с одним челиком(он и на пд сидит скорее всего, поэтому не хотел писать, да и ничего не даст) но так как проект публичный и наши отношения с ним закончились кратко напишу написал чел, попросил сделать порт одной либы на вулкан, спросил сколько стоит будет, я сказал сколько он готов дать столько и будет ну дальше немного поговорили он еще предложил подать мне заявку на работу в их конторе, потому что у них "10 мест для вулкан разработчиков и у него студент-стажор за 60к работает" я написал что только рад буду, так как все предложения до этого заканчивались обманом на днях сделал этот порт думал что уйдет неделя/две, но оказалось что хватило копипасты кучи шаблоннных функций из туториалов (если че до этого ни 1 рабочего порта этой либы на гитхабе не было) кароче оказалось быстро, написал челу сказал что все просто, моих там строк 20-40 остальное копипаста ну и говорю "хз плати сколько хочешь за такое" ну он-"все работает спасибо" ну и все если он думает что я хочу с ним работать в будущем-нет конечно, тоже касается и его конторы(которая даже ответа не прислала, когда у них 10 мест для разрабов ага верю) ...очередной обман вышел, минус мораль небольшая Поделиться сообщением Ссылка на сообщение
DDamager #8814 26 ноября 2019 ты просто лох пишешь "можешь мне не платить" а потом расстраиваешься что тебе не заплатилиподумай на счет предоплаты и всегда бери хорошие деньги за свою работу, ты же явно в своей теме скиловей джуна-макаки Поделиться сообщением Ссылка на сообщение
Ilze #8815 26 ноября 2019 все, буду хириным менеджеромтеперь все пидорасы которые хотят нажить на его гении сначала пишут мне! а уж потом я наживаю на его гении Kant и hira88 понравилось это живое величие Поделиться сообщением Ссылка на сообщение
scarppy #8816 26 ноября 2019 хира просто честный человек в сломаном миреданил, все будет хорошо, не переживай hira88 понравилось это лучшая цитата финта+жизненная Поделиться сообщением Ссылка на сообщение
hira88 #8817 26 ноября 2019 ты просто лох пишешь "можешь мне не платить" а потом расстраиваешься что тебе не заплатили подумай на счет предоплаты и всегда бери хорошие деньги за свою работу, ты же явно в своей теме скиловей джуна-макакине хочу спорить перестал брать предоплаты после того как все мои счета(включая банк) заблокировали, я создал новый после первого раза и еще раз попал в такуюже историю потому что моя работа не соответствовала ожиданиям(много лет назад), в другом случае я отказался доделывать то что и так затянулось на пол года хотя изначальное ТЗ было на неделю, и никакого увеличения стоимости работ не было блокировать неугодных через в этих системах слишком просто, и я никак не могу защищаться от этого, смысл брать предоплаты Поделиться сообщением Ссылка на сообщение
fessnik #8819 26 ноября 2019 (изменено) Хира, подскажи, как обычный челик может заблочить "все твои счета(включая банк)" ? Изменено 26 ноября 2019 пользователем fessnik Поделиться сообщением Ссылка на сообщение
hira88 #8820 26 ноября 2019 (изменено) Хира, подскажи, как обычный челик может заблочить "все твои счета(включая банк)" ?забей кароче, давно было неважно уже Изменено 26 ноября 2019 пользователем hira88 Поделиться сообщением Ссылка на сообщение