[vcf-midatlantic] What's wrong with my program experiment?
Dan Roganti
ragooman at gmail.com
Fri Apr 7 08:11:36 EDT 2017
On Fri, Apr 7, 2017 at 7:01 AM, Dan Roganti <ragooman at gmail.com> wrote:
>
>
> On Thu, Apr 6, 2017 at 5:38 PM, Evan Koblentz via vcf-midatlantic <
> vcf-midatlantic at lists.vintagecomputerfederation.org> wrote:
>
>> some other guy mentioned cross-talk, that's why I posted that link to the
>>> 1982 issue which explains how that operates. It also mentions a work
>>> around in Assembly code, since adding more delay defeats the purpose of
>>> using assembly code. But I'm not sure yet if there's a work around for
>>> Basic code, maybe there is, perhaps using the same Kernal Rom Calls. But
>>> then your game isn't really time critical as in an assembly program. So
>>> you
>>> most likely won't suffer any lag.
>>>
>>
>> Yeah I'm happy with how it works now.
>>
>> Primitive collision detection 101: I added a line that if X=10 and Y=10
>> (where I'd made a plot) then switch to text mode and print something. It
>> didn't work and I wasn't sure why. Then I remembered the joystick is never
>> * exactly * at 10,10, but rather at 10.(lots of decimals). So I put in
>> another line saying X=INT(X):Y=INT(Y) to force the whole number. Now when I
>> move the joystick to the plot of 10,10 it works.
>>
>> Per a suggestion at http://www.vcfed.org/forum/sho
>> wthread.php?57097-Joystick-problem&p=455221#post455221 I'll probably
>> make a version of the game where the plot location is random and if you hit
>> it then you found the kitten. :) Non-kitten plot locations could be (gasp)
>> educational: you found a minicomputer, you found a tape library, etc., and
>> each one would teach you something about that artifact.
>>
>>
>>
> yea that's all what collision detection amounted to on the Apple,
> just a bunch of IF/THEN's to check the coordinates each time you move
> Basically one IF/THEN for each object you place on the grid,
> And then if you have walls, that's some more,
> but those involve ranges because the wall extends over many pixels, either
> for X or Y
> So you would use some boolean logic in your IF/THEN's to check these ranges
>
> once you get some practice with that, then you can try using a 2
> dimensional array,
> this would help you keep track of the objects on the grid,
> this will reduce the amount of changes to your code with your IF/THEN's
> whenever you change or move the objects
> at the beginning of the code you would fill up the array with your
> objects, walls, etc
> Then you only need one IF/THEN for everything, just compare the current
> x,y position to the 2-D array
> If the contents of the 2-D array is occupied, ie "not zero", then you hit
> the object
> This also allows assigning hit values to each object, within the array
> eg, if one object has a bigger value, you get a bigger bonus if you hit
> that one
> Dan
>
>
>
oh, I left out the Hi-Res graphics options, since I saw you wanted to use
this too
using Shape Tables with the DRAW command and checking the Collision counter
Applesoft can let you automate the collision detection with this too
There was a good writeup in NIBBLE magazine back in the early 80s
http://www.appleii-box.de/APPLE2/CollisionCounter/CollisionCounter.pdf
Dan
More information about the vcf-midatlantic
mailing list