## Harder You Fools

9
Posts
31
Followers
348
Following
A member registered Oct 27, 2015 · View creator page →

### Recent community posts

(1 edit)

Sorry for the late reply, just saw this now! Here's some commented code for Ninja Punch Zone. It's been long enough that I had to go through it and figure out what every line did again, and while doing that I found a couple of things I think I can optimize further. So thanks for that! :D

EDIT: Itch's comment system mangles the formatting so I've put an easier-to-read version up here.

```--INITIALIZING VARIABLES--
--the number '30' came up a lot in the math stuff bleow,
--so i assigned it to a variable to save characters
t=30
--the player's x position
x=t
--the player's FIST position, relative to the player
--(it's always four pixels away from the player in the direction they're facing,
--but storing the offset in a variable saves chars when drawing later on)
f=4
--making aliases for some commonly used functions to save chars later on
z=rectfill
y=rnd
a=abs
--cooldown timer for the player's punch
c=0
--x position of red ninjas coming in from the right/left respectively
--every time we do this we randomize their position slightly,
--so the ninjas always come at the player at different times
r=130+y(30)
l=y(30)-82
--the player's score and the high score
s=0
h=0
--changing to low res mode (64x64 resolution)
poke(0x5f2c,3)
--the UPDATE LOOP--
function _update60()
--if the player presses left or right then move them in that direction
if btn(⬅️)
then x=max(x-1,3)
f=-4
end
if btn(➡️)then
x=min(x+1,62)
f=4 end
end
--if the player presses 'O' then punch,
--but only if the cooldown timer from the last punch is finished
if c==0 then
if(btnp(🅾️)) c=10
end
--updating the cooldown timer for this frame
c=max(c-1,0)
--moving the two red ninjas towards the player
l+=.7
r-=.7
--if the left ninja has run all the way off screen then reset them
--also: some more character optimization seems possible here!
--must have missed it at the time :-D
if l>70 then
l=y(t)-t
end
-- likewise, if the right ninja has ran all the way off the screen then reset them
if(r<-10) r=y(t)+70
--ALSO: ^^^^ do i even need to check for the ninjas running off screen?
--they should collide with the player and reset before they reach the other side.
--going to look into this, I might be able to create an even more optimized version! \o/
--PUNCH CHECKING. if the punch cooldown is greater than zero,
--then check if the player's arm is close enough to an enemy ninja to hit them
--if it is then we add one to the score and reset the ninja's position off-screen
if c>0 then
if a(x-l+f)<4 then
s+=1l=y(t)-t
end
if a(x-r+f)<4 then
s+=1r=y(t)+70
end
end
-- if the player has beaten the high score then we update the hi-score
if(s>h) h=s
-- if the player has collided with either of the two ninjas
-- we start a new game (reset the score and move the two ninjas to their start points)
if a(x-r)<2or a(x-l)<2 then
s=0
r=y(t)+130
l=y(t)-82
end
-- finally, the DRAW LOOP--
-- (naughtily done in _update60() to save chars)
-- clear the screen
cls()
--draw two rectangles for the ground and sky
z(0,14,64,49,12)
z(0,43,64,49,5)
--draw the player
?"웃",x-4,39,0
--if the player is punching, draw a "-" for the player's extended arm
if c>0 then
?"-",x+f-2,39,0
end
--draw the two red ninjas
?"웃",l-3,39,8
?"웃",r-3,39,8
--print the score and high score at the top
?s,6,16,10
?h,54,16,10
end```

Thank you!

Hi again, and thanks for the update! I'll try it tomorrow and let you know how it goes.

Thanks Jupiter!

Thank you for taking a look!

Thank you for featuring it!

Not yet, we missed the jam deadline and then life got in the way. We're still working on it when we get time, but a playable build is still a few days away (at least!).

Hey!

Just wanted to report that the mouse isn't working in the current Linux build.

If you're using Unity 5.6.0/5.6.1 there's a bug with fullscreen mouse input for Linux builds - you can avoid the bug by having the Linux build launch in windowed mode (or the bug was recently fixed in 5.6.1p2 if you want to upgrade).

Hope that helps!