From 0dba3fc3ea7e2d16c55a578649060b46fab91601 Mon Sep 17 00:00:00 2001 From: taxicomics <168220579+taxicomics@users.noreply.github.com> Date: Mon, 13 May 2024 14:43:05 +0200 Subject: [PATCH] Create RainbowShotsFromOuterSpace initial upload --- RainbowShotsFromOuterSpace | 57 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 RainbowShotsFromOuterSpace diff --git a/RainbowShotsFromOuterSpace b/RainbowShotsFromOuterSpace new file mode 100644 index 0000000..a5ece10 --- /dev/null +++ b/RainbowShotsFromOuterSpace @@ -0,0 +1,57 @@ +--because of repeated use i set two variables to +--hold the random function and the value 128 +웃=rnd 😐=128 +enemies={} +player_x=62♥=3◆=1✽={}function g(a,b,c,f)return abs(a-c)+abs(b-f)end +function _draw() +--the game logic if statement instead of a state machine +--encompasses all game logic +if ♥>0 do +--i use the modulo operator instead of a timer variable +if(t()%1==0)add(enemies,{x=웃(😐),y=0}) +cls() +--draw the player +?"★",player_x,99,7 +--draw the 'gui' with points and remaining hearts +?◆.."◆ "..♥.."♥",50,0 +--iterate over all enemies +for j in all(enemies)do +--move them down +j.y+=1 +--check whether they touched the player +if g(j.x,j.y,player_x,99)<5 do +--move them off screen if they do instead of spending tokens on del()- +--i do that later +j.x=-9 +♥-=1 +end +--make the enemies harder to hit by adjusting their x position with sin(time()) +if(j.x>9)j.x+=sin(t()) +--iterate over the shots inside the enemey loop-which means shots get faster if more enemies are on screen, +--but it saves an extra loop +for i in all(✽)do +--draw the shots +?"◆",i.x,i.y,i.y%9 +--move the shots up +i.y-=1 +--check wheter they've hit any enemies,pushing them offscreen if needed +if(g(i.x,i.y,j.x,j.y)<6)del(✽,i)j.x=-9◆+=1end +--finally deleting the enemies that have gotten below the screen height,on or off screen +if(j.y>😐)del(enemies,j) +--draw the enemies +?"🐱",j.x,j.y,8 +end +--spawn a shot based on a 'modulo-timer' +if(t()%1==0)add(✽,{x=player_x,y=90}) +--stolen and slightly modified bit of code to handle the input +b=btn() +player_x+=(b\2%2-b%2)*2 +for i=0,9 do +--draw 'stars' in random spots for that speedy feel +?".",웃(😐),웃(😐),10 +end +else +--closing the game logic if statement +?"dead",55,60 +end +end