Tanks is a simple turret game for the calculator, where you must shoot down 1-3 tanks. You can download the game here, but it remains a tad incomplete.

So far, it spawns 1-3 tanks fine, and allows you to rotate and hit them. you can either instantly kill them with a direct hit, or whittle them down with some scratches. I also made the game as "synchronous-play"; the AI doesn't wait for keypresses anymore. I also added "pretty mode", which includes sky and tank shading. what is not implemented is shown in the following list:

3:Enemy Indicators (if enemy is off-screen, point to closest)

These are also considered:
2:Fancy Tanks requires libs
3:Fancy Background requires libs
4:2-player support (but maybe not)

please leave feedback on what you think is important, anything you think would be nice that I haven't added, and whatever else you please.[/i]

Since gameplay may be a little confusing, ill update with basic controls.
Use left/right on the dpad to rotate the veiw. You may have to rotate quite a bit to find the enemy.
2nd fires. In the current release, you have to fire in the direct center of the tank to kill it.
My experience with Get()/GetCalc() is that it can be quite slow, if calcnet is included in DoorsCSE (I can't recall if it is) then you should use that.
next Tuesday, Ill upload the next release. got some new things! (check out the top post)
I'd love to see some screenshots of this in action. Smile Keep up the good work. Is there a two-player mode, or just player vs. AI?
It sounds like he might. (number 4 in the first post)
Sorry about the really short post yesterday, but I had only 5 minutes before I had to get to work.

Like I said, I've updated the game with some of the stuff:
-the game now has synchronous play; AIs aren't limited to waiting for your keypresses anymore.
-the game has a pretty mode; the sky/ground is now shaded 2 colors based on the time on your clock (which means little, since I doubt few people reset it every time they clear their ram). I use Shade( for this.
-Tanks are shaded green, using line(, should pretty mode be on.
-Tanks now have 3 hitpoints each; hitting them directly can kill them instantly. hitting them off to the side (scratching them) only does a little. thanks to Kerm and his "programming for the ti-83+/84+" book for storing data as decimals! (position.health)

unfortunately, There aren't CE emulators yet, and I don't own a CSE, so I cant really get screenshots of the game. you will just have to download the game and try it out (though if someone else gets screenshots, PM them to me and Ill put them in the top post!).

furthermore, I cant seem to find out whats causing a bug (though I suspect its mismatched/misplaced End statements).
actually, I think I just figured it out; hit coding between "scratching" and "direct hits" - direct comes up as both. Ill just put in a not statement, and clean that up. wonderful how you can figure things out by talking to others about it Wink

I haven't ever before used Getcalc(, so itll be a while before I actually implement that. whats more, unless Getcalc( can trade REAL vars with the monochrome cousins, I wont even be able to test if it works. what poop.
Luxen wrote:
unfortunately, There aren't CE emulators yet, and I don't own a CSE, so I cant really get screenshots of the game. you will just have to download the game and try it out (though if someone else gets screenshots, PM them to me and Ill put them in the top post!).
Ask and you shall receive. By the way, if you put some pauses in your game, you could use TI Connect CE (or TILP?) to screenshot the game.



I must admit being a little confused by the game. Specifically, I couldn't tell the controls, and I couldn't figure out the key (not [CLEAR] or [2nd] or [MODE]) to escape back to the main menu to look for help. May I ask that you improve the readme with more information about the gameplay?

Quote:
I haven't ever before used Getcalc(, so itll be a while before I actually implement that. whats more, unless Getcalc( can trade REAL vars with the monochrome cousins, I wont even be able to test if it works. what poop.
GetCalc( can trade reals between all of the TI-83+ and TI-84+-family calculators.
I noticed the issue with clear, fixed. I seem to have thought clear was 35, which it isnt.

Thanks for the thing about pause, i didnt know about that.

Keys are listed in the menu, did you not look at that?

F5 also quits.

And ill port to 83/84 series as well. Ill play around with getcalc and get multiplayer support to you great guys soon as I can.
I get an ERROR:VERSION when ungrouping this on the CSE using Wabbitemu with a CSE rom. Does that happen with all CE BASIC programs?

Edit: Okay then, jsTIfied runs/ungroups it fine. Weird.
Luxen wrote:
Keys are listed in the menu, did you not look at that?
No, because I couldn't get to it. Smile I eventually quit and restarted the game and found them.

Quote:
And ill port to 83/84 series as well. Ill play around with getcalc and get multiplayer support to you great guys soon as I can.
Great!

Another random comment: I noticed that the group includes a few custom lists. May I recommend the SetupEditor trick to create those from the program, so you don't need to include them with the program? Or do you already do so?

M. I. Wright wrote:
I get an ERROR:VERSION when opening this on the CSE. Does that happen with all CE BASIC programs?
That's surprising; I didn't get ERR:VERSION on jsTIfied running a TI-84+CSE OS.
If you do not unpack those lists, the game would still work fine; that was for me, more. Ill just distribute the program alone next time.

M.I.Wright: not sure whats causing that; i wonder if group file formats are slightly different or something. Try extracting just the program in an emulator and sending that to see if that works.

Edit: how should multiplayer be handled? Should a player replace an enemy tank? What color should they be?
I do think that a player should replace an enemy tank. It's too bad that there's only one shade of green available to pure TI-BASIC programs on the TI-84 Plus CSE and TI-84 Plus CE; how about either navy blue or the maroon/brown color?
Kerm, you just mix green and brown for dark green. In a 2x2 square, 1 pixel is brown. The rest are green ofcourse, this only works in pretty mode (see next tuesday). For the outline, yeah i agree with too few colors. But, will do, players will replace AIs, or add if there are less than 3.
bump;

Will be uploading updated program (and screenies) to archives soon.

Quote:
furthermore, I cant seem to find out whats causing a bug (though I suspect its mismatched/misplaced End statements).
actually, I think I just figured it out; hit coding between "scratching" and "direct hits" - direct comes up as both. Ill just put in a not statement, and clean that up. wonderful how you can figure things out by talking to others about it Wink

This totally wasnt what I thought it was, and I only just figured out the bug. actually, the problem was from both the new hit detection and how I handled health. for instance, pretend that a new game started, and it spawned 1 tank at rotation 3. this means that the tank data reads 3.3. position 3, health=3. well, if you hit the tank dead on, it subtracts .3 from health. if you hit the tank off to the side, it subtracts .1 health. well, remember that I test for fpart=0. if you hit the tank of to the side, and then in the middle, then health =-.1. however, since I was directly modifying the health without pulling it into a temporary REAL, health wasnt -.1, but rather 2.9. hence why my bug was bugging me. anyways, its fixed now.

tl;dr - dont worry about it. bug fixed.
bump with update about status:

I took a breif break from Tanks to work on one of my rpgs, so no update this week.

I played Tanks today, and lo and behold, that stupid bug wasnt fixed. or, least it doesnt work like its supposed to. tank "scratches" now can cause big issues, like the tank not being destroyed. ill open it tonight and see whats going on. then I can begin on porting it to the monochrome series, so I can implement multiplayer support.
bug fixed, this time for real.

I scrounged up some batteries and began porting to the old calcs - but dang, itll be a butt trying to rewrite it for multiplayer. Ill release the base Tanks program for the mono's next week, but you'll have to wait a while on anything fancy.
2 years later...

I got an email saying Tanks was broken, happening whenever you kill an enemy. This wasnt replicated until I upgraded to the latest OS (I had 5.0.1 I think). Ultimately, it appears that getkey was changed, so I had to add 0->Z before the getkey->Z line (if getkey wasnt changed, why did that fix the issue?). I'm packaging and uploading the fixed program as I write this.


...it took me 2 months to actually fix this bug. I'm out of practice, man.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement