Example #1
0
import player


class Game:
    def __init__(self, player1, player2):
        board = board.Board()
        self.varnika = player1
        self.sahitya = player2
        print(
            "chess program. enter moves in algebraic notation separated by space"
        )


varnika = player.Player('white', True)
sahitya = player.Player('black', False)
game = Game(varnika, sahitya)
print(varnika.getColor())
print(varnika.turn)
print(sahitya.getColor())
 def setUp(self):
     self.size = 10
     self.world = world.World(size=self.size)
     self.world.spawn_player(player.Player('test_player'))
Example #3
0
 def add_table_set(self, name, first_player):
     tabl = table.Table(name, first_player)
     self.table_set.add(tabl)
     self.add_player_dict(player.Player(first_player, tabl))
Example #4
0
 def __init__(self, *args, **kwargs):
     super(MyFlask, self).__init__(*args, **kwargs)
     self.player = player.Player()
     self.playlist_result = []
     self.search_result = []
Example #5
0
from pygame.locals import *

import player
import neural

import random
import math

pygame.init()
pygame.font.init()

WIDTH = 1200
HEIGHT = 600
screen = pygame.display.set_mode((WIDTH, HEIGHT))

plr = player.Player(20, 20)

itemsize = 10
item = player.Item(random.randint(0, WIDTH - itemsize),
                   random.randint(0, HEIGHT - itemsize))

nn = neural.Network(4, 8, 4)
LR = 0.05

clock = pygame.time.Clock()
myfont = pygame.font.Font(None, 36)

accuracy = []

while True:  # main game loop
Example #6
0
 def __init__(self):
     self.map = map.Map()
     self.player = player.Player()
     self.round_phase = ''
Example #7
0
# Created by MysteryBlokHed in 2019.
import pygame
import pygame.freetype
import player, ball

pygame.init()

width = 960
# Formula for 16:9
height = int(width/2+width/16)

screen = pygame.display.set_mode((width, height))

pygame.display.set_caption("Pong by MysteryBlokHed")

player1 = player.Player(25, 200, 25, 150)
player2 = player.Player(width-75, 200, 25, 150)
ball1 = ball.Ball(480, 270, 15, 15)
ball1.set_vel_x(10)
ball1.set_vel_y(-10)

player1_score = 0
player2_score = 0

scored = False
ai = True

text = pygame.freetype.SysFont("Roboto", 30)

running = True
while running:
Example #8
0
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                return True
    return False


def drawAndDelay(player):
    #fill screen with black
    screen.fill(black)
    #Draw player
    player.draw()
    #Update the screen
    pygame.display.flip()
    #Delay to get 30 fps
    clock.tick(30)


#Create the player
player = player.Player(screen, 100, 200)

#Main loop
done = False
while not done:
    #Handle any events, possibly closing the game.
    done = handleEvents()
    #Send user input to the player
    userInputToPlayer(player)
    #Draw on the screen
    drawAndDelay(player)

pygame.quit()
Example #9
0
import player
obj = player.Player("A")
print(obj.name)
print(obj.lives)


Example #10
0
 def setUp(self):
     self.player = player.Player('test')
import numpy as np

import nltk
import nlpy
import en

import psw
import gapi

import player

songPlayer = player.Player()
player.init()

import subprocess
from grooveshark import Client
#songClient = Client()
#songClient.init()

from sets import Set


def matchWord(tokens, words):
    s = Set(tokens).intersection(Set(words))
    if len(s) > 0:
        return [(w, 1.0, w) for w in s]
    else:
        from nltk.metrics import distance
        import operator
        result = []
        for token in Set(tokens):
Example #12
0
 def GET(self):
     user_data = web.input()
     file_name = user_data.fileName
     pl = player.Player()
     return pl.play_task(file_name)
Example #13
0
 def setup():
     self.deck = deck.Deck()
     self.player = player.Player(self.deck)
     self.house = house.House(self.deck)
Example #14
0
# - queen go to more than one cell
# - clean code
# - bug fixes, if any

import player

while True:  # please choose a color

    player_color = input('Please select your color (w/b): ')

    if player_color.lower() in ['w', 'b']:
        break
    continue

# create an instance and display the start board
game = player.Player(player_color)
bot_color = game.get_invert(player_color)

print(game.print_board())

# start the game with the first move, depending on the user's choice
if player_color == 'w':

    while not game.win(bot_color, player_color):

        game.input(player_color)

        if not game.win(bot_color, player_color):
            game.bot(bot_color)

else:
Example #15
0
 def testInit_playerOrientation_isUserSpecified(self):
     ori = bb.BaseBrain.ORIENTATION_LEFT
     p4 = player.Player(self.brainClass, self.mObj, self.pos, ori)
     self.assertEqual(ori, p4.getOrientation())
Example #16
0
        """
		calls the flush hands function for all the players
		:return:
		"""

        for player in self.players:
            player.flush_hand()

        self.decks_remaining = self.get_remaing_deck()

        self.true_count = self.game_count / (self.get_remaing_deck() + 1)
        pass


if __name__ == '__main__':

    deck = d.Deck()
    deck.initialize(number_of_card=52, random_order=True)

    player1 = p.Player(player_type="Gambler", name="Player One")

    game = Game(deck)
    game.add_players(player1)

    for i in range(1):

        game.pass_cards(2)
        game.show_player_stats()

        game.flush_hand()
Example #17
0
 def testInit_playerPosition_isUserSpecified(self):
     pos = c.Coordinate(5, 4)
     p2 = player.Player(self.brainClass, self.mObj, pos)
     self.assertEqual(pos, p2.getPosition())
Example #18
0
"""
GAME SETUP AND GAME SETTINGS, ALSO A START POINT
IF YOU WANT TO START A GAME, JUST RUN game.py (THIS ONE)
(YOU CAN SETUP HOW MANY CARDS ARE DRAWN AT WAR 
AND BOTH PLAYERS START AMOUNT OF CARDS)
"""

#imports
import random
import player
import deck
import card

#setup
player_one = player.Player('Player1')
player_two = player.Player('Player2')

new_deck = deck.Deck()
new_deck.shuffle()

how_many_cards_at_war = 5
players_should_get = int(len(new_deck.all_cards) / 2)

#we can adjust cards for players by typing in range(amount of cards for each player)
for card in range(players_should_get):
    player_one.add_cards(new_deck.deal_one())
    player_two.add_cards(new_deck.deal_one())

game_on = True
round_num = 0
Example #19
0
import player
import enemy
from game import Game

wn = turtle.Screen()
wn.bgcolor('black')
wn.setup(width=1600, height=900)
wn.tracer(0)

enemyTHEM = enemy.Boomyzoomy()
enemyTHEM2 = enemy.Boomyzoomy()
enemyTHEM3 = enemy.Boomyzoomy()

enemies = [enemyTHEM, enemyTHEM2, enemyTHEM3]

playerME = player.Player()

wn.listen()
wn.onkeypress(playerME.left, 'a')
wn.onkeypress(playerME.right, 'd')

game = Game(playerME, enemies)

loopCounter = 0

while True:
    loopCounter += 1
    if loopCounter >= 100000:
        loopCounter = 0
    game.moveEnemies(loopCounter)
def game():
    print("[SYSTEM] Game starts")
    dealer = player.Dealer()
    user = player.Player()

    user_win = -1

    print("Dealer cards")
    dealer.draw_card()
    dealer.draw_card()
    dealer.show_first()
    print("unknown")

    print("Player cards")
    user.draw_card()
    user.draw_card()
    user.print_cards()
    print("Score : " + str(user.get_score()))
    player_sum, dealer_sum, action, p_hit, p_stand = recommend(
        user.cards, dealer.cards)
    choice = "begin"
    while choice != "q":
        choice = input("Enter [H]it, [S]tand, or [Q]uit\n").lower()
        if choice == "h":
            user.hit()
            if check_bust(user) == 0:
                print("Score : " + str(user.get_score()))
        elif choice == "s":
            while dealer.get_score() < 17:
                dealer.draw_card()
            print("Dealer score: " + str(dealer.get_score()))
            if check_bust(dealer):
                user_win = 1
            elif dealer.get_score() > user.get_score():
                user_win = 0
            elif dealer.get_score() < user.get_score():
                user_win = 1
            else:
                user_win = 2  # Draw
            break
        elif choice == "q":
            print("Exit")
            exit()

        if check_bust(user) == 1:
            print("[SYSTEM] Lose: User busted")
            user_win = 0
            break
    print("USER")
    user.print_cards()
    print("Total: " + str(user.get_score()))

    print("DEALER")
    dealer.print_cards()
    print("Total: " + str(dealer.get_score()))
    if user_win == 0:
        print("[SYSTEM] Lose")
    if user_win == 1:
        print("[SYSTEM] Win")
    if user_win == 2:
        print("[SYSTEM] Draw")
Example #21
0
 def __init__(self, grid_size=52):
     self.client_player = player.Player()
     self.players = [self.client_player]
     self.grid_size = grid_size
Example #22
0
        directory_path = tkinter.filedialog.askdirectory()
        if not directory_path:
            return
        audio_files_in_directory = self.get_all_audio_file_from_directory(
            directory_path)
        for audio_file in audio_files_in_directory:
            self.model.add_to_play_list(audio_file)
            file_path, file_name = os.path.split(audio_file)
            self.list_box.insert(tk.END, file_name)

    def get_all_audio_file_from_directory(self, directory_path):
        audio_files_in_directory = []
        for (dirpath, dirnames, filenames) in os.walk(directory_path):
            for audio_file in filenames:
                if audio_file.endswith(".mp3") or audio_file.endswith(".wav"):
                    audio_files_in_directory.append(dirpath + "/" + audio_file)
        return audio_files_in_directory

    def clear_play_list(self):
        self.model.clear_play_list()
        self.list_box.delete(0, tk.END)


if __name__ == '__main__':
    root = tk.Tk()
    root.resizable(width=False, height=False)
    model = model.Model()
    player = player.Player()
    app = View(root, model, player)
    root.mainloop()
Example #23
0
 def __intro(self):
     for ev in pygame.event.get():
         if ev.type == QUIT:
             pygame.quit()
             sys.exit()
         self.introManager.process_events(ev)
         if ev.type == pygame.USEREVENT:
             if ev.user_type == pygame_gui.UI_BUTTON_PRESSED:
                 if ev.ui_element == self.startBtn:
                     self.state = "control"
                     if not self.doublePlayer:
                         self.player1 = player.Player(
                             self.width, self.height, 1)
                     else:
                         self.player1 = player.Player(
                             self.width, self.height, 1)
                         self.player2 = player.Player(
                             self.width, self.height, 2)
                     if self.enemyNumber == 1:
                         self.enemy1 = enemy.Enemy(self.width, self.height,
                                                   1)
                     elif self.enemyNumber == 2:
                         self.enemy1 = enemy.Enemy(self.width, self.height,
                                                   1)
                         self.enemy2 = enemy.Enemy(self.width, self.height,
                                                   2)
                 if ev.ui_element == self.menuExitBtn:
                     pygame.quit()
                     sys.exit()
                 if ev.ui_element == self.onePlayerBtn:
                     self.doublePlayer = False
                     self.onePlayerBtn.select()
                     self.twoPlayerBtn.unselect()
                     self.noEnemyBtn.disable()
                     if self.enemyNumber == 0:
                         self.enemyNumber = 1
                         self.oneEnemyBtn.select()
                 if ev.ui_element == self.twoPlayerBtn:
                     self.doublePlayer = True
                     self.onePlayerBtn.unselect()
                     self.twoPlayerBtn.select()
                     self.noEnemyBtn.enable()
                 if ev.ui_element == self.noEnemyBtn:
                     self.enemyNumber = 0
                     self.noEnemyBtn.select()
                     self.oneEnemyBtn.unselect()
                     self.twoEnemyBtn.unselect()
                 if ev.ui_element == self.oneEnemyBtn:
                     self.enemyNumber = 1
                     self.noEnemyBtn.unselect()
                     self.oneEnemyBtn.select()
                     self.twoEnemyBtn.unselect()
                 if ev.ui_element == self.twoEnemyBtn:
                     self.enemyNumber = 2
                     self.noEnemyBtn.unselect()
                     self.oneEnemyBtn.unselect()
                     self.twoEnemyBtn.select()
     self.introManager.update(self.time)
     self.screen.fill((255, 255, 255))
     self.screen.blit(self.menuBg, (0, 0))
     self.screen.blit(self.titleImg, ((self.width / 2) - 350, 100))
     self.introManager.draw_ui(self.screen)
     pygame.display.update()
Example #24
0
def render_SPH(runfolder,
               args=gas_args,
               snapprefix='snapshot_',
               snap=-1,
               inc=0,
               azi=0,
               inc2=0,
               vel_field=False,
               Hill_rad=False,
               Slice=False,
               upto=0,
               zoom=False,
               polyzoom=False,
               overlay=False,
               write=False,
               hammer=False,
               RZ_plot=False,
               roffset=0.01,
               dpi=100,
               h_hist=False,
               it=0,
               rerun=False,
               amin=0,
               amax=0,
               tracking=False,
               track_R=3,
               soffset=0):
    '''Make rendered animation or single image of an SPH plot. Option to save.
    field_mode: 
                ---- Vertically averaged modes ----
                Sigma - Surface Density [gcm^{-2}]
                
                ---------- Slice modes ----------
                temp  - Temperature [K]
                tau   - Dimensionless stopping time []
                Q     - Toomre Q parameter []
                vz    - zcoord (or rcoord) velocity [cm/s]

    set snap to find snapshot. snap=-1 -> movie
    If inc != 0 or 180, plot rho instead of Sigma
    overlay   - pixellated overlay of dust particles. Scatter too expensive.
    vel_field - overlay of render data velocity structure
    zoom      - zooms on first planet
    polyzoom  - zooms on max rho SPH particles
    upto      - limits movie frames
    tracking  - track gas particles that are initially close to the planet
    '''

    #==== Load Arguments ====#
    mode_name, p_type, map_col = args[0], args[1], args[2]
    vmin, vmax, field_mode = args[3][0], args[3][1], args[5]
    zoom_str, overlay_str, angle_str, hammer_str = '', '', '', ''
    movie = False
    box_lim = XYdim * AU_scale

    if polyzoom == True:
        zoom = True
    if zoom == True:
        zoom_str = '_zoom'
        box_lim = XYdim_zoom * AU_scale
        vmin, vmax = args[4][0], args[4][1]
    if inc != 0:
        angle_str += '_i' + str(inc)
        if mode_name == 'vz':
            mode_name = r'$v_{\phi}$'
    if azi != 0:
        angle_str += '_a' + str(azi)
    if field_mode == 'Sigma':
        render_mode = 'Sigma'
    if Slice == False:
        if (field_mode == 'rho') or (field_mode == 'temp') or (
                field_mode == 'tau') or (field_mode == 'vz') or (field_mode
                                                                 == 'h'):
            render_mode = 'rho_grid'
    else:
        render_mode = 'Sigma'

    if field_mode == 'vz':
        A = 'vz'
        angle_str += '_vz'

    elif field_mode == 'h':
        A = 'h'
    else:
        A = 'u'
    box_limx, box_limy = box_lim, box_lim
    if hammer == True:
        angle_str += 'hammer'
        box_limx = np.pi
        box_limy = 1

    #==== Build grids ====#
    binsx = np.linspace(-box_limx, box_limx, ngrid + 1)
    binx_mids = (binsx[1:] + binsx[:-1]) / 2
    binsy = np.linspace(-box_limx, box_limx, ngrid + 1)
    biny_mids = (binsy[1:] + binsy[:-1]) / 2
    Bin_Xs, Bin_Ys = np.meshgrid(binx_mids, biny_mids)

    #================ Find Time data and num snaps ==================#
    globbed = glob.glob(filepath + runfolder + 'snapshot*')
    num_snaps = len(globbed)
    snaps = []
    slen = len(globbed[0].split('.hdf')[0].split('snapshot_')[1])
    print 'slen', slen

    time1 = time.time()
    try:
        time_zero = readheader(
            filepath + runfolder + snapprefix + '001'.zfill(slen), 'time')
        try:
            time_one = readheader(
                filepath + runfolder + snapprefix + '002'.zfill(slen), 'time')
            time_dt = time_one - time_zero
        except:
            'Only one snapshot!'
            time_dt = 0
    except:
        print 'No snapshots found!'
        time_dt = 0
    snap_dt = time_dt * code_time / c.sec_per_year

    if snap == -1:
        movie = True
        print savedir + runfolder
        if upto != 0:
            num_snaps = upto
            min_snap = 0
        else:
            for i in range(len(globbed)):
                snaps.append(int(globbed[i][-5 - slen:][:slen]))
            min_snap = min(snaps)

        print 'Running movie for ', num_snaps, ' frames'
        snapids = np.arange(num_snaps) + min_snap
    else:
        num_snaps = 1
        snapids = [snap]

    #======== Set up overlay data ========#
    if tracking == True:
        coarse = 4
        track_IDs = b.ID_selection(runfolder,
                                   snapprefix=snapprefix,
                                   track_R=track_R,
                                   zoom='planet')
        ngrid_coarse = int(ngrid / coarse)
        #track_store = np.zeros((num_snaps,ngrid_coarse,ngrid_coarse))
    else:
        track_IDs = []

    #======== Load saved files or rerun rendering routine ========#
    try:
        if (rerun == True) or (movie == False):
            1 / 0
        else:
            print savedir + runfolder.rstrip(
                '//'
            ) + '_' + p_type + zoom_str + overlay_str + angle_str + render_mode + '_movie.npy'
            save_array = np.load(savedir + runfolder.rstrip('//') + '_' +
                                 p_type + zoom_str + overlay_str + angle_str +
                                 render_mode + '_movie.npy')

    except:
        print 'No file currently exists, must compute simulation render!'
        save_array = np.zeros((num_snaps, 6, ngrid + 1, ngrid))

        for i in range(len(snapids)):
            idn = snapids[i]
            print 'i', idn + 1, ' out of', num_snaps
            print 'render_mode', render_mode
            store, dust_pos, track_pos = render(runfolder,
                                                snapprefix=snapprefix,
                                                snapid=idn,
                                                slen=slen,
                                                p_type=p_type,
                                                inc=inc,
                                                azi=azi,
                                                inc2=inc2,
                                                hammer=hammer,
                                                RZ_plot=RZ_plot,
                                                A=A,
                                                roffset=roffset,
                                                render_mode=render_mode,
                                                zoom=zoom,
                                                track_IDs=track_IDs,
                                                polyzoom=polyzoom,
                                                overlay=overlay,
                                                h_hist=h_hist,
                                                it=it)

            print 'A', store[1, 1:, :]

            save_array[i, 0, 0, :] = store[0, 0, :]  #Header info
            save_array[
                i, 0,
                1:, :] = store[0, 1:, :] * code_M / code_L**2  #Sigma [g/cm^2]
            save_array[i, 2,
                       1:, :] = store[2,
                                      1:, :] * code_L / code_time  #vx [cm/s]
            save_array[i, 3,
                       1:, :] = store[3,
                                      1:, :] * code_L / code_time  #vy [cm/s]
            dust_pos *= AU_scale
            track_pos *= AU_scale

            if A == 'u':
                save_array[i, 1, 1:, :] = store[
                    1, 1:, :] * code_L**2 / code_time**2  #u [cm^2/s^2]
            elif A == 'h':
                save_array[i, 1, 1:, :] = store[1, 1:, :] * AU_scale  #h in AU
            elif A == 'vz':
                save_array[i, 1,
                           1:, :] = store[1, 1:, :] * code_L / code_time  #cm/s

            #==== Add image floor to remove low density errors ====#
            save_array[i, 0, 1:, :][save_array[i, 0, 1:, :] > roof] = floor
            save_array[i, 0, 1:, :][save_array[i, 0, 1:, :] < floor] = floor
            print 'Min/Max: ', np.min(save_array[i, 0, 1:, :]), np.max(
                save_array[i, 0, 1:, :])
            print '\n'

            #==== Add dust_overlay info ====#
            save_array[i, 4, 1:, :] = track_overlay(dust_pos, box_lim, ngrid)

            if tracking == True:
                save_array[i, 5,
                           1:ngrid_coarse + 1, :ngrid_coarse] = track_overlay(
                               track_pos, box_lim, ngrid_coarse)

        #==== Save output ====#
        if snap == -1:
            try:
                print 'try removing file'
                print savedir + runfolder.rstrip(
                    '//'
                ) + '_' + p_type + zoom_str + overlay_str + angle_str + render_mode + '_movie.npy'
                os.remove(savedir + runfolder.rstrip('//') + '_' + p_type +
                          zoom_str + overlay_str + angle_str + render_mode +
                          '_movie.npy')
                print 'file removed'
            except:
                print 'pass'
            print 'Starting save!'
            np.save(
                savedir + runfolder.rstrip('//') + '_' + p_type + zoom_str +
                overlay_str + angle_str + render_mode + '_movie', save_array)
    print 'Loading Complete'

    #------------------======== Load Header info =========----------------#
    Time = save_array[:, 0, 0,
                      0]  #snap_dt*np.arange(num_snaps)#save_array[:,0,0,0]               #Years
    M_star = save_array[:, 0, 0, 1]  #code_M
    NP = save_array[:, 0, 0, 2]  #Number of planets
    MP = save_array[:, 0, 0, 3]  #code_M
    p_pos = save_array[:, 0, 0, 4:7] * AU_scale  #AU
    p_sep = np.sqrt(p_pos[:, 0]**2 + p_pos[:, 1]**2 + p_pos[:, 2]**2)
    RH = b.hill_radius(p_sep, MP, M_star)  #AU
    Sigma = save_array[:, 0, 1:, :] + floor
    bonus_field = save_array[:, 1, 1:, :]
    vx_field = save_array[:, 2, 1:, :]
    vy_field = save_array[:, 3, 1:, :]
    dust_store = save_array[:, 4, 1:, :]

    if tracking == True:
        track_store = save_array[:, 5, 1:ngrid_coarse + 1, :ngrid_coarse]

    NP_max = int(np.max(NP))
    print 'Max Number of planets: ', NP_max
    p_poss = save_array[:, 0, 0, 3:7 + 4 * (NP_max - 1)] * AU_scale  #AU
    p_poss = np.reshape(p_poss, (num_snaps, NP_max, 4))
    if hammer == True:
        p_poss[:, :, 1] *= np.pi / box_lim
        p_poss[:, :, 2] *= 1 / box_lim

    #====================== Determine plot field ========================#
    if field_mode == 'Sigma':
        plot_field = Sigma
        cax_label = r'$\Sigma \quad \rm{[g cm^{-2}}]$'
    if field_mode == 'rho':
        plot_field = Sigma / code_L
        cax_label = r'$\rho \quad \rm{[g cm^{-3}}]$'
    else:
        Om_K, Rs = calc_Om_K_field(M_star, zoom=zoom, p_pos=p_pos)
        if field_mode == 'tau':
            plot_field = calc_tau(u=bonus_field,
                                  Om_K=Om_K,
                                  Sigma=Sigma,
                                  render_mode=render_mode)
            cax_label = r'$\tau$'
        elif field_mode == 'Q':
            if zoom == True:
                Om_K, Rs = calc_Om_K_field(MP,
                                           zoom=zoom,
                                           p_pos=[0, 0],
                                           render_mode=render_mode)
            plot_field = calc_Q(u=bonus_field, Om_K=Om_K, Sigma=Sigma, Rs=Rs)
            cax_label = 'Toomre Q'
        elif field_mode == 'temp':
            plot_field = calc_temp(u=bonus_field,
                                   Sigma=Sigma,
                                   Om_K=Om_K,
                                   render_mode=render_mode)
            cax_label = 'T [K]'
        elif field_mode == 'vz':
            plot_field = bonus_field / code_L * code_time
            cax_label = r'$v_r [cms^{-1}]$'
            if inc != 0:
                cax_label = r'$v_{\phi}$ $[cms^{-1}]$'
        elif field_mode == 'h':
            plot_field = bonus_field  #h in AU
            cax_label = r'Smoothing length h'

    #========================= Plotting Code ========================#
    #-=========================-------------========================-#
    fig1 = plt.figure(it, facecolor='white', figsize=(8, 8))
    ax1 = fig1.add_axes([0.15, 0.2, 0.76, 0.76])
    cax = fig1.add_axes([0.15, 0.08, 0.76, 0.02])

    norm = LogNorm(vmin=vmin, vmax=vmax)
    if field_mode == 'vz':
        norm = SymLogNorm(linthresh=vmin, vmin=-vmax, vmax=vmax)
        map_col = 'RdYlBu_r'
    elif (field_mode == 'temp') and (zoom == True):
        norm = colors.Normalize(vmin=vmin, vmax=vmax)
    elif field_mode == 'h':
        norm = colors.Normalize(vmin=vmin, vmax=vmax)

    smoothed = ax1.imshow(plot_field[0],
                          interpolation='none',
                          norm=norm,
                          aspect='auto',
                          cmap=map_col,
                          extent=[-box_limx, box_limx, -box_limy, box_limy],
                          origin='lower')
    plt.colorbar(smoothed, cax=cax, orientation='horizontal')
    '''
    #==== 3D test ====#
    dim = np.shape(plot_field[0])[0]
    Xs = np.linspace(-box_lim,box_lim,dim)
    X,Y = np.meshgrid(Xs,Xs)
    ax1 = fig1.gca(projection='3d')
    ax1.plot_surface(X, Y, plot_field[0], rstride=8, cstride=8, alpha=0.3)
    '''

    print 'Max dust store', np.max(dust_store)
    if overlay == True:
        dust = ax1.imshow(dust_store[0],
                          interpolation='none',
                          norm=LogNorm(1, 5e4),
                          aspect='auto',
                          cmap='gray_r',
                          extent=[-box_limx, box_limx, -box_limy, box_limy],
                          origin='lower',
                          alpha=0.7)
    if tracking == True:
        tracker = ax1.imshow(track_store[0],
                             interpolation='none',
                             norm=LogNorm(1, 100),
                             alpha=0.5,
                             aspect='auto',
                             cmap='RdPu',
                             extent=[-box_limx, box_limx, -box_limy, box_limy],
                             origin='lower')

    ax1.set_xlabel('x [AU]')
    ax1.set_ylabel('y [AU]')
    if hammer == True:
        ax1.set_xlabel(r'$\phi$')
        ax1.set_ylabel(r'cos($\theta$)')
    ax1.set_xlim(-box_limx, box_limx)

    if inc == 90:
        ax1.set_ylabel('z [AU]')

    #==== Plot sinks ====#
    print np.shape(p_poss)
    planet_col = '#581845'  #'#22ddff'
    if args[0] == 'Dust':
        planet_col = '#dd00cc'
    planets = ax1.scatter(p_poss[0, :, 1],
                          p_poss[0, :, 2],
                          s=30,
                          color=planet_col)  #'#ff1493')#,edgecolors='purple')

    #Get parameter plotting strings
    beta_string = beta_stringify(runfolder)
    grain_string = grain_stringify(runfolder) + ' cm'
    tbox = dict(facecolor='white')
    ax1.set_rasterized(True)
    #ax1.text(0.04,1.015,mode_name + r',  $\beta$ = ' + beta_string, transform=ax1.transAxes)
    ax1.text(0.06,
             0.9,
             r'$\beta$ = ' + beta_string + '\n' + mode_name,
             transform=ax1.transAxes,
             bbox=tbox)
    cax.set_xlabel(cax_label)
    timetext = ax1.text(0.75,
                        1.015,
                        'Time: {:.0f} '.format(Time[0]) + ' Yrs',
                        transform=ax1.transAxes)
    #timetext = ax1.text(0.75,1.015,'Time: {:.0f} '.format(int(snap_dt*soffset)) + ' Yrs', transform=ax1.transAxes)

    if vel_field == True:
        n_v = 16  #int(ngrid/50)
        dv = int(ngrid / n_v)
        vel_gridx = np.linspace(-box_limx, box_limx, n_v)
        vel_gridy = np.linspace(-box_limy, box_limy, n_v)
        Quivers = ax1.quiver(vel_gridx,
                             vel_gridy,
                             vx_field[0, ::dv, ::dv],
                             vy_field[0, ::dv, ::dv],
                             angles='xy')

    if (zoom == True) and (Hill_rad == True):
        Hill_radius = plt.Circle((0, 0), RH[0], fc='none', ec='#ffffff')
        Half_Hill_radius = plt.Circle((0, 0),
                                      RH[0] / 2,
                                      fc='none',
                                      ec='#ffffff',
                                      ls='--')
        ax1.add_patch(Hill_radius)
        ax1.add_patch(Half_Hill_radius)

    #==== Movie making code ====#
    if movie == True:

        def animate(i):
            returns = []
            smoothed.set_array(plot_field[i])
            timetext.set_text('Time: {:.0f} '.format(int(Time[i])) + ' Yrs')
            #timetext.set_text('Time: {:.0f} '.format(int(snap_dt*(i+soffset))) + ' Yrs')
            returns.append([smoothed, timetext])
            planets.set_offsets(p_poss[i, :, 1:3])
            returns.append(planets)

            if vel_field == True:
                Quivers.set_UVC(vx_field[i, ::dv, ::dv],
                                vy_field[i, ::dv, ::dv])

            if (zoom == True) and (polyzoom == False) and (Hill_rad == True):
                Hill_radius.set_radius(RH[i])
                Half_Hill_radius.set_radius(RH[i] / 2)
                returns.append([Hill_radius, Half_Hill_radius])

            if overlay == True:
                dust.set_array(dust_store[i])
                returns.append([dust])

            if tracking == True:
                tracker.set_array(track_store[i])
                returns.append([tracker])

            return returns

        print 'reached animation'
        interval = 200  #10#50#100
        print 'N snaps', num_snaps
        anim = player.Player(fig1,
                             animate,
                             interval=interval,
                             maxi=num_snaps,
                             blit=False,
                             repeat=True,
                             save_count=num_snaps - 1)
        #anim = FuncAnimation(fig1, animate, interval=interval, blit=False, repeat=True,save_count=num_snaps)

        if write == True:
            print 'Writing savefile'
            anim = FuncAnimation(fig1,
                                 animate,
                                 interval=interval,
                                 blit=False,
                                 repeat=True,
                                 save_count=num_snaps)
            writer = animation.writers['ffmpeg'](fps=20)
            anim.save(runfolder.strip('//') + '_' + p_type + zoom_str +
                      overlay_str + angle_str + field_mode + '.mp4',
                      writer=writer,
                      dpi=dpi)
        plt.show()

    #==== If no movie, save image ====#
    else:
        if write == True:
            fig1.savefig(runfolder.strip('//') + '_' + p_type + zoom_str +
                         overlay_str + angle_str + field_mode + '_' +
                         str(snap).zfill(3) + '.pdf',
                         dpi=dpi)

    print 'Runtime: ', time.time() - time1
    return
Example #25
0
def init_game():
    """
    Initialize the game with map, players and bank
    1. generate a map
    2. initialize players
    3. initialize bank
    all of the data
    :return: map, players list and bank
    """
    # generate a map
    parent_addr = os.path.abspath(os.pardir)
    block_list_data = json_reader(
        os.path.join(parent_addr, 'Data/block_data.json'))
    station_list_data = json_reader(
        os.path.join(parent_addr, 'Data/station_data.json'))
    utility_list_data = json_reader(
        os.path.join(parent_addr, 'Data/utility_data.json'))
    estate_list_data = json_reader(
        os.path.join(parent_addr, 'Data/estate_data.json'))
    chest_list_data = json_reader(
        os.path.join(parent_addr, 'Data/chest_data.json'))
    chance_list_data = json_reader(
        os.path.join(parent_addr, 'Data/chance_data.json'))
    block_list = [0 for x in range(40)]
    station_list = []
    utility_list = []
    estate_list = []
    corner_list = []
    chest_block_list = []
    chance_block_list = []
    tax_list = []

    # initialize bank
    epic_bank = bank.Bank('99', 'EpicBank', 32, 12)
    json_writer(os.path.join(parent_addr, 'Data/bank_data.json'), {
        "house_number": epic_bank.cur_house,
        "hotel_number": epic_bank.cur_hotel
    })

    for b in block_list_data["data"]:
        if b['block_type'] == 0:
            # ["Go", "Go to Jail", "In Jail", "Free Parking"]
            if b['name'] == "Go":
                corner_block = block.Go(b['name'], b['block_id'],
                                        b['position'])
            elif b['name'] == "Go to Jail":
                corner_block = block.Go_To_Jail(b['name'], b['block_id'],
                                                b['position'])
            elif b['name'] == "In Jail":
                corner_block = block.In_Jail(b['name'], b['block_id'],
                                             b['position'])
            elif b['name'] == "Free Parking":
                corner_block = block.Free_Parking(b['name'], b['block_id'],
                                                  b['position'])
            else:
                pass
            block_list[corner_block.position] = corner_block
            corner_list.append(corner_block)
        elif b['name'] == "Community Chest":
            # "Community Chest"
            new_block = cardpile.Community_Chest(b['name'], b['block_id'],
                                                 b['position'])
            block_list[new_block.position] = new_block
            chest_block_list.append(new_block)
        elif b['name'] == "Chance":  # "Chance"
            new_block = cardpile.Chance(b['name'], b['block_id'],
                                        b['position'])
            block_list[new_block.position] = new_block
            chance_block_list.append(new_block)
        elif b['block_type'] == 3:
            # ["Income Tax", "Super Tax"]
            if b['name'] == "Income Tax":
                new_block = tax.Income_Tax(b['name'], b['block_id'],
                                           b['position'], 0.10)
            elif b['name'] == "Super Tax":
                new_block = tax.Super_Tax(b['name'], b['block_id'],
                                          b['position'], 0.10)
            else:
                pass
            block_list[new_block.position] = new_block
            tax_list.append(new_block)
    # name, position, uid, estate_value, status, street_id
    for s in station_list_data["data"]:
        new_block = station.Station(s['name'], s['block_id'], s['position'],
                                    s['uid'], s['estate_value'], s['status'])
        station_list.append(new_block)
        block_list[new_block.position] = new_block
        epic_bank.add_asset(new_block)
    # name, position, uid, estate_value, status, street_id
    for u in utility_list_data["data"]:
        new_block = utility.Utility(u['name'], u['block_id'], u['position'],
                                    u['uid'], u['estate_value'], u['status'])
        utility_list.append(new_block)
        block_list[new_block.position] = new_block
        epic_bank.add_asset(new_block)
    for e in estate_list_data["data"]:
        new_block = estate.Estate(e['name'], e['block_id'], e['position'],
                                  e['uid'], e['estate_value'], e['status'],
                                  e['street_id'], e['house_value'])
        estate_list.append(new_block)
        block_list[new_block.position] = new_block
        epic_bank.add_asset(new_block)

    # initialize players
    player_dict_data = json_reader(
        os.path.join(parent_addr, 'Data/player_list.json'))
    player_dict = {}
    player_dict_data = player_dict_data["data"]
    for i in range(len(player_dict_data)):
        p = player.Player(player_dict_data[i]['id'],
                          player_dict_data[i]['name'],
                          player_dict_data[i]['cash'],
                          player_dict_data[i]['alliance'])
        out_put_line = "%d %d %s %s" % (p.cash, p.id, p.name, p.alliance)
        operation.push2all(out_put_line)
        player_dict[player_dict_data[i]['id']] = p

    # initialize chest cards
    chest_list = []
    for chest in chest_list_data["data"]:
        # 0: Collection, 1: Collect_from_players
        if chest['card_type'] == 0 or chest['card_type'] == 1:
            chest_list.append(
                card.CollectCard(chest['card_id'], chest['card_type'],
                                 chest['description'], chest['amount']))
        elif chest['card_type'] == 2 or chest[
                'card_type'] == 3:  # 2: Pay, 3: Pay_for_repair
            # or chest['card_type'] == 8 8: Pay_to_players
            chest_list.append(
                card.PayCard(chest['card_id'], chest['card_type'],
                             chest['description'], chest['amount']))
        # elif chest['card_type'] == 4 or chest['card_type'] == 6:  # 4: Move_indicate_position, 6: Move_nearby
        #     chest_list.append(card.MoveCard(chest['card_id'], chest['card_type'], chest['description'],
        #                                     chest['block_id']))
        # elif chest['card_type'] == 7:  # Move
        #     chest_list.append(card.MoveCard(chest['card_id'], chest['card_type'], chest['description'],
        #                                     chest['steps']))
        elif chest['card_type'] == 5:  # Bailcard
            chest_list.append(
                card.BailCard(chest['card_id'], chest['card_type'],
                              chest['description']))

    # initialize chance cards
    chance_list = []
    for chance in chance_list_data["data"]:
        if chance['card_type'] == 0:  # 0: Collection
            # or chance['card_type'] == 1, 1: Collect_from_players
            chance_list.append(
                card.CollectCard(chance['card_id'], chance['card_type'],
                                 chance['description'], chance['amount']))
        elif chance['card_type'] == 2 or chance['card_type'] == 3 or chance[
                'card_type'] == 8:  # 2: Pay,
            # 3: Pay_for_repair
            # 8: Pay_to_players
            chance_list.append(
                card.PayCard(chance['card_id'], chance['card_type'],
                             chance['description'], chance['amount']))
        # 4: Move_indicate_position, 6: Move_nearby
        elif chance['card_type'] == 4 or chance['card_type'] == 6:
            chance_list.append(
                card.MoveCard(chance['card_id'], chance['card_type'],
                              chance['description'], chance['block_id']))
        elif chance['card_type'] == 7:  # Move
            chance_list.append(
                card.MoveCard(chance['card_id'], chance['card_type'],
                              chance['description'], chance['steps']))
        elif chance['card_type'] == 5:  # Bailcard
            chance_list.append(
                card.BailCard(chance['card_id'], chance['card_type'],
                              chance['description']))

    # initialize chess board
    two_block_street = []
    three_block_street = []
    for e in estate_list:
        if e.street_id == 1 or e.street_id == 8:
            two_block_street.append(e)
        else:
            three_block_street.append(e)
    chess_board_object = board.Board(two_block_street, three_block_street,
                                     station_list, utility_list, block_list,
                                     corner_list, chest_block_list,
                                     chance_block_list, tax_list)

    global data
    data['chess_board'] = block_list
    data['player_dict'] = player_dict
    data['epic_bank'] = epic_bank
    data['chest_list'] = chest_list
    data['chance_list'] = chance_list
    data['station_list'] = station_list
    data['utility_list'] = utility_list
    data['estate_list'] = estate_list
    data['corner_list'] = corner_list
    data['chest_block_list'] = chest_block_list
    data['chance_block_list'] = chance_block_list
    data['tax_list'] = tax_list
    return data
Example #26
0
def join_game():
    """ Add a player to the game """
    human = player.Player()
    human.get_name()
    if human:
        players.append(human)
Example #27
0
 def add_player(self, name, flag_index):
     self.players.append(player.Player(self.world, name, flag_index))
     if self.current_player is None:
         self.current_player = self.players[0]
Example #28
0
print(hand1.show_hand_obj()[0].value())
print(hand1.show_hand_obj()[0].color())
print(hand1.best_five(board))
print(hand1.hand_strength(board))

hand2 = hand.Hand(deck.make_hand())

print(deck.show_deck())
print(hand2.show_hand())
print(hand2.show_hand_obj()[1].show_card())
print(hand2.show_hand_obj()[1].value())
print(hand2.show_hand_obj()[1].color())
print(hand2.best_five(board))
print(hand2.hand_strength(board))

player1 = player.Player(1, 100, "yoink")

player1.add_hand(hand1)
print(player1.show_player_hand().show_hand())
print(player1.show_player_hand().show_hand_obj()[0].color())
print(player1.show_player_hand().hand_strength(board))
print(str(player1.chips()))
player1.increase_chips(50)
print(str(player1.chips()))
print(player1.position_name())
player1.add_position(4)
print(player1.position_name())

player2 = player.Player(2, 100, "yeet")

player2.add_hand(hand2)
Example #29
0
                    s = hands.printHand(pl.pocket,justReturn=True)
                if smPos == pl.position:
                    sm = "SMALL BLIND"
                if bbPos == pl.position:
                    bb = "BIG BLIND"
                if dealerPos == pl.position:
                    d = "DEALER"
                print(f"{pl.name}  £{pl.money} {s}{sm}{bb}{d}")
            
            


if(len(sys.argv) < 2):
    name = input("Enter your name for the server")
else:
    name = sys.argv[1]


s.send(pickle.dumps([0,player.Player(None,None,name=name)]))

t = threading.Thread(target=threadInput)
t.start()