Exemplo n.º 1
0
def plane_contril():
    global plane_cur_pos
    global plane_last_pos
    global t_count
    global user_score
    global game_status
    global barrier_list

    while True:
        if game_status == GAME_WAIT_TO_PALY:
            codey.face('00000000000003e60300000000000000')
            if codey.is_button("C"):
                game_status = GAME_PLAYING
                codey.clear()
        elif game_status == GAME_OVER:
            codey.show(user_score)
            for i in range(BARRIER_MAX_NUM):
                barrier_list[i][0] = False
            if codey.is_button("C"):
                game_status = GAME_PLAYING
                plane_cur_pos = 7
                plane_last_pos = 6
                user_score = 0
                codey.clear()
        elif game_status == GAME_PLAYING:
            plane_run(plane_cur_pos, plane_last_pos)
            plane_last_pos = plane_cur_pos
            if codey.is_button("C"):
                shoot()
            if t_count >= 10:
                barrier_control()
                t_count = 0
            t_count += 1
            time.sleep(0.020)
Exemplo n.º 2
0
def on_start_callback():
    global game_status
    global axis_y
    global count
    global run_speed
    global down_lock
    global music_lock
    global user_score
    last_axis_y = 3

    codey.face("0010c7c7c7000000e3e3e3000000c3c3")
    while True:
        speed_control()
        if game_status == GAME_READY:
            if codey.is_button("C"):
                game_status = GAME_PLAYING

        elif game_status == GAME_PLAYING:
            if count % run_speed == 0:
                codey.face(create_background())
        elif game_status == GAME_OVER:
            codey.show(user_score)
            game_status = GAME_READY
            game_init()
        elif game_status == GAME_PASS:
            game_status = GAME_PLAYING

        if count % 4 == 0:
            if codey.is_button('A'):
                music_lock = False
                axis_y -= 1
                down_lock = True
            else:
                down_lock = False
                if music_lock == False:
                    codey.say('jump.wav', False, None)
                    music_lock = True

        if game_status == GAME_PLAYING:
            if count % run_speed == 0 and (not down_lock):
                axis_y += 1

            if last_axis_y != axis_y:
                codey.pixel_off(7, last_axis_y)
                codey.pixel(7, axis_y)
            last_axis_y = axis_y

        if axis_y >= 7:
            axis_y = 7
        elif axis_y < 0:
            axis_y = 0
        game_over_check()
        time.sleep(0.01)
        count += 1
Exemplo n.º 3
0
def move_control():
    global speed, move_lock_flag
    # A键按下, 左边角色左移, 否则回到原来位置
    if codey.is_button('A') and move_lock_flag == False:
        left_h.set_position([-1, 0])
    else:
        left_h.home()
    # B键按下, 右边角色右移, 否则回到原来位置
    if codey.is_button('B') and move_lock_flag == False:
        right_h.set_position([1, 0])
    else:
        right_h.home()
Exemplo n.º 4
0
def plane_move_control():
    global plane
    if plane == None:
        return
    if codey.is_button('A'):
        if plane.meet_border_check() & LEFT_MEET:
            plane.right()
        plane.left()
    elif codey.is_button('B'):
        if plane.meet_border_check() & RIGHT_MEET:
            plane.left()
        plane.right()
Exemplo n.º 5
0
def plane_move_control():
    global plane
    if plane == None:
        return

    # A键左移, B键右移, 碰到边界则无法继续移动
    # 为了保证能达到左右边缘上的障碍物, 因此设定飞机最外侧一列能移动到屏幕外
    if codey.is_button('A'):
        if plane.meet_border_check() & LEFT_MEET:
             plane.right()
        plane.left()
    elif codey.is_button('B'):
        if plane.meet_border_check() & RIGHT_MEET:
             plane.left()
        plane.right()
Exemplo n.º 6
0
def bullet_move_control():
    global bullet_run_flag, bullet_run_count, score, music_name, music_id
    if codey.is_button('C'):
        bullet_run_flag = True
    move_step = 5

    if bullet_run_flag:
        if bullet_run_count == 0:
            codey.say(music_name)
            bullet.set_position(
                [plane.get_position()[0],
                 plane.get_position()[1] + 2])
            bullet.show()
            bullet_run_count += 1
            if game.background_collision_check(bullet):
                score += 1
                barrier_delete()
        elif bullet_run_count < move_step:
            bullet.up()
            bullet_run_count += 1
            if game.background_collision_check(bullet):
                score += 1
                barrier_delete()
        else:
            bullet.home()
            bullet.hide()
            bullet_run_count = 0
            bullet_run_flag = False
Exemplo n.º 7
0
def on_start_callback():
    global game_status
    global run_speed
    global user_score
    count = 0
    while True:
        speed_control()
        if game_status == GAME_READY:
            if codey.is_button("C"):
                game_status = GAME_PLAYING

        elif game_status == GAME_PLAYING:
            if count % run_speed == 0:
                if update_background():
                    pass
                else:
                    game_status = GAME_OVER

        elif game_status == GAME_OVER:
            codey.show(user_score)
            game_status = GAME_READY
            game_init()

        elif game_status == GAME_PASS:
            game_status = GAME_PLAYING

        game_over_check()
        time.sleep(0.01)
        count += 1
