draw works

This commit is contained in:
me 2025-12-20 00:46:12 +02:00
parent b9488506ce
commit eb22107a80
3 changed files with 14 additions and 3 deletions

View file

@ -5,13 +5,13 @@ let setup = fn() {
}; };
let update = fn(state, input) { let update = fn(state, input) {
let new = 100; let new = 200;
state.player.position.x = new; state.player.position.x = new;
return state; return state;
}; };
let draw = fn(state) { let draw = fn(state) {
frame_clear(0,0,0); frame_clear(0,90,state.player.position.x);
}; };
let migrate = fn(state) { let migrate = fn(state) {

View file

@ -122,7 +122,16 @@ fn eval_expr(expr_env: &Env, state: &mut State, expr: &ast::Expr) -> Result<ast:
v => Err(Error::NotARecord(v, Backtrace::capture())), v => Err(Error::NotARecord(v, Backtrace::capture())),
}, },
ast::Expr::Var(var) => { ast::Expr::Var(var) => {
let value = expr_env.get(var)?.clone(); let value = match expr_env.get(var) {
Ok(value) => Ok(value.clone()),
Err(err) => {
if state.primitive_funcs.get(&var).is_some() {
Ok(ast::Value::PrimitiveFunc(var.clone()))
} else {
Err(err)
}
}
}?;
eval_expr(expr_env, state, &ast::Expr::Value(value)) eval_expr(expr_env, state, &ast::Expr::Value(value))
} }

View file

@ -161,8 +161,10 @@ pub fn draw(state: &mut State) {
Err(err) => println!("Error: {}", err), Err(err) => println!("Error: {}", err),
} }
/*
println!( println!(
"{:#?}", "{:#?}",
interpret::value_to_stadnalone_expr(&state.state, state.game_state.clone()) interpret::value_to_stadnalone_expr(&state.state, state.game_state.clone())
); );
*/
} }