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)
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
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()
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()
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()
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
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
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)
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
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
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)
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)
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
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'))
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)
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