mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-24 00:00:44 +01:00
[python] Add getters for turtle module
This commit is contained in:
@@ -44,6 +44,7 @@ Q(speed)
|
||||
|
||||
Q(position)
|
||||
Q(pos)
|
||||
Q(heading)
|
||||
|
||||
Q(pendown)
|
||||
Q(pd)
|
||||
@@ -51,13 +52,15 @@ Q(down)
|
||||
Q(penup)
|
||||
Q(pu)
|
||||
Q(up)
|
||||
Q(isdown)
|
||||
Q(pensize)
|
||||
Q(width)
|
||||
|
||||
Q(showturtle)
|
||||
Q(st)
|
||||
Q(hideturtle)
|
||||
Q(hd)
|
||||
Q(ht)
|
||||
Q(isvisible)
|
||||
|
||||
Q(pencolor)
|
||||
Q(reset)
|
||||
|
||||
@@ -11,15 +11,18 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_1(turtle_setheading_obj, turtle_setheading);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_1(turtle_speed_obj, turtle_speed);
|
||||
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(turtle_position_obj, turtle_position);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(turtle_heading_obj, turtle_heading);
|
||||
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(turtle_pendown_obj, turtle_pendown);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(turtle_penup_obj, turtle_penup);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(turtle_isdown_obj, turtle_isdown);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(turtle_pensize_obj, 0, 1, turtle_pensize);
|
||||
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_3(turtle_color_obj, turtle_color);
|
||||
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(turtle_showturtle_obj, turtle_showturtle);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(turtle_hideturtle_obj, turtle_hideturtle);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(turtle_isvisible_obj, turtle_isvisible);
|
||||
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(turtle___init___obj, turtle___init__);
|
||||
|
||||
@@ -43,6 +46,7 @@ STATIC const mp_rom_map_elem_t turtle_module_globals_table[] = {
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_position), (mp_obj_t)&turtle_position_obj },
|
||||
{ MP_ROM_QSTR(MP_QSTR_pos), (mp_obj_t)&turtle_position_obj },
|
||||
{ MP_ROM_QSTR(MP_QSTR_heading), (mp_obj_t)&turtle_heading_obj },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_pendown), (mp_obj_t)&turtle_pendown_obj },
|
||||
{ MP_ROM_QSTR(MP_QSTR_pd), (mp_obj_t)&turtle_pendown_obj },
|
||||
@@ -50,6 +54,7 @@ STATIC const mp_rom_map_elem_t turtle_module_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_penup), (mp_obj_t)&turtle_penup_obj },
|
||||
{ MP_ROM_QSTR(MP_QSTR_pu), (mp_obj_t)&turtle_penup_obj },
|
||||
{ MP_ROM_QSTR(MP_QSTR_up), (mp_obj_t)&turtle_penup_obj },
|
||||
{ MP_ROM_QSTR(MP_QSTR_isdown), (mp_obj_t)&turtle_isdown_obj },
|
||||
{ MP_ROM_QSTR(MP_QSTR_pensize), (mp_obj_t)&turtle_pensize_obj },
|
||||
{ MP_ROM_QSTR(MP_QSTR_width), (mp_obj_t)&turtle_pensize_obj },
|
||||
|
||||
@@ -58,7 +63,8 @@ STATIC const mp_rom_map_elem_t turtle_module_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_showturtle), (mp_obj_t)&turtle_showturtle_obj },
|
||||
{ MP_ROM_QSTR(MP_QSTR_st), (mp_obj_t)&turtle_showturtle_obj },
|
||||
{ MP_ROM_QSTR(MP_QSTR_hideturtle), (mp_obj_t)&turtle_hideturtle_obj },
|
||||
{ MP_ROM_QSTR(MP_QSTR_hd), (mp_obj_t)&turtle_hideturtle_obj },
|
||||
{ MP_ROM_QSTR(MP_QSTR_ht), (mp_obj_t)&turtle_hideturtle_obj },
|
||||
{ MP_ROM_QSTR(MP_QSTR_isvisible), (mp_obj_t)&turtle_isvisible_obj },
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(turtle_module_globals, turtle_module_globals_table);
|
||||
|
||||
@@ -9,10 +9,13 @@ mp_obj_t turtle_setheading(mp_obj_t deg);
|
||||
mp_obj_t turtle_speed(mp_obj_t speed);
|
||||
|
||||
mp_obj_t turtle_position();
|
||||
mp_obj_t turtle_heading();
|
||||
|
||||
mp_obj_t turtle_pendown();
|
||||
mp_obj_t turtle_penup();
|
||||
mp_obj_t turtle_isdown();
|
||||
mp_obj_t turtle_pensize(size_t n_args, const mp_obj_t *args);
|
||||
mp_obj_t turtle_isvisible();
|
||||
|
||||
mp_obj_t turtle_color(mp_obj_t r, mp_obj_t g, mp_obj_t b);
|
||||
|
||||
|
||||
@@ -161,6 +161,10 @@ mp_obj_t turtle_position() {
|
||||
return mp_obj_new_tuple(2, mp_pos);
|
||||
}
|
||||
|
||||
mp_obj_t turtle_heading() {
|
||||
return mp_obj_new_float((t_heading - t_heading_offset) / t_heading_scale);
|
||||
}
|
||||
|
||||
mp_obj_t turtle_pendown() {
|
||||
t_penup = false;
|
||||
return mp_const_none;
|
||||
@@ -189,6 +193,10 @@ mp_obj_t turtle_pensize(size_t n_args, const mp_obj_t *args) {
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t turtle_isdown() {
|
||||
return t_penup ? mp_const_false : mp_const_true;
|
||||
}
|
||||
|
||||
mp_obj_t turtle_color(mp_obj_t r, mp_obj_t g, mp_obj_t b) {
|
||||
t_color = KDColor::RGB888(mp_obj_get_int(r), mp_obj_get_int(g), mp_obj_get_int(b));
|
||||
return mp_const_none;
|
||||
@@ -206,6 +214,10 @@ mp_obj_t turtle_hideturtle() {
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t turtle_isvisible() {
|
||||
return t_hidden ? mp_const_false : mp_const_true;
|
||||
}
|
||||
|
||||
mp_obj_t turtle___init__() {
|
||||
if (!t_underneath) {
|
||||
t_underneath = new KDColor[t_size * t_size];
|
||||
|
||||
Reference in New Issue
Block a user