Exemplo n.º 1
0
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;
Exemplo n.º 2
0
    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()
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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))
Exemplo n.º 5
0
	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)
Exemplo n.º 6
0
      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