Пример #1
0
    def update(self):
        self.y += self.velocity

        for main_state.enemy in main_state.enemies:
            if main_state.collide(self, main_state.enemy):
                game_world.remove_object(self)
                main_state.enemy.hp -= self.damage

            if main_state.enemy.hp == 0:
                game_world.remove_object(main_state.enemy)
                main_state.score += 80
                main_state.enemy.__init__()

        for main_state.enemy2 in main_state.enemies2:
            if main_state.collide(self, main_state.enemy2):
                game_world.remove_object(self)
                main_state.enemy2.hp -= self.damage
            if main_state.enemy2.hp == 0:
                game_world.remove_object(main_state.enemy2)
                main_state.score += 200
                main_state.enemy2.__init__()

        if main_state.collide(self, main_state.boss):
            game_world.remove_object(self)
            main_state.boss.hp -= self.damage
        if main_state.boss.hp <= 0:
            game_world.remove_object(main_state.boss)
            main_state.score += 5000
            main_state.boss.__init__()
            game_framework.run(success_state)

        if self.y > 800 - 20:
            game_world.remove_object(self)
Пример #2
0
def handle_events(frame_time):
    global x, y

    events = get_events()

    for event in events:
        if event.type == SDL_QUIT:
            game_framework.quit()
        elif event.type == SDL_KEYDOWN and event.key == SDLK_b:
            main_state.room.bgm.resume()
            game_framework.pop_state()
        elif event.type == SDL_MOUSEMOTION:
            x, y = event.x, 600 - event.y
        elif event.type == SDL_MOUSEBUTTONDOWN:
            if main_state.collide(hp_max_up, x, y):
                if main_state.student.gold > hp_max_up.price:
                    main_state.buy_bgm.play()
                    hp_max_up.update(frame_time)
                else:
                    main_state.warning_bgm.play()
            elif main_state.collide(damage_up, x, y):
                if main_state.student.gold > damage_up.price:
                    main_state.buy_bgm.play()
                    damage_up.update(frame_time)
                else:
                    main_state.warning_bgm.play()
        pass
Пример #3
0
 def update(self):
     self.y -= RUN_SPEED_PPS * 0.05
     if self.y < 25:
         game_world.remove_object(self)
     if main_state.collide(main_state.heroine, self):
         main_state.heroine.special_count += 1
         game_world.remove_object(self)
Пример #4
0
    def update(self):
        self.x += self.countx
        self.y += self.county

        if self.y < 25 or self.y > 800 - 25 or self.x < 25 or self.y > 800 - 25:
            game_world.remove_object(self)
        if main_state.collide(main_state.heroine, self):
            main_state.heroine.hp -= 1
Пример #5
0
    def update(self):
        self.x -= self.velocityx
        self.y -= self.velocityy

        if self.y < 25 or self.y > 800 - 25:
            game_world.remove_object(self)
        if main_state.collide(main_state.heroine, self):
            main_state.heroine.hp -= 1
Пример #6
0
    def update(self):
        #self.y += self.velocity
        self.y += RUN_SPEED_PPS * 0.2

        if self.y < 25 or self.y > 800 - 25:
            game_world.remove_object(self)

        if main_state.collide(main_state.blue_enemy, self):
            main_state.blue_enemy.hp -= 1
            #game_world.remove_object(main_state.blue_enemy)

        for i in range(0, 3):
            if main_state.collide(main_state.blue_enemys1[i], self):
                main_state.blue_enemys1[i].hp -= 1
                #game_world.remove_object(main_state.blue_enemys1[i])

        if main_state.collide(main_state.bose_enemy, self):
            main_state.bose_enemy.hp -= 1
            #game_world.remove_object(main_state.bose_enemy)

        for i in range(0, 3):
            if main_state.collide(main_state.black_enemys1[i], self):
                main_state.black_enemys1[i].hp -= 1
                #game_world.remove_object(main_state.black_enemys1[i])

        if main_state.collide(main_state.red_enemy, self):
            main_state.red_enemy.hp -= 1

        if main_state.collide(main_state.green_enemy, self):
            main_state.green_enemy.hp -= 1

        if main_state.collide(main_state.special_enemy, self):
            main_state.special_enemy.hp -= 1
Пример #7
0
 def update(self):
     if get_time() - self.bullettime > 0.05:
         self.frame = (self.frame + 1) % 11
         self.bullettime = get_time()
     if self.frame > 5:
         if main_state.collide(main_state.heroine, self):
             game_world.remove_object(main_state.heroine)
     if self.frame > 9:
         game_world.remove_object(self)
Пример #8
0
    def update(self):
        self.y -= self.velocity / 1.065

        if main_state.collide(self, main_state.player):
            game_world.remove_object(self)
            main_state.life -= 1
        #if main_state.player.hp == 0:
            #game_world.remove_object(main_state.player)
            #main_state.player.life -= 1

        if self.y < 20:
            game_world.remove_object(self)
Пример #9
0
    def update(self):
        self.cur_state.do(self)
        if len(self.event_que) > 0:
            event = self.event_que.pop()
            self.cur_state.exit(self, event)
            self.cur_state = next_state_table[self.cur_state][event]
            self.cur_state.enter(self, event)

        if self.y < 10:
            game_world.remove_object(self)
        if main_state.collide(self, main_state.player):
            game_world.remove_object(self)
            main_state.life += 1
Пример #10
0
    def draw(bacteria):
        if bacteria.isImmune == True:  #피격시 (무적)
            bacteria.image_hit.clip_draw(
                int(bacteria.frame) * 100, 0, 100, 100, bacteria.x, bacteria.y,
                75, 75)
            bacteria.imageIdle.clip_draw(0, 0, 30, 30, bacteria.x, bacteria.y,
                                         bacteria.draw_size,
                                         bacteria.draw_size)
        elif bacteria.isImmune == False:
            bacteria.image.clip_draw(
                int(bacteria.frame) * 100, 0, 100, 100, bacteria.x, bacteria.y,
                75, 75)
            bacteria.imageImmune.clip_draw(0, 0, 30, 30, bacteria.x,
                                           bacteria.y, bacteria.draw_size,
                                           bacteria.draw_size)

        #충돌체크
        for bullet in game_world.objects[2]:
            if bacteria.isImmune == True:
                break
            else:
                if main_state.collide(bacteria, bullet):
                    bacteria.bgm.play(1)
                    bacteria.isImmune = True
                    bacteria.collideTime = get_time()
                    bacteria.collideSize -= 1.5
                    bacteria.draw_size = bacteria.collideSize * 2

                    bacteria.HP -= 1
        for bullet in game_world.objects[4]:
            if main_state.collide(bacteria, bullet):
                print('4번 충돌')
                bacteria.bgm.play(1)
                bacteria.collideTime = get_time()
                bacteria.collideSize -= 1.5
                bacteria.draw_size = bacteria.collideSize * 2
                bacteria.End = True
Пример #11
0
    def update(self):
        if main_state.stage.operation:
            self.x -= (250 * (main_state.cookie.pace + main_state.pet.speed)
                       ) * game_framework.frame_time

        if self.x + self.Left_Right < 0:
            game_world.remove_object(self)
        elif main_state.collide(main_state.cookie, self):
            if main_state.pet.Invincibility or main_state.cookie.PowerUp:
                pass
            else:
                main_state.cookie.CurHp -= 10
                main_state.stage.operation = False
                main_state.cookie.HitTime = get_time()
                main_state.cookie.HitCheck = True
            game_world.remove_object(self)
Пример #12
0
    def update(self):
        if main_state.stage.operation:
            self.x -= (250 * (main_state.cookie.pace + main_state.pet.speed)) * game_framework.frame_time

        if self.select == 1 or self.select == 2 or self.select == 3 or self.select == 4:
            self.frame = (self.frame + cookie.FRAMES_PER_ACTION4 * cookie.ACTION_PER_TIME1 * game_framework.frame_time) % 4

        if interface_state.CharChoice == 2 and math.sqrt((self.x - main_state.cookie.x) ** 2 + (self.y - main_state.cookie.y) ** 2) < 200:
            self.x = (1 - self.t) * self.x + self.t * main_state.cookie.x
            self.y = (1 - self.t) * self.y + self.t * main_state.cookie.y
            self.t += 0.1

        if self.x + self.Left_Right < 0:
            game_world.remove_object(self)

        elif main_state.collide(self, main_state.cookie):
            if self.select == 0:
                main_state.cookie.Eat_Jelly.play()
                if main_state.cookie.PowerUp:
                    main_state.cookie.jelly_cnt += 5
                else:
                    main_state.cookie.jelly_cnt += 1
            elif self.select == 1:
                main_state.cookie.Eat_Coin.play()
                if main_state.cookie.PowerUp:
                    main_state.cookie.coin_cnt += 5
                else:
                    main_state.cookie.coin_cnt += 1
            elif self.select == 2:
                main_state.cookie.Eat_Coin.play()
                if main_state.cookie.PowerUp:
                    main_state.cookie.coin_cnt += 10
                else:
                    main_state.cookie.coin_cnt += 2
            elif self.select == 3:
                main_state.cookie.Eat_Power.play()
                main_state.cookie.PowerUp = True
                main_state.cookie.pace += 0.3
                main_state.cookie.PowerUpTime = get_time()
            elif self.select == 4:
                main_state.cookie.Eat_Hp.play()
                main_state.cookie.CurHp += 30
                if main_state.cookie.CurHp > main_state.cookie.FullHp:
                    main_state.cookie.CurHp = main_state.cookie.FullHp
            game_world.remove_object(self)
Пример #13
0
    def update(self):

        if (self.frame < 19):
            if get_time() - self.bullettime > 0.05:
                self.frame = (self.frame + 1)
                self.bullettime = get_time()

        if (self.frame == 5):
            self.shoot_sound.play()

        if (self.frame == 19):
            if (self.time == 0):
                self.time = get_time()
                self.frame = 19
            if (get_time() - self.time > 2):
                game_world.remove_object(self)

        if self.frame > 15:
            if main_state.collide(main_state.heroine, self):
                main_state.heroine.hp -= 1
Пример #14
0
    def bypass_ball(self):
        self.speed = RUN_SPEED_PPS;
        self.calculate_current_position();
        
        balls = main_state.get_balls();
        while(True) :
            for ball in balls:
                if main_state.collide(self, ball):
                    #부딪힌다면 다른 방향으로 살작 이동 난수로
                    self.dir = -self.dir;
                    self.calculate_current_position();
                    #원래자리로 돌아와서 
                    print("dsd");
                    self.dir = random.random()*2*math.pi;
                    # 랜덤 방향으로 우회.
                    self.calculate_current_position();

                    return BehaviorTree.SUCCESS;
            
            print("ㅋㅋbypass_ball");
            return BehaviorTree.FAIL;
Пример #15
0
 def update(self):
     self.y -= RUN_SPEED_PPS * 0.05
     if self.y < 25 or self.y > 800 - 25:
         game_world.remove_object(self)
     if main_state.collide(main_state.heroine, self):
         main_state.heroine.hp -= 1
Пример #16
0
    def update(self):
        self.x = main_state.heroine.x
        self.y = main_state.heroine.y
        self.frame = (self.frame + 0.09) % 8
        main_state.heroine.hp = 1000
        if (self.time == 0):
            self.time = get_time()

        if (get_time() - self.time > 3):
            game_world.remove_object(self)
            main_state.heroine.hp = 1

        if main_state.collide(main_state.blue_enemy, self):
            main_state.blue_enemy.hp -= 1
            #game_world.remove_object(main_state.blue_enemy)

        for i in range(0, 3):
            if main_state.collide(main_state.blue_enemys1[i], self):
                main_state.blue_enemys1[i].hp -= 1
                #game_world.remove_object(main_state.blue_enemys1[i])

        if main_state.collide(main_state.bose_enemy, self):
            main_state.bose_enemy.hp -= 1
            #game_world.remove_object(main_state.bose_enemy)

        for i in range(0, 3):
            if main_state.collide(main_state.black_enemys1[i], self):
                main_state.black_enemys1[i].hp -= 1
                #game_world.remove_object(main_state.black_enemys1[i])

        if main_state.collide(main_state.red_enemy, self):
            main_state.red_enemy.hp -= 1

        if main_state.collide(main_state.green_enemy, self):
            main_state.green_enemy.hp -= 1

        if main_state.collide(main_state.special_enemy, self):
            main_state.special_enemy.hp -= 1

        for i in range(0, 3):
            if main_state.collide(main_state.black_enemys2[i], self):
                main_state.black_enemys2[i].hp -= 1

        for i in range(0, 3):
            if main_state.collide(main_state.blue_enemys2[i], self):
                main_state.blue_enemys2[i].hp -= 1
                #game_world.remove_object(main_state.blue_enemys1[i])

        if main_state.collide(main_state.red_enemy2, self):
            main_state.red_enemy2.hp -= 1

        if main_state.collide(main_state.green_enemy2, self):
            main_state.green_enemy2.hp -= 1

        if main_state.collide(main_state.special_enemy1, self):
            main_state.special_enemy1.hp -= 1

        if main_state.collide(main_state.special_enemy2, self):
            main_state.special_enemy2.hp -= 1

        if main_state.collide(main_state.red_enemy3, self):
            main_state.red_enemy3.hp -= 1

        if main_state.collide(main_state.green_enemy3, self):
            main_state.green_enemy3.hp -= 1

        for i in range(0, 3):
            if main_state.collide(main_state.black_enemys3[i], self):
                main_state.black_enemys3[i].hp -= 1

        for i in range(0, 3):
            if main_state.collide(main_state.blue_enemys3[i], self):
                main_state.blue_enemys3[i].hp -= 1

        if main_state.collide(main_state.red_enemy4, self):
            main_state.red_enemy4.hp -= 1

        if main_state.collide(main_state.green_enemy4, self):
            main_state.green_enemy4.hp -= 1

        if main_state.collide(main_state.special_enemy3, self):
            main_state.special_enemy3.hp -= 1