[python/turtle] Add speed() methods without args

This commit is contained in:
Léa Saviot
2018-12-17 15:40:34 +01:00
parent 101370c507
commit ad745f7114
4 changed files with 8 additions and 4 deletions

View File

@@ -82,8 +82,11 @@ mp_obj_t modturtle_setheading(mp_obj_t angle) {
return mp_const_none;
}
mp_obj_t modturtle_speed(mp_obj_t speed) {
sTurtle.setSpeed(mp_obj_get_int(speed));
mp_obj_t modturtle_speed(size_t n_args, const mp_obj_t *args) {
if (n_args == 0) {
return MP_OBJ_NEW_SMALL_INT(sTurtle.speed());
}
sTurtle.setSpeed(mp_obj_get_int(args[0]));
return mp_const_none;
}

View File

@@ -12,7 +12,7 @@ mp_obj_t modturtle_left(mp_obj_t deg);
mp_obj_t modturtle_circle(size_t n_args, const mp_obj_t *args);
mp_obj_t modturtle_goto(size_t n_args, const mp_obj_t *args);
mp_obj_t modturtle_setheading(mp_obj_t deg);
mp_obj_t modturtle_speed(mp_obj_t speed);
mp_obj_t modturtle_speed(size_t n_args, const mp_obj_t *args);
mp_obj_t modturtle_position();
mp_obj_t modturtle_heading();

View File

@@ -7,7 +7,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_1(modturtle_left_obj, modturtle_left);
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(modturtle_goto_obj, 1, 2, modturtle_goto);
STATIC MP_DEFINE_CONST_FUN_OBJ_1(modturtle_setheading_obj, modturtle_setheading);
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(modturtle_circle_obj, 1, 2, modturtle_circle);
STATIC MP_DEFINE_CONST_FUN_OBJ_1(modturtle_speed_obj, modturtle_speed);
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(modturtle_speed_obj, 0, 1, modturtle_speed);
STATIC MP_DEFINE_CONST_FUN_OBJ_0(modturtle_position_obj, modturtle_position);
STATIC MP_DEFINE_CONST_FUN_OBJ_0(modturtle_heading_obj, modturtle_heading);

View File

@@ -50,6 +50,7 @@ public:
mp_float_t heading() const;
void setHeading(mp_float_t angle);
uint8_t speed() const { return m_speed; }
void setSpeed(mp_int_t speed);
mp_float_t x() const { return m_x; }