Jump to content
Captain Spazer

Multisprite weirdness

Recommended Posts

I'm having a bit of trouble with an idea, I'm using the multisprite kernel and I got 4 of the sprites as things to pick up to get score, this works fine. I'm trying to get a counter working so that once the four items have been collected an event triggers, but I can't get it to trigger.

This is the code I'm using for collision and adding score:
 


 if (player0y + 6) >= player2y && player0y <= (player2y + 10) && (player0x + 10) >= player2x && player0x <= (player2x - 1) then score = score + 1 : player2y=200

 if (player0y + 6) >= player3y && player0y <= (player3y + 10) && (player0x + 10) >= player3x && player0x <= (player3x - 1) then score = score + 1 : player3y=200

 if (player0y + 6) >= player4y && player0y <= (player4y + 10) && (player0x + 10) >= player4x && player0x <= (player4x - 1) then score = score + 1 : player4y=200

 if (player0y + 6) >= player5y && player0y <= (player5y + 10) && (player0x + 10) >= player5x && player0x <= (player5x - 1) then score = score + 1 : player5y=200


Now, if I was to add at the end for example p = p + 1 when colliding with the sprite, it does nothing.

My none working experiment:
 

 if p <=4 && player0x < player1x then _P1_L_R = _P1_L_R - 0.10 : REFP1=0
 if p <=4 && player0x > player1x then _P1_L_R = _P1_L_R + 0.10 : REFP1 = 8

 if p <=4 && player0y < player1y then _P1_U_D = _P1_U_D - 0.10
 if p <=4 &&  player0y > player1y then _P1_U_D = _P1_U_D + 0.10 

if (player0y + 6) >= player2y && player0y <= (player2y + 10) && (player0x + 10) >= player2x && player0x <= (player2x - 1) then score = score + 1 : player2y=200 : p = p + 1

 if (player0y + 6) >= player3y && player0y <= (player3y + 10) && (player0x + 10) >= player3x && player0x <= (player3x - 1) then score = score + 1 : player3y=200 : p = p + 1

 if (player0y + 6) >= player4y && player0y <= (player4y + 10) && (player0x + 10) >= player4x && player0x <= (player4x - 1) then score = score + 1 : player4y=200 : p = p + 1

 if (player0y + 6) >= player5y && player0y <= (player5y + 10) && (player0x + 10) >= player5x && player0x <= (player5x - 1) then score = score + 1 : player5y=200 : p = p + 1


Since this code doesn't say what happens when p > 4 then player1 should stop.

Share this post


Link to post
Share on other sites

What happens if you do this:

 

   if p > 4 then goto __Skip_p1_Movement

   if player0x < player1x then _P1_L_R = _P1_L_R - 0.10 : REFP1=0
   if player0x > player1x then _P1_L_R = _P1_L_R + 0.10 : REFP1 = 8

   if player0y < player1y then _P1_U_D = _P1_U_D - 0.10
   if player0y > player1y then _P1_U_D = _P1_U_D + 0.10

__Skip_p1_Movement

 

  • Thanks 1

Share this post


Link to post
Share on other sites
6 hours ago, Captain Spazer said:

Now, if I was to add at the end for example p = p + 1 when colliding with the sprite, it does nothing.


Since this code doesn't say what happens when p > 4 then player1 should stop.

From what i am reading you have kinda answered it yourself "Since this code doesn't say what happens when p > 4". If there is no instruction for 'P' the program will just continue and that variable is basically doing nothing other then addition. As you can see with RT's example, there is an if-condition for "P" that has a solution if the value is true (this is at that start of the codeblock). Then there is a label after the codeblock for the "P" condition  to jump to if that condition is true. Basically if true that will skip all code between the two and by the looks of it deactivate "player1".

Edited by TwentySixHundred
  • Thanks 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...