Exemplo n.º 8
0
def test():
    global down_flag
    cont = 0
    while True:
        if cont % 2 == 0:
            p.show()
        else:
            p.hide()

        move_control()

        if codey.is_button('B'):
            p.right()
        elif codey.is_button('A'):
            p.left()
        if codey.is_button('C'):
            temp = p.get_position()
            game.set_background_with_point(temp)
        time.sleep(0.05)
        cont += 1
def sensor_test():
    global sensor_id
    global info_show_id

    if codey.is_button('A'):
        while codey.is_button('A'):
            pass
        if sensor_id > 0:
            sensor_id -= 1
        else:
            sensor_id = SEN_ID_MAX
        sensor_show_info()

    if codey.is_button('B'):
        while codey.is_button('B'):
            pass
        if sensor_id < SEN_ID_MAX:
            sensor_id += 1
        else:
            sensor_id = 1
        sensor_show_info()

    if codey.is_button('C'):
        while codey.is_button('C'):
            pass
        sensor_control()

    time.sleep(0.1)
Exemplo n.º 10
0
def move_control():
    global speed, current_script, move_lock_flag, direction
    if current_script == None:
        time.sleep(0.2)
        direction = DIR_NONE
        return False
    if codey.is_button('A') and move_lock_flag == False:
        #codey.say("score")
        while not (game.background_collision_check(current_script)
                   or current_script.meet_border_check() == LEFT_MEET):
            current_script.left()
        current_script.right()
        while codey.is_button('A'):
            pass
        return True
    elif codey.is_button('B') and move_lock_flag == False:
        #codey.say("score")
        while not (game.background_collision_check(current_script)
                   or current_script.meet_border_check() == RIGHT_MEET):
            current_script.right()
        current_script.left()
        while codey.is_button('B'):
            pass
        return True
    elif codey.is_button('C') and move_lock_flag == False:
        current_script.rotate()
        while codey.is_button('C'):
            pass
        if game.background_collision_check(current_script):
            return True
    return False
Exemplo n.º 11
0
def test():
    global down_flag
    count = 0
    while True:
        if count % 2 == 0:
            p.show()
        else:
            p.hide()

        if count % 10 == 0:
            a.rotate()
        if count % 2 == 0:
            b.rotate()
        if count % 15 == 0:
            down_flag = True
            c.show()

        if down_flag:
            c.down()
            if c.meet_border_check() == DOWN_MEET:
                c.hide()
                c.home()
                down_flag = False

        if codey.is_button('B'):
            p.right()
        elif codey.is_button('A'):
            p.left()

        if game.collision_check(p, a) or game.collision_check(
                p, b) or game.collision_check(p, c):
            codey.say("wrong")
            codey.color("#ff0000", 0.05)
            p.home()

        time.sleep(0.05)
        count += 1
Exemplo n.º 12
0
def plane_contril():
    global plane_cur_pos
    global plane_last_pos
    global t_count
    while True:
        plane_run(plane_cur_pos, plane_last_pos)
        plane_last_pos = plane_cur_pos
        if t_count % 2 == 0:
            if codey.is_button("B"):
                plane_cur_pos += 1
                if plane_cur_pos > 13:
                    plane_cur_pos = 13
            elif codey.is_button("A"):
                plane_cur_pos -= 1
                if plane_cur_pos < 0:
                    plane_cur_pos = 0
        if codey.is_button("C"):
            shoot()

        if t_count >= 10:
            barrier_control()
            t_count = 0
        t_count += 1
        time.sleep(0.020)
Exemplo n.º 13
0
def on_button_callback1():
    while True:
        if codey.is_button('A'):
            current_sprite.left()
            while codey.is_button('A'):
                time.sleep(0.1)
        elif codey.is_button('B'):
            current_sprite.right()
            while codey.is_button('B'):
                time.sleep(0.1)
        elif codey.is_button('C'):
            current_sprite.rotate()
            while codey.is_button('C'):
                time.sleep(0.1)
        time.sleep(0.05)
Exemplo n.º 14
0
def main():
    global game_status, score, plane_id, plane, music_name, bullet, music_id
    count = 0

    while True:
        # 开机选择飞机造型及音效
        if game_status == 0:
            if plane_id == 0:
                codey.face(plane_s)
            elif plane_id == 1:
                codey.face(plane_s1)
            else:
                codey.face(plane_s2)
            # 开始游戏
            if codey.is_button("C"):
                codey.say("start")
                game_status = 1
                score = 0

                # 创建角色
                if plane_id == 0:
                    plane = sprite_create(plane_s)
                elif plane_id == 1:
                    plane = sprite_create(plane_s1)
                else:
                    plane = sprite_create(plane_s2)

                bullet = sprite_create(bullet_s)
                game.add_sprite(plane)
                bullet.hide()
                game.add_sprite(bullet)
                
                # 游戏开始
                game.game_start()
                time.sleep(1)
            # 选择飞机
            elif codey.is_button("A"):
                plane_id += 1
                if plane_id > 2:
                    plane_id = 0
                while codey.is_button("A"):
                    pass
            # 选择音效
            elif codey.is_button("B"):
                music_id += 1
                if music_id > 2:
                    music_id = 0

                if music_id == 0:
                    music_name = "shot"
                elif music_id == 1:
                    music_name = "laser"
                elif music_id == 2:
                    music_name = "score"
                codey.say(music_name)
                while codey.is_button("B"):
                    pass
        # 游戏运行控制
        elif game_status == 1:
            # 调整数字可以调整移动灵敏度
            if count % 3 == 0:
                plane_move_control()
            # 子弹移动控制
            bullet_move_control()
            
            #障碍物移动控制, 速度随电位器变化而变化
            if count % (codey.dail() // 6) == 0:
                background_control()

            # 飞机是否撞到障碍物检测
            if game.background_collision_check(plane):
                codey.say('wrong')
                game_status = 2
                game.set_background("00000000000000000000000000000000")
                game.sprite_list_clean()

                palne = None
                bullet = None
                game.game_over()
            time.sleep(0.02)
        else:
            # 游戏结束, 显示分数, 并等待C键按下, 重新开始游戏
            codey.show(score)
            if codey.is_button("C"):
                game_status = 0
            time.sleep(0.1)
        count += 1
Exemplo n.º 15
0
        if level_cur >= LEVEL_MAX:
            game_status = GAME_PASS
        else:
            game_status = GAME_LEVEL_PASS

show_snake()
move_dir = MOVE_NOT
move_dir_last = MOVE_NOT
count = 0
level_cur = 1
print("create result", point_create())
while True:
    level_update()
    speed_control()
    if game_status == GAME_READY:
        if codey.is_button("C"):
            game_status = GAME_PLAYING

    elif game_status == GAME_PLAYING:
        if codey.is_tilt('forward'):
            if move_dir_last != MOVE_DOWN:
                move_dir = MOVE_UP
        elif codey.is_tilt('backward'):
            if move_dir_last != MOVE_UP:
                move_dir = MOVE_DOWN
        elif codey.is_tilt('left'):
            if move_dir_last != MOVE_RIGHT:
                move_dir = MOVE_LEFT
        elif codey.is_tilt('right'):
            if move_dir_last != MOVE_LEFT:
                move_dir = MOVE_RIGHT
def button_test():
    print("A is pressed:", codey.is_button('A'))
    print("B is pressed:", codey.is_button('B'))
    print("C is pressed:", codey.is_button('C'))
Exemplo n.º 17
0
codey.color_off()
codey.red(255)
codey.green(255)
codey.blue(0)
codey.say('cat') 
codey.say('cat.wav')
codey.say('cat', True)
codey.mute()
codey.play_note(50, 1)
codey.pause(0.25)
codey.play_freq(700, 1)
codey.change_volume(-10)
codey.set_volume(100)
codey.get_volume()
codey.message("a")
codey.is_button('A')
codey.is_shaked()
codey.is_tilt('forward')
codey.sound_strength()
codey.light_strength()
codey.dail()
codey.gyro('pitch')
codey.time()
codey.reset_time()
codey.ir_send("A")
codey.ir_receive()

print("***codey APIS all succeed***")
# about rocky
rocky.color("#334455")
rocky.forward(50, 1)
Exemplo n.º 18
0
def main():
    global game_status, score, plane_id, plane, music_name, bullet, music_id
    count = 0

    while True:
        if game_status == 0:
            if plane_id == 0:
                codey.face(plane_s)
            elif plane_id == 1:
                codey.face(plane_s1)
            else:
                codey.face(plane_s2)

            if codey.is_button("C"):
                codey.say("start")
                game_status = 1
                score = 0
                if plane_id == 0:
                    plane = sprite_create(plane_s)
                elif plane_id == 1:
                    plane = sprite_create(plane_s1)
                else:
                    plane = sprite_create(plane_s2)

                bullet = sprite_create(bullet_s)
                game.add_sprite(plane)
                bullet.hide()
                game.add_sprite(bullet)

                game.game_start()
                time.sleep(1)
            elif codey.is_button("A"):
                plane_id += 1
                if plane_id > 2:
                    plane_id = 0
                while codey.is_button("A"):
                    pass
            elif codey.is_button("B"):
                music_id += 1
                if music_id > 2:
                    music_id = 0

                if music_id == 0:
                    music_name = "shot"
                elif music_id == 1:
                    music_name = "laser"
                elif music_id == 2:
                    music_name = "score"
                codey.say(music_name)
                while codey.is_button("B"):
                    pass

        elif game_status == 1:
            if count % 3 == 0:
                plane_move_control()

            bullet_move_control()

            if count % (codey.dail() // 6) == 0:
                background_control()
            if game.background_collision_check(plane):
                codey.say('wrong')
                game_status = 2
                game.set_background("00000000000000000000000000000000")
                game.sprite_list_clean()

                palne = None
                bullet = None
                game.game_over()
            time.sleep(0.02)
        else:
            codey.show(score)
            if codey.is_button("C"):
                game_status = 0
            time.sleep(0.1)
        count += 1