예제 #1
0
 def control_groups(self):
     if self.Continue:
         key_pressed = pygame.key.get_pressed()
         if key_pressed[pygame.K_y] or key_pressed[pygame.K_RETURN]:
             self.Continue = False
             self.play1 = Play(0, self.play_number)
             self.play2 = Play(1, self.play_number)
         elif key_pressed[pygame.K_n] or key_pressed[pygame.K_ESCAPE]:
             sys.exit()
     for sprite in gl.aircraft_group.sprites():
         if sprite.allowed_control:
             key_pressed = pygame.key.get_pressed()
             if key_pressed[pygame.K_SPACE]:
                 sprite.launch_bullet(self)
             if key_pressed[pygame.K_b]:
                 sprite.launch_bomb()
             if key_pressed[pygame.K_w] or key_pressed[pygame.K_UP]:
                 upr = UpdateParameter(pygame.time.get_ticks(), self.FPS)
                 upr.direction = 1
                 sprite.update(upr)
             elif key_pressed[pygame.K_s] or key_pressed[pygame.K_DOWN]:
                 upr = UpdateParameter(pygame.time.get_ticks(), self.FPS)
                 upr.direction = 2
                 sprite.update(upr)
             elif key_pressed[pygame.K_a] or key_pressed[pygame.K_LEFT]:
                 upr = UpdateParameter(pygame.time.get_ticks(), self.FPS)
                 upr.direction = 3
                 sprite.update(upr)
             elif key_pressed[pygame.K_d] or key_pressed[pygame.K_RIGHT]:
                 upr = UpdateParameter(pygame.time.get_ticks(), self.FPS)
                 upr.direction = 4
                 sprite.update(upr)
예제 #2
0
class DanceDanceCV(object):

    def __init__(self):
        self.screen = pygame.display.set_mode((WIDTH, HEIGHT))
        pygame.display.set_caption('DanceDanceCV')
        self.intro = Intro(self.screen)
        self.choose = Choose(self.screen)
        self.highScore = HighScore(self.screen)
        self.song1 = 'fire'
        self.song2 = 'summer'

    def run(self):
        playing = True
        mode = 'intro'
        while playing:
            if mode == 'intro':
                mode = self.intro.run()
            elif mode == 'choose':
                mode = self.choose.run()
            elif mode == 'high score':
                mode = self.highScore.run()
            elif mode == 'play1':
                self.play = Play(self.song1)
                mode = self.play.run()
            elif mode == 'play2':
                self.play = Play(self.song2)
                mode = self.play.run()
            elif mode == 'quit':
                playing = False
        pygame.quit()
예제 #3
0
 def __init__(self, title='太空陨石'):
     self.play_number = 5
     self.size = (480, 700)
     self.image = pygame.display.set_mode(self.size)
     self.rect = self.image.get_rect()
     self.title = title
     self.color = (3, 6, 13)
     self.clock = pygame.time.Clock()
     self.clock_ticks = None
     self.bg = GameBackground((gl.all_group, gl.bg_group), self,
                              vector2(0, 0))
     self.FPS = 60
     self.meteorites_count = 10
     self.reward_play_nums = [
         1000, 5000, 10000, 50000, 100000, 200000, 300000, 400000, 500000,
         600000, 700000, 800000, 900000, 1000000
     ]  # 游戏次数奖励集合
     self.reward_count = 2
     self.font = pygame.font.SysFont("simsunnsimsun", 16)
     self.anim_font = pygame.font.SysFont("simsunnsimsun", 16)
     self.s_bomb1 = pygame.mixer.Sound(
         os.path.join(gl.source_dir, "BOMB1.ogg"))
     self.s_bomb2 = pygame.mixer.Sound(
         os.path.join(gl.source_dir, "BOMB2.ogg"))
     self.s_bomb3 = pygame.mixer.Sound(
         os.path.join(gl.source_dir, "BOMB3.ogg"))
     self.s_bomb4 = pygame.mixer.Sound(
         os.path.join(gl.source_dir, "BOMB4.ogg"))
     self.s_bomb5 = pygame.mixer.Sound(
         os.path.join(gl.source_dir, "BOMB5.ogg"))
     self.s_bomb6 = pygame.mixer.Sound(
         os.path.join(gl.source_dir, "BOMB6.ogg"))
     self.szd1 = pygame.mixer.Sound(os.path.join(gl.source_dir, "zd1.ogg"))
     self.szd2 = pygame.mixer.Sound(os.path.join(gl.source_dir, "zd1.ogg"))
     self.szd3 = pygame.mixer.Sound(os.path.join(gl.source_dir, "zd1.ogg"))
     self.reward_money = pygame.mixer.Sound(
         os.path.join(gl.source_dir, "reward_money.ogg"))
     self.reward_play = pygame.mixer.Sound(
         os.path.join(gl.source_dir, "reward_play.ogg"))
     self.reward_power = pygame.mixer.Sound(
         os.path.join(gl.source_dir, "reward_power.ogg"))
     self.missile_after = pygame.mixer.Sound(
         os.path.join(gl.source_dir, "fg.ogg"))
     self.aircraft_start = pygame.mixer.Sound(
         os.path.join(gl.source_dir, "fj_start.ogg"))
     self.aircraft_time = 0
     self.reward_time = 0
     self.meteorite_time = 0
     self.play1 = Play(0, 0)
     self.play1_icon = pygame.image.load(
         os.path.join(gl.source_dir, "fj_x.png")).convert_alpha()
     self.play2 = Play(0, 1)
     self.play2_icon = pygame.image.load(
         os.path.join(gl.source_dir, "fj1_x.png")).convert_alpha()
     self.Continue = False
     pygame.mixer.music.load(os.path.join(gl.source_dir, "m1.mp3"))
예제 #4
0
def startGui():
    board = Board()
    player = Player("Player 1", Mark.CROSS)

    guiInput = GuiInput(player, board)
    renderer = GuiRenderer(guiInput)
    play = Play(player, guiInput.getAIPlayer(), board, renderer)

    renderer.runGui()
예제 #5
0
def startAI():
    board = Board()
    player = Player("Player 1", Mark.CROSS)

    consoleInput = ConsoleInputSinglePlayer(player, board)
    renderer = ConsoleRenderer(consoleInput)
    play = Play(player, consoleInput.getAIPlayer(), board, renderer)

    consoleInput.run()
예제 #6
0
def startPlayers():
    board = Board()
    player1 = Player("Player 1", Mark.CROSS)
    player2 = Player("Player 2", Mark.CIRCLE)

    consoleInput = ConsoleInputTwoPlayers(player1, player2)
    renderer = ConsoleRenderer(consoleInput)
    play = Play(player1, player2, board, renderer)

    consoleInput.run()
예제 #7
0
 def run(self):
     playing = True
     mode = 'intro'
     while playing:
         if mode == 'intro':
             mode = self.intro.run()
         elif mode == 'choose':
             mode = self.choose.run()
         elif mode == 'high score':
             mode = self.highScore.run()
         elif mode == 'play1':
             self.play = Play(self.song1)
             mode = self.play.run()
         elif mode == 'play2':
             self.play = Play(self.song2)
             mode = self.play.run()
         elif mode == 'quit':
             playing = False
     pygame.quit()
예제 #8
0
    def __init__(self):
        #print "1.In PegBoard Class Constructor"
        play=Play();

        print "2.Calling dfs() in PegBoard Class"
        play.dfs();

        print "------------------------------------------------------------------------"

        print "3.Calling iddfs() in PegBoard Class"
        #play.iddfs();

        print "------------------------------------------------------------------------"

        print "4.Calling astar with first heuristic in PegBoard Class"
        #play.astar(1);

        print "------------------------------------------------------------------------"

        print "5.Calling astar with second heuristic in PegBoard Class"
예제 #9
0
 def setUp(self) -> None:
     global player1
     global player2
     global board
     global testRenderer
     global play
     player1 = Player("Test Player 1", Mark.CROSS)
     player2 = Player("Test Player 2", Mark.CIRCLE)
     board = Board()
     testRenderer = TestPlayRenderer()
     play = Play(player1, player2, board, testRenderer)
class Checker:
    def __init__(self):
        self.play = Play()

    def remainder(self, file):
        hour = self.play.get_time()
        if int(hour) > 17:
            self.play.play_wav_file(file)

    def was_played(self, file):
        result = self.play.wav_was_played(file)
        self.play.reset_wav(file)
        return result
예제 #11
0
 def __init__(self):
     pygame.init()  # pygame初期化
     pygame.display.set_mode((1200, 675), 0, 32)  # 画面設定
     self.screen = pygame.display.get_surface()
     pygame.display.set_caption('catch a star game')  # ウィンドウタイトル
     # 各ゲームモードのインスタンスの生成
     self.media = Media()
     self.menu = Menu(self.media)
     self.play = Play(self.media)
     self.setting = Setting(self.media)
     self.bye = Bye(self.media)
     self.ranking = Ranking(self.media)
     self.media.play_bgm(1)
     # 各モードへ分岐するための辞書型
     self.game_mode_list = {
         Mode.MENU: self.menu,
         Mode.PLAY: self.play,
         Mode.SETTING: self.setting,
         Mode.RANKING: self.ranking,
         Mode.BYE: self.bye
     }
예제 #12
0
파일: Game.py 프로젝트: Taker2626/MauMau
def Game(Master, Player_lst, Turn, Rule_set):
    from Check import Check
    from Move import Move
    from Play import Play
    while True:
        m = Move(Master, Player_lst, Turn)  #Client
        if Play(m, Master, Player_lst,
                Turn) == True:  #Checks wether move is valid
            break
    while True:
        Rules = Check(Master, Rule_set)
        if Rules != -1:
            if '+' in Rules:  #can send back to Move()
                Applier('+')
            elif '0' in Rules:
                Applier('0')
            elif '*' in Rules:
                Applier('*')
            elif '1' in Rules:  #Can't Play draws a card
                Applier('1')
        elif Rules == -1:
            return
예제 #13
0
        
    return mytreenext.game.last_move

def Random_Player(game):
    return random.choice(game.available_moves())   

game = ConnectN(**game_setting)
print(game.state)
Policy_Player_MCTS(game)

"""
PLAY A GAME AGAINST THE POLICY
"""

gameplay=Play(ConnectN(**game_setting), 
              player1=None, 
              player2=Policy_Player_MCTS)

"""
TRAINING LOOP
"""
# initialize our alphazero agent and optimizer
import torch.optim as optim

game=ConnectN(**game_setting)
policy = Policy()
optimizer = optim.Adam(policy.parameters(), lr=.01, weight_decay=1.e-4)

# train our agent

from collections import deque
예제 #14
0
파일: Main.py 프로젝트: brealin/PrarieDog
from AudioStream import AudioStream
from Play import Play
from Broadcast import Broadcast
import time

#Start one recording and one playing stream. Write record data to queue.
strm = AudioStream()

#Start one broadcast thread, broadcasting recording stream to every member address.
brd = Broadcast()

#Start one play thread, recieving audio stream on socket.
ply = Play()
ply.join()

#TODO: disoonnect
#TODO: exit
from Play import Play


if __name__ == '__main__':

    epoch = 2000000
    gamma = 0.99
    learning_rate = 0.8
    eps = 1.0
    eps_d = 0.05

    games_to_play = 10000

    base_memory = 'res/memory1-0.bson'
    fp = base_memory.split('.')[0] + '_Q_trained_ep' + str(epoch) + '_g' + str(int(gamma * 100)) + \
               '_l' + str(int(learning_rate * 10)) + '_e' + str(int(eps * 100)) + \
               '_ed' + str(int(eps_d * 100)) +'.bson'

    play = Play(fp, False)
    wins, rounds = play.play_stats(games_to_play)

    print('Win perc:', wins,'Average Rounds:', rounds)
예제 #16
0
# # Initialize a game

# In[1]:

from ConnectN import ConnectN

game_setting = {'size': (6, 6), 'N': 4, 'pie_rule': True}
game = ConnectN(**game_setting)

# In[2]:

get_ipython().run_line_magic('matplotlib', 'notebook')

from Play import Play

gameplay = Play(ConnectN(**game_setting), player1=None, player2=None)

# # Define our policy
#
# Please go ahead and define your own policy! See if you can train it under 1000 games and with only 1000 steps of exploration in each move.

# In[3]:

import torch
import torch.nn as nn
import torch.nn.functional as F
from math import *
import numpy as np

from ConnectN import ConnectN
game_setting = {'size': (6, 6), 'N': 4}
 def __init__(self):
     self.play = Play()