From 4cc4ba6bc250e8981a6fb3f6e6b96945a16628e5 Mon Sep 17 00:00:00 2001 From: Louie S Date: Tue, 24 Oct 2023 13:31:17 -0400 Subject: Working controls --- src/ring.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'src/ring.c') diff --git a/src/ring.c b/src/ring.c index 633648b..e73d477 100644 --- a/src/ring.c +++ b/src/ring.c @@ -19,8 +19,28 @@ void pickup_ring() { } } - if(pickup > 0) { + if(pickup >= 0) { held = &rings[pickup]; held->held = true; + towers[hover].rings[pickup] = false; } } + +bool drop_ring() { + int i; + + // should not be called if we are not holding a ring + assert(held != NULL); + + //determine if we are allowed to drop the ring here + for(i = 2; i > held->size; --i) { + if(towers[held->location].rings[i]) { + return false; + } + } + + held->held = false; + towers[held->location].rings[i] = true; + held = NULL; + return true; +} -- cgit