New games every week!
JSE - The Cylinder of Time! (Ready) Blog
15th August 2021
Good grief, that took some doing.

-=-=-

"I know, I'll just tweak the framework to do this." ended up taking .. what, 4 days!?!
That was NOT an easy task.
It's still not ideal, and I've also noticed the mouse co-ordinates can go out of whack, making the entire menu broken.
Oh, goody..

But other than that, it works fine!!

Lots of tweaks here, including a few new preset variables (ThisLevel, ThisDay, ThisMonth, etc) and a new function (WinLevel)
They're all (I think!) described in the command list file. GameHandler Calendar, and slightly below that are listed the new variables and a couple of other bits and pieces.
Nothing too drastic.. .. given how blooming' long it all took!

But, yeah, it should all work now.
Let me know how you get on with it, and if I should fix anything.

Be sure to refresh for .v3geq or above!

// Helicopter Game // by Jayenkai // Created 2021/8/11 Symbol 0,"2__0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0@:@;;:@0_0?:@;;:@0_0_0.;;0_0_0_0,;;0_0_0_0,;;0_0_0_0,;;0_0_0@;_;0_0_0.;_;0!;;0_0,;@00;.0.;;0_0,;@II0;,00;_;_;!II00;_;_;_;I0,;.00;;0_0;_;/0.;;0_0;_;/0_0_00;;0!;;0_0_0.;;0!;;0_0_00;_;?0_0_;_;?"; Symbol 1,"2__0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0,z.;;:.0_0_0.z.;;:.0_0_0@;;0_0_0_0,;;0_0_0_0,;;0_0_0_0,;;0_0_0@;_;0_0_0.;_;0@;;0_0;@00;.0!;;0_0;@II0;,00;_;_;!II00;_;_;_;I0,;!0_0,;_;/00;;0_0,;_;/0_0_00;;0!;;0_0_0.;;0!;;0_0_00;_;?0_0_;_;?"; Symbol 2,"2__0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0?::;;zz0_0_0@::;;zz0_0_0_0;;0_0_0_0,;;0_0_0_0,;;0_0_0_0,;;0_0_0@;_;0_0_0.;_;0_0_00;@00;.0_0_;@II0;,00;_;_;!II00;_;_;_;I0,;.0_0?;_;/0_0/;_;/0_0_00;;0!;;0_0_0.;;0!;;0_0_00;_;?0_0_;_;?"; Symbol 3,"2__0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0:!;;z!0_0_:!;;z!0_0_0!;;0_0_0_0,;;0_0_0_0,;;0_0_0_0,;;0_0_0@;_;0_0_0.;_;0.;;0_0?;@00;.00;;0_0?;@II0;,00;_;_;!II00;_;_;_;I0,;.0.;;0@;_;/0!;;0@;_;/0_0_00;;0!;;0_0_0.;;0!;;0_0_00;_;?0_0_;_;?"; Symbol 4,"2__0_0_0_0_0_0_0_0.4,0_0_0_0!40_0_0_0_B040_0_0_00B040/40_0_0.B0!40_0_0040,B0_0_0!B0!B40,40_0_00B0_0.BB0_0@I0.B4I0?B0_0?4400BI0.I0.B0_0_040B004B40B0_0_0_4I4B0_0_0@B00I040040040440_0?BB00B0BBI.0!40_0_0/I0B0_0_44II44II40!B0_0!II0,B04I0@B0_0@B0?I40_0_0_40_0_0@B0?B00B0_0_0,B0.40B0.40_0_0B0_0B0_0_0/40_0_0_0_0_0_0_0/B0,40_0_0_B0.40_0_00B0_0_0_0.B"; Dim High(1024) Graphics 640,480,2 GameHandler("Helicopter|Game",Calendar) .StartGame SeedRnd ThisLevel Start=60 MyY=ScreenHeight()/2 MyYGo=0 Speed=0 MaxSpeed=4 Goal=0 LevelHue=Rand(0,360) scrx=0 y=ScreenHeight()/2 yspd=0 gap=5 g=6 e=6 LevLong=64 // Setup tweaks depending on the day of the week if ThisWeekday==0 then LevName="Sleepy Sunday" if ThisWeekday==1 then LevName="Manic Monday":e=8:LevLong=Rand(96,200) if ThisWeekday==2 then LevName="Tortuous Tuesday":g=9:LevLong=Rand(200,300) if ThisWeekday==3 then LevName="Winding Wednesday":e=3:LevLong=Rand(96,160) if ThisWeekday==4 then LevName="Throttle Thursday":LevLong=Rand(96,300):MaxSpeed=6 if ThisWeekday==5 then LevName="Far Out Friday":LevLong=1024 if ThisWeekday==6 then LevName="Superfast Saturday":LevLong=128 // Make tunnel for x=0 to 1024 High(x)=y y=y+yspd*4 gap=gap-1 if gap<0 and Rand(0,10)<e then yspd=Rand(0-g,g) if y<72 then yspd=Rand(2,g) if y>ScreenHeight()-72 then yspd=0-Rand(2,g) next Return .Ingame Speedup=1 if ThisWeekday==6 then Speedup=1.4 if ThisWeekday==0 then Speedup=0.7 SetCLSHue LevelHue,0.5,0.2 CLS;ResetDraw SetCol 0,0,0 l=Floor(scrx/64)-1 r=l+14 if r>LevLong then r=LevLong crashed=1 For x=l to r dx=(x*64)-scrx SetCol 0,0,0 Rect dx-32,High(x),65,129,1 // Check if Heli's close to this rect. If it's within this space, it's not crashed if Abs(dx-32)<38 and Abs(High(x)-MyY)<60 and Start>-1 crashed=0 if x==LevLong and Goal==0 then Goal=1:PlaySFX("Beeper_Fruit_Bonus") endif Next SetCol 255,255,255 Butt=0 if GamePad(ButtonA)>0.5 or GamePad(ButtonUp)>0.5 or MouseDown() then Butt=1 if crashed==1 and Start==0 then PlaySFX("Error_4"):PlaySFX("Explode_Low_6") if crashed==1 or Start<0 then Start=Start-1 if Start>0 then Start=Start-1:Text ScreenWidth()/2,ScreenHeight()*0.25,LevName,1 if Start==0 and Goal==0 MaxSpeed=MaxSpeed+0.01 if ThisWeekday!=4 and MaxSpeed>8 then MaxSpeed=8 if ThisWeekday==4 and MaxSpeed>12 then MaxSpeed=12 scrx=scrx+(Speed*Speedup) if Speed<MaxSpeed then Speed=Speed+0.1 MyY=MyY+MyYGo*0.45 if Butt==0 then MyYGo=MyYGo+(0.33*Speedup) if Butt==1 then MyYGo=MyYGo-(0.33*Speedup) endif n=Floor(Mills()/64) Mod 4 DrawImg 32,MyY,n if Start<0 then ThrowParticle 32,MyY,2,jRnd(0,360),jRnd(0.3,0.8),4,0 Score=l if l<0 then l=0 s=(LevLong-(l+3)):if s<0 then s=0 Text ScreenWidth()-64,32,s,1 Text ScreenWidth()-64,48,"Goal",1 SetParticleSize 32 SetParticleGravity 0.2 if Start<0-30 then EndGame "Crashed" if Goal>0 then Goal=Goal+1 if Goal>30 then Score=LevLong:WinLevel:EndGame "GOAL!" Return

Views 86, Upvotes 15  
Daily Blog , Jse , Calendar
New games every week!
Site credits : If you can see it, Jayenkai did it.
(c) Jayenkai 2023 and onwards, RSS feed 82

Blog - JSE - The Cylinder of Time! (Ready) - AGameAWeek