Exemplo n.º 1
0
    def __init__(self):
        pyxel.init(256, 150, caption='Corong', fps=60)
        self.virus = Virus()
        self.state = STATES['0']
        self.player1 = Player('p1')
        self.player2 = Player('p2')
        self.score = Score(self.player1, self.player2)

        pyxel.load('assets/sprites.pyxres')
        pyxel.run(self.update, self.draw)
Exemplo n.º 2
0
    def __init__(self, name: str, scoreRecord: ScoreLineRecord = None):

        self.scoresheet = Score(self)
        self.dice = []
        try:
            self.name = scoreRecord.NomJoueur
            self.is_active = scoreRecord.IsActif > 0
            self.tries = scoreRecord.Tries
            self.id = scoreRecord.IdScore
            points = scoreRecord.getScoreDict()

            # Alimente la feuille de score du joueur avec les infos de la base de donnée
            for attr, value in points.items():
                for i in range(len(self.scoresheet.table)):
                    if self.scoresheet.table[i].name == attr:
                        self.scoresheet.table[i].value = value

        except NameError or AttributeError:
            self.is_active = False
            self.name = name
            self.tries = 3
            self.id = -1

        for i in range(5):
            self.dice.append(Die())
Exemplo n.º 3
0
def get_recent_play(osu_id):
    """
    Gives the most recent play of a user in the last 24 hours

    Returns None if no plays in the last 24 hours

    :param osu_id: osu! ID `string` or `int`
    :return: Score class of the most recent play `Score`
    """

    query = urlencode({'k': API_KEY, 'u': osu_id, 'type': 'id', 'limit': 1})
    url = 'get_user_recent' + '?' + query
    scores = call_api(url)

    if len(scores) < 1:
        return None

    return Score(scores[0])
Exemplo n.º 4
0
def get_user_map_best(beatmap_id, user_id):
    """
    Gives best play of user on given beatmap

    Returns None if user has no plays on given beatmap

    :param beatmap_id: Beatmap ID `string` or `int`
    :param user_id: osu! ID `string` or `int`
    :return: Score class of best play `Score`
    """

    query = urlencode({'k': API_KEY, 'b': beatmap_id, 'u': user_id})
    url = 'get_scores' + '?' + query
    scores = call_api(url)

    if len(scores) < 1:
        return None

    return Score(scores[0], beatmap_id=beatmap_id)
Exemplo n.º 5
0
def search(q):
    score = Score(cursor)
    return jsonify(score.search(q))
Exemplo n.º 6
0
def score_id(id):
    score = Score(cursor)
    return jsonify(score.get_byid(id))
Exemplo n.º 7
0
def score():
    score = Score(cursor)
    return jsonify(score.get_all())
Exemplo n.º 8
0
class Game:
    def __init__(self):
        pyxel.init(256, 150, caption='Corong', fps=60)
        self.virus = Virus()
        self.state = STATES['0']
        self.player1 = Player('p1')
        self.player2 = Player('p2')
        self.score = Score(self.player1, self.player2)

        pyxel.load('assets/sprites.pyxres')
        pyxel.run(self.update, self.draw)

    def update(self):
        self.player1.update()
        self.player2.update()
        self.virus.update()

        self.check_state()
        self.check_screen_border()

        if self.virus.speed_x > 0:
            if self.check_colision(self.player2):
                self.virus.update_speed(self.player2)
        elif self.virus.speed_x < 0:
            if self.check_colision(self.player1):
                self.virus.update_speed(self.player1)

    def draw(self):
        pyxel.cls(0)
        self.player1.draw()
        self.player2.draw()
        self.virus.draw()
        self.score.draw()

    def check_state(self):
        if self.state == STATES['0']:
            if pyxel.btn(pyxel.KEY_SPACE):
                self.set_state('1')

    def check_screen_border(self):
        virus = self.virus
        if virus.pos_y <= 0 or virus.pos_y >= pyxel.height - virus.height:
            virus.invert_speed_y_direction()
        elif virus.pos_x <= 0:
            self.score.increase_score(self.player2)
            self.set_state('0')
        elif virus.pos_x >= pyxel.width - virus.width:
            self.score.increase_score(self.player1)
            self.set_state('0')

    def check_colision(self, player):
        for s_hbox in player.syringe.hitbox:
            if player.name == 'p1':
                v_hitbox = self.virus.hitbox[0]
                if v_hitbox[0] > float(s_hbox[0]):
                    continue
            elif player.name == 'p2':
                v_hitbox = self.virus.hitbox[1]
                if v_hitbox[0] < float(s_hbox[0]):
                    continue

            for v_hb in range(round(v_hitbox[1][0]), round(v_hitbox[1][1])):
                if s_hbox[1][0] <= v_hb <= s_hbox[1][1]:
                    return True

        return False

    def set_state(self, state):
        self.state = STATES[state]
        if state == '0':
            self.virus = Virus()
        elif state == '1':
            player = self.score.last_to_score or random.choice(
                [self.player1, self.player2])
            self.virus.throw_virus(player)
Exemplo n.º 9
0
# Inicializar juego
pygame.init()
pygame.display.set_caption("PONG!")
iconImage = pygame.image.load("assets/icon.png")
pygame.display.set_icon(iconImage)

# Configurar ventana de juego
screenWidth = 800
screenHeight = 600
screen = pygame.display.set_mode((screenWidth, screenHeight))

# Crear jugadores
players = [Player([50, 50], (pygame.K_w, pygame.K_s)), Player([718, 50])]

# Crear puntaje para jugadores
score = Score(players)

# Crear pelota
ball = Ball()

# Sonido de puntaje
scoreSound = pygame.mixer.Sound("assets/score.wav")

# Juego
running = True
while running:
    # Renderizar fondo de pantalla
    screen.fill(cBlack)
    # Checar las acciones de los jugadores
    for event in pygame.event.get():
        # Checar si se cerró el juego
Exemplo n.º 10
0
class Game(turtle.Turtle):

    MAX_ENEMIES = 5

    def __init__(self):
        turtle.Turtle.__init__(self)
        self.score = Score()
        self.player = Player()
        self.enemies = []

    def setup(self):
        # Set up screen
        screen = turtle.Screen()
        screen.bgcolor("black")
        screen.title("Space Invaders")
        # Display splash screen for 5 seconds
        # screen.bgpic("splash.gif")
        # time.sleep(5)
        screen.bgpic("space_invaders_background.gif")
        # Draw border
        border = Border()
        border.draw_border()
        # Create enemies
        self.create_enemies()
        # Draw score
        self.score.draw_score()

    def create_enemies(self):
        # Add enemies to the list
        for _i in range(self.MAX_ENEMIES):
            self.enemies.append(Enemy())

    def isCollision(self, t1, t2):
        distance = math.sqrt(
            math.pow(t1.xcor() - t2.xcor(), 2) +
            (math.pow(t1.ycor() - t2.ycor(), 2)))
        return True if distance < 20 else False

    def play_game(self):
        # Set up game screen, border, and enemies
        self.setup()

        # Define keyboard bindings
        turtle.listen()
        turtle.onkey(self.player.move_left, "Left")
        turtle.onkey(self.player.move_right, "Right")
        turtle.onkey(self.player.fire_bullet, "space")

        # Game loop
        while True:
            # Move enemies back and forth toward player
            for enemy in self.enemies:
                x = enemy.xcor() + Enemy.enemyspeed
                enemy.setx(x)

                if enemy.xcor() > 280 or enemy.xcor() < -280:
                    # Move ALL enemies
                    for e in self.enemies:
                        y = e.ycor() - 40
                        e.sety(y)

                    # Change enemy directions
                    Enemy.enemyspeed *= -1

                # Check for collision between bullet and enemy
                if self.isCollision(self.player.bullet, enemy):
                    # Play explosion sound
                    self.player.play_sound("explosion.wav")
                    # Reset the bullet
                    self.player.bullet.reset()
                    # Reset enemy position
                    enemy.reset_position()
                    # Update score
                    self.score.update_score()

                # Check for collison between enemy and player
                if self.isCollision(self.player, enemy) or enemy.ycor() < -250:
                    # Play explosion sound
                    self.player.play_sound("explosion.wav")
                    # Game is over
                    self.player.hideturtle()
                    enemy.hideturtle()
                    print("Game Over!")
                    break

            # Move the bullet till it gets to the top boundary
            self.player.bullet.move()
            self.player.bullet.boundary_check()
Exemplo n.º 11
0
 def __init__(self):
     turtle.Turtle.__init__(self)
     self.score = Score()
     self.player = Player()
     self.enemies = []