def create_players(num) : players_list = []; for i in range(num) : name = input(f'Player {i+1}, what is your name? '); while name == '': name = input('Please enter your name: '); players_list.append(people.Player(name, 1000)); print('\nAll players will begin the game with the same amount of $1,000 dollars.\n'); return players_list;
def __init__(self): self.map = {} self.load_map() self.high_priority_timers = queue.Queue() self.low_priority_timers = queue.Queue() self.players = [] self.players.append(people.Player(self, 'Fred')) self.populate()
def main(): global seq, player, dealer, clock, PLAYER_X, DEALER_X, dd #이벤트 루프 done = False while not done: if seq == 0: reset() player.bet = 100 for i in range(0, 2): deal() view_hands() text_money = font.render("Money :" + str(player.money) + "$", True, WHITE) text_bet = font.render("Bet : " + str(player.bet) + "$", True, WHITE) drawObject(text_money, 5, 185) drawObject(text_bet, 5, 200) pygame.display.update() seq = 1 for event in pygame.event.get(): #종료버튼 if event.type == pygame.QUIT: pygame.quit() sys.exit() #hit버튼 클릭 elif event.type == pygame.MOUSEBUTTONDOWN and hitB.collidepoint( pygame.mouse.get_pos()): dealer.deal_card(player) PLAYER_X += 70 drawObject( pygame.image.load( "images/" + player.hand[0][-1].img_url()).convert_alpha(), PLAYER_X, PLAYER_Y) pygame.display.update() dd = 1 if player.check_bust(): player.money -= player.bet text_info = font.render("Lose, 5sec After Restart Game", True, WHITE) drawObject(text_info, 200, 200) pygame.display.update() time.sleep(5) resetScreen() seq = 0 dd = 0 #stand버튼 클릭 elif event.type == pygame.MOUSEBUTTONDOWN and standB.collidepoint( pygame.mouse.get_pos()): DEALER_X += 70 drawObject( pygame.image.load( "images/" + dealer.hand[0][1].img_url()).convert_alpha(), DEALER_X, DEALER_Y) pygame.display.update() i = 2 #딜러가 버스트 하거나 하드17이 될때까지 딜러의 카드 추가 while not dealer.check_bust() and not dealer.check_hard_17(): dealer.deal_card(dealer) DEALER_X += 70 drawObject( pygame.image.load( "images/" + dealer.hand[0][i].img_url()).convert_alpha(), DEALER_X, DEALER_Y) pygame.display.update() i += 1 #딜러가 버스트한경우 if dealer.check_bust(): #플레이어가 버스트하지 않은경우 if not player.check_bust(): if player.check_five_c(): text_info = font.render( "Win(5-Charly), 5sec After Restart Game", True, WHITE) drawObject(text_info, 200, 200) pygame.display.update() player.money += player.bet * 1.5 else: text_info = font.render( "Win, 5sec After Restart Game", True, WHITE) drawObject(text_info, 200, 200) pygame.display.update() player.money += player.bet #플레이어가 버스트한경우 else: text_info = font.render( "Lose, 5sec After Restart Game", True, WHITE) drawObject(text_info, 200, 200) pygame.display.update() player.money -= player.bet #딜러가 버스트하지 않은경우 else: #플레이어가 버스트하지 않은경우 if not player.check_bust(): #5-찰리 if player.check_five_c(): text_info = font.render( "Win(5-Charly), 5sec After Restart Game", True, WHITE) drawObject(text_info, 200, 200) pygame.display.update() player.money += player.bet * 1.5 #플레이어가 이긴경우 elif player.hand_value() > dealer.hand_value(): text_info = font.render( "Win, 5sec After Restart Game", True, WHITE) drawObject(text_info, 200, 200) pygame.display.update() player.money += player.bet #플레이어가 진경우 elif player.hand_value() < dealer.hand_value(): text_info = font.render( "Lose, 5sec After Restart Game", True, WHITE) drawObject(text_info, 200, 200) pygame.display.update() player.money -= player.bet #플레이어가 비긴경우 else: text_info = font.render( "Draw, 5sec After Restart Game", True, WHITE) drawObject(text_info, 200, 200) pygame.display.update() #플레이어가 버스트한경우 else: text_info = font.render( "Lose, 5sec After Restart Game", True, WHITE) drawObject(text_info, 200, 200) pygame.display.update() player.money -= player.bet time.sleep(5) resetScreen() seq = 0 dd = 0 #doubleDown버튼 클릭 elif event.type == pygame.MOUSEBUTTONDOWN and doubleDownB.collidepoint( pygame.mouse.get_pos()): if dd == 0: player.bet += player.bet text_bet = font.render("Bet : " + str(player.bet) + "$", True, WHITE) pygame.draw.rect(screen, (0, 70, 50), [5, 200, 60, 14]) drawObject(text_bet, 5, 200) pygame.display.update() dd = 1 #reset버튼 클릭 elif event.type == pygame.MOUSEBUTTONDOWN and resetB.collidepoint( pygame.mouse.get_pos()): player = people.Player(player.name, 1000) dealer = people.Dealer(Deck(6)) text_info = font.render("Reset Game, 5sec After Restart Game", True, WHITE) drawObject(text_info, 200, 200) pygame.display.update() time.sleep(5) resetScreen() seq = 0 dd = 0 #화면 그리기 clock.tick(60)
GREEN = (0, 255, 0) BLUE = (0, 0, 255) GRAY = (190, 190, 190) #좌표 및 크기 size = [600, 400] DEALER_X = 150 DEALER_Y = 2 PLAYER_X = 100 PLAYER_Y = 302 #전역변수 wait = True seq = 0 dd = 0 player = people.Player("Player", 1000) dealer = people.Dealer(Deck(6)) #게임 초기화 def startGame(): global font, screen, clock, hitB, standB, doubleDownB #화면 설정 pygame.init() screen = pygame.display.set_mode(size) pygame.display.set_caption('BlackJack') clock = pygame.time.Clock() #배경 screen.fill((0, 70, 50))
def run_server(self, world): print('Server online: Accepting connections...') while True: readable, writable, exceptional = select.select(self.sockets, self.broadcasting, self.sockets) # possible renames: readable -> incoming, writable -> outgoing for sock in readable: if sock == self.server: new_client, client_address = self.server.accept() new_client.setblocking(False) print(f'Connection from {client_address[0]}:{client_address[1]} established') self.sockets.append(new_client) self.broadcast_queues[new_client] = queue.Queue() elif sock in self.sockets: try: code = self.receive_code(sock) except Exception as e: print('Exception reached: ', e) self.close_client(sock) continue if code == '00' and sock not in self.active_players: # '00' can be used other than login, so both conditions here is ok login_name = self.receive_login(sock) if not login_name: self.close_client(sock) # Logging in # Login sequence needs more granular structure if login_name in [player.name for player in world.players]: for player in world.players: if login_name == player.name: player.socket = sock self.active_players[sock] = player print(f'{sock.getsockname} logged in as {self.active_players[sock].name}') self.broadcast(sock, f'Logged in as {self.active_players[sock].name}. Welcome back.') else: self.active_players[sock] = people.Player(world, login_name) self.broadcast_queues[sock] = queue.Queue() self.active_players[sock].server = self self.active_players[sock].socket = sock print(f'New player {login_name} created by {sock.getsockname()}') world.players.append(self.active_players[sock]) world.active_players.append(self.active_players[sock]) # world.high_priority_timers[self.active_players[sock]] = queue.Queue() self.broadcast(sock, f'Welcome to the world, {self.active_players[sock].name}') elif code == '01': # Get command, validate it, send into central loop player_command = self.receive_command(sock) player_action = actions.Action(self, self.active_players[sock], player_command.verb, player_command.target, player_command.quantity) self.active_players[sock].current_action = player_action for sock in writable: try: message = self.broadcast_queues[sock].get_nowait() except queue.Empty: self.broadcasting.remove(sock) else: self.broadcast(sock, message) for sock in exceptional: print(f'(From exceptional list) Lost connection from {sock.getsockname()}.') self.close_client(sock)
game.helping.menu() print('Rules:') print('Recommended to play in full screen. To play in full screen you will need to click the box with an arrow pointing out of it that says open in a new tab if you hover over it.') print('You can have as many players as you want but it is the most fun with 3-4 players.') print('The goal of the game is to be the first to reach $100,000 in revenue.') print('But you can play to whatever you want, $100,000 usually takes about 15 minutes.') print('At the end of every turn you get a number between 1 and 20, and that number corresponds to how much percent of your revenue you get.') print('The worst percentage you can get 30% of your revenue. The best is you can get is 100% of your revenue.\n') playerask = input('How many people are playing?\n') numplayer = int(playerask) for player in range(numplayer): player += 1 playername = input('Player%s what is your name?\n' % player) print('Hi, %s.' % playername) players.append(people.Player(playername)) for randoms in range(numplayer): ls.append(1) lm.append(0) rs.append(0) ss.append(0) hr.append(0) cr.append(0) ls2.append(0) lm2.append(0) rs2.append(0) ss2.append(0) hr2.append(0) cr2.append(0) toot = 5