Problem with sprites & arrays
-
@SteveZX81 - ignore this, I don't want to confuse you!
@Jonboy - quick tip, and sorry if you already know this.if instead of
soldier.parachuting = 0 soldier.falling = 1 soldier.swimming = 2 soldier.sinking = 3
You have
soldier.parachuting = 1 soldier.falling = 2 soldier.swimming = 4 soldier.sinking = 8
Then it becomes possible to do bitwise logic on your state. It may not seem like much and is actually totally irrelevant to your use case because your soldier can't be doing two things at once, but let's say that your soldier could be both swimming and sinking at the same time (maybe he can't swim very well!) Then soldier.state would be 12. In the code you would say:
soldier.state = soldier.swimming | soldier.sinking
And when you know that it is possible for your soldier to do two things at once, ask if he is swimming by saying:
if soldier.state & soldier.swimming then
We don't care what else they may be doing, but we know they are at least swimming!
Like I say, bordering on shouldn't be in the beginning help section, and no good for your use case, but I just wanted to mention it since it ties in with the state stuff you mentioned.
-
@Martin this is exactly how wavetables work in the c64 sid chip so you can use 2 waveforms in single note. well not using logic, but bits in fuze 0000 0000 is square 0000 0100 is noise so 0000 0101 would be square and noise together (feel free to make fuze capable of this)
Thanks for the posts about states, I had been doing a ghetto version of this to tell what my octopus in the deep is up to, I might convert him to a struct since as a learning process.
Games looking good steve, just come back to it when you are ready, Maybe start another project for now. I have same problem with my the deep project, trying to learn too many new concepts is overwhelming, I do my best coding in the shower (when I'm away from it all) haha
-
I swear this software is turning me into a raving madman. I woke up at 4:32am this morning with an idea that I thought would solve my problem, so climbed out of bed in the middle of the night and tried it. of course it failed as per usual but still.. I must be insane. lol
-
@SteveZX81 Ah yes 4AM programming. I know it well
-
Yep! sounds perfectly normal to me. wake up with idea and must try it. programming isn't typing, it's thinking. well actually the typing is the programming but the developer part is the thinking
-
Guys, I'm really sorry for keeping spamming this thread but I feel I'm so close..
I've been working on my 4am idea and that is to use an array to set the # of coins in a column (row to you guys) and then draw the coins using the array to draw however many coins in each column then deduct 1 from the index of the array when a coin in that column(row to you) is hit.
This is what I have now.
The first bit sets up the array and sets each index to 3 (3 coins in a stack, just to test it)
The second bit of code draws the coin sprites on screen using the array to see how many to add
The third bit tests for a collision with the bomb and apart from adding to the score etc, it takes one away from the array (which hopefully means that column(row to you) will draw with one less coin next time)
but I'm getting errors like 'array out of bounds'.
I honestly feel that I'm close to this working.. well, I think so.
am I on the right track or utterly clueless? -
@SteveZX81 It's line 140 that gets the error isn't it? You're looping up to 26, while the highest array index you can use for that array is 9.
-
@Nisse5 said in Problem with sprites & arrays:
@SteveZX81 It's line 140 that gets the error isn't it? You're looping up to 26, while the highest array index you can use for that array is 9.
Right yeah! ohh damn.. that kind of trashes the whole 'approach'. as changing that to 9 means it won't detect a collision with the others. ughhhh and I really thought I was close to fixing it. hells bells
-
@SteveZX81 said in Problem with sprites & arrays:
@Nisse5 said in Problem with sprites & arrays:
@SteveZX81 It's line 140 that gets the error isn't it? You're looping up to 26, while the highest array index you can use for that array is 9.
Right yeah! ohh damn.. that kind of trashes the whole 'approach'. as changing that to 9 means it won't detect a collision with the others. ughhhh and I really thought I was close to fixing it. hells bells
I'm not actually sure the approach is wrong... I just think you use the wrong index for what you want to do. (Hint: look for example how you draw the coins and how you use array indexes there.)
-
Thanks.
I've tried redoing the collision bit to this but alas no joy. I've tried so many variants now that I'm about to put my fist through my monitor lol.
Here is my latest lame failed attempt
-
@SteveZX81 Go a bit further and use "c=0" and "c+=1" as you do in the draw loop. Then reference c in the same way as you do in the draw loop. Currently, you loop in the same way, but you reference the array indexes in a different way.
-
Thanks, I did do that but no joy. I think I've wasted enough of your time on this so we'll call it a day but I really do appreciate the help you gave me!
-
I'm utterly thrilled and delighted to announce that my problem is now solved and the game is working as should be.
This is not my doing (I thought I was close, but not really)Martin has gone above and beyond to help me with this and all I can do is say a HUGE Thank you!
-
@Martin I think a pint is in order for you sir.
-
@Martin Mate... That's awesome! Think I heard an angelic chorus when I read this! The joy and embarrassment that occurs when you learn something new in programming...