TGA - The Great Adventure
Moderator: Moderators
- e5frog
- Vic 20 Nerd
- Posts: 551
- Joined: Sat Feb 17, 2007 5:46 pm
- Website: http://channelf.se
- Location: Sweden
- Occupation: Service Engineer
I think the extra spaces are from when you use it like this:
234 PRINT"YOU HAVE $"DN"."
Will print as
YOU HAVE $ 2500 .
To move the . you can add a cursor left within the "
234 PRINT"YOU HAVE $"DN"{CUR LEFT}."
I'm not sure how to get rid of the space between $ and the amount... probably something complicated that's not worth the effort.
This doesn't help:
234 PRINT"YOU HAVE $";DN;"."
It gives the same output, seems to add spaces around the number for some reason.
Only thing I could think of was to write the $ afterwards with a new PRINT and move the cursor one row up and then right until I get to the second empty space after the last word.
234 PRINT"YOU HAVE "DN"{CUR LEFT}."
235 PRINT"{UP}{9 LEFT}$"
You have to move from the left to the right because you don't know how large the number is.
That would solve this incredible large problem.
BTW, how do you win the game, I saw the nice end-picture?
234 PRINT"YOU HAVE $"DN"."
Will print as
YOU HAVE $ 2500 .
To move the . you can add a cursor left within the "
234 PRINT"YOU HAVE $"DN"{CUR LEFT}."
I'm not sure how to get rid of the space between $ and the amount... probably something complicated that's not worth the effort.
This doesn't help:
234 PRINT"YOU HAVE $";DN;"."
It gives the same output, seems to add spaces around the number for some reason.
Only thing I could think of was to write the $ afterwards with a new PRINT and move the cursor one row up and then right until I get to the second empty space after the last word.
234 PRINT"YOU HAVE "DN"{CUR LEFT}."
235 PRINT"{UP}{9 LEFT}$"
You have to move from the left to the right because you don't know how large the number is.
That would solve this incredible large problem.
BTW, how do you win the game, I saw the nice end-picture?
My other interest: http://channelf.se
Both can be solved at once. DN is a number and as such it has a space for a sign (+ and -) while + isn't printede5frog wrote:I think the extra spaces are from when you use it like this:
234 PRINT"YOU HAVE $"DN"."
Will print as
YOU HAVE $ 2500 .
To move the . you can add a cursor left within the "
234 PRINT"YOU HAVE $"DN"{CUR LEFT}."
I'm not sure how to get rid of the space between $ and the amount... probably something complicated that's not worth the effort.
you "just" need:
print"you have $"mid$(str$(dn),2)"."
This converts dn to a string and prints it from the second character - et voila!
- e5frog
- Vic 20 Nerd
- Posts: 551
- Joined: Sat Feb 17, 2007 5:46 pm
- Website: http://channelf.se
- Location: Sweden
- Occupation: Service Engineer
Yup!
I was thinking something like that was possible but it was some time since I programmed in BASIC.
I don't think we'll see it in the program...
Perhaps if it was a "print what's in the wallet" subroutine...
10020 print"$"mid$(str$(dn),2);
10030 return
That would add it correctly every time.
I was thinking something like that was possible but it was some time since I programmed in BASIC.
I don't think we'll see it in the program...
Perhaps if it was a "print what's in the wallet" subroutine...
10020 print"$"mid$(str$(dn),2);
10030 return
That would add it correctly every time.
My other interest: http://channelf.se
Played it again last night on my VIC-20 and had great fun. I didn't notice wrong week counts. But yesterday the only healing potions going to the inventory were the ones I bought.
If there is the message "A HEALING POTION" after a fight, it shows up nowhere. The one got as reward from a quest vanished, too.
Everything else worked, no ?out of memory or other error this time.
Personally, I don't like the picture preview much. It looks a bit less professional to me. But that's just a matter of personal preferences.
If you really have some spare time left it wouldn't hurt to always clear the keyboard buffer before reading a key. On my VIC, I have to hammer on the keys to make contact and sometimes that results in two key presses (debouncing insufficient). This could be leveraged by only accepting the requested keys. For example, I use 'z' whenever I have to press _any_ key. But this is also accepted as a choice for '1' (run) or '2' (fight). In that case '1', so I ended up trying to run away in fights, where I didn't want.
Great game! Finished it once again yesterday.
What is your record for no. of days until becoming a hero?
If there is the message "A HEALING POTION" after a fight, it shows up nowhere. The one got as reward from a quest vanished, too.
Everything else worked, no ?out of memory or other error this time.
Personally, I don't like the picture preview much. It looks a bit less professional to me. But that's just a matter of personal preferences.
If you really have some spare time left it wouldn't hurt to always clear the keyboard buffer before reading a key. On my VIC, I have to hammer on the keys to make contact and sometimes that results in two key presses (debouncing insufficient). This could be leveraged by only accepting the requested keys. For example, I use 'z' whenever I have to press _any_ key. But this is also accepted as a choice for '1' (run) or '2' (fight). In that case '1', so I ended up trying to run away in fights, where I didn't want.
Great game! Finished it once again yesterday.
What is your record for no. of days until becoming a hero?
Buy the new Bug-Wizard, the first 100 bugs are free!
- orion70
- VICtalian
- Posts: 4341
- Joined: Thu Feb 02, 2006 4:45 am
- Location: Piacenza, Italy
- Occupation: Biologist
Thanks for the suggestion, and again for your contribution to this game . Will include this subroutine in the next v7 (hey, we're getting closer to the LAST V8 ).e5frog wrote:Perhaps if it was a "print what's in the wallet" subroutine...
10020 print"$"mid$(str$(dn),2);
10030 return
This sounds strange. Is there a weeks bug or not? I didn't pay much attention to the week count while play-testing, so I'll check whenever possible. As for healing potions, I noticed it. It's probably my mistake: while trimming the fat from the C64 version, I trimmed too much.Kananga wrote:Played it again last night on my VIC-20 and had great fun. I didn't notice wrong week counts. But yesterday the only healing potions going to the inventory were the ones I bought.
If there is the message "A HEALING POTION" after a fight, it shows up nowhere. The one got as reward from a quest vanished, too.
Everything else worked, no ?out of memory or other error this time.
IMHO, it's better than the on-screen garbage that appeared in early versions. Let's say we'll have a poll about it (I'm democratic ).Kananga wrote:Personally, I don't like the picture preview much. It looks a bit less professional to me. But that's just a matter of personal preferences.
This would be useful, especially on the real hardware, but will eat some bytes more from RAM...Kananga wrote:If you really have some spare time left it wouldn't hurt to always clear the keyboard buffer before reading a key. On my VIC, I have to hammer on the keys to make contact and sometimes that results in two key presses (debouncing insufficient). This could be leveraged by only accepting the requested keys. For example, I use 'z' whenever I have to press _any_ key. But this is also accepted as a choice for '1' (run) or '2' (fight). In that case '1', so I ended up trying to run away in fights, where I didn't want.
WOW! You're the first one to complete the game... I did it before with the C64 version, which has the same parameters for becoming a hero, but never won TGA without cheating with variables . BTW, e5frog, to win the game you must have all stats >19 and a combat skill >200.Kananga wrote:Great game! Finished it once again yesterday.
What is your record for no. of days until becoming a hero?
- orion70
- VICtalian
- Posts: 4341
- Joined: Thu Feb 02, 2006 4:45 am
- Location: Piacenza, Italy
- Occupation: Biologist
Here's TGA_v7.
Fixes and improvements:
- No more OS$(X). The count of single or multiple objects is kept by the corresponding numeric variables KT, KF, KA, and KS. The free RAM should now be enough to avoid any possible ?out of memory error.
- Healing potions found "poking around" or bought in the shop do not disappear anymore.
- Money subroutine implemented (no more space between $ and money).
- Controlled the week count, but it seems to be OK. Weeks to go and back from single adventures are always counted from week 1 (of the sub-adventure), then when you're back home (inn) you see the grand total.
- I left the picture preview for now (sorry Kananga).
- The keyboard buffer is always kept clean by a GET subroutine called at every keypress.
- Last: when you finish an adventure, you're back IN the inn .
Have fun.
Fixes and improvements:
- No more OS$(X). The count of single or multiple objects is kept by the corresponding numeric variables KT, KF, KA, and KS. The free RAM should now be enough to avoid any possible ?out of memory error.
- Healing potions found "poking around" or bought in the shop do not disappear anymore.
- Money subroutine implemented (no more space between $ and money).
- Controlled the week count, but it seems to be OK. Weeks to go and back from single adventures are always counted from week 1 (of the sub-adventure), then when you're back home (inn) you see the grand total.
- I left the picture preview for now (sorry Kananga).
- The keyboard buffer is always kept clean by a GET subroutine called at every keypress.
- Last: when you finish an adventure, you're back IN the inn .
Have fun.
- orion70
- VICtalian
- Posts: 4341
- Joined: Thu Feb 02, 2006 4:45 am
- Location: Piacenza, Italy
- Occupation: Biologist
Reconsidering the BASIC listing, I noticed a redundance in the stats visualization routine (corrected), which caused the error.
Let's take a look at the program: EE is the variable checked for becoming a hero (together with the combat skill AT>200), and must be =6.
EE is increased by 1 every time an adventure is over, you get back in the inn, and you have one stat >19. But EE was increased TWICE for every stat!
Before:
After:
Now if you don't have EE=6, i.e. ALL stats >19, EE is reset to zero and another adventure begins:
Thanks for this bug report! Please DOWNLOAD TGA_V7 AGAIN!!!
Sorry for the bug, but it was already present in the C64 version, and this also explains why I managed to win the game 20 years ago .
Let's take a look at the program: EE is the variable checked for becoming a hero (together with the combat skill AT>200), and must be =6.
Code: Select all
620 ifee=6andat>200then6120
Before:
Code: Select all
300 iffo>19thenee=ee+1:fo=20
310 print"{down}st = "fo:iffo>19thenee=ee+1:fo=20
320 ifin>19thenee=ee+1:in=20
330 print"in = "in:ifin>19thenee=ee+1:in=20
340 ifde>19thenee=ee+1:de=20
350 print"de = "de:ifde>19thenee=ee+1:de=20
360 iffr>19thenee=ee+1:fr=20
370 print"lu = "fr:iffr>19thenee=ee+1:fr=20
380 ifro>19thenee=ee+1:ro=20
390 print"en = "ro:ifro>19thenee=ee+1:ro=20
400 print"en = "rf" (actual)"
410 iffa>19thenee=ee+1:fa=20
420 print"ch = "fa:iffa>19thenee=ee+1:fa=20
Code: Select all
300 iffo>19thenee=ee+1:fo=20
310 print"{down}st = "fo
320 ifin>19thenee=ee+1:in=20
330 print"in = "in
340 ifde>19thenee=ee+1:de=20
350 print"de = "de
360 iffr>19thenee=ee+1:fr=20
370 print"lu = "fr
380 ifro>19thenee=ee+1:ro=20
390 print"en = "ro
400 print"en = "rf" (actual)"
410 iffa>19thenee=ee+1:fa=20
420 print"ch = "fa
Code: Select all
630 ee=0
Sorry for the bug, but it was already present in the C64 version, and this also explains why I managed to win the game 20 years ago .
Now with being able to collect healing potions during adventures it should be a piece of cake!orion70 wrote: Sorry for the bug, but it was already present in the C64 version, and this also explains why I managed to win the game 20 years ago .
Thanks for the quick fix!
Buy the new Bug-Wizard, the first 100 bugs are free!
- e5frog
- Vic 20 Nerd
- Posts: 551
- Joined: Sat Feb 17, 2007 5:46 pm
- Website: http://channelf.se
- Location: Sweden
- Occupation: Service Engineer
OK, so for some reason, when on a mission the weeks starts to count on 1 again, week 1 passes, week 2 passes. I fight, I win and then it's week 1 again... So I guess weeks are counted from 1 again on the way back as well.
Last edited by e5frog on Mon Aug 23, 2010 7:06 am, edited 2 times in total.
My other interest: http://channelf.se
- orion70
- VICtalian
- Posts: 4341
- Joined: Thu Feb 02, 2006 4:45 am
- Location: Piacenza, Italy
- Occupation: Biologist
Exactly! In the original Italian game, the message was:
and then1' settimana di viaggio verso...
(Week 1 of travel towards...)
I know it can be confusing, but it's also useful to keep track of the time passed in every single sub-adventure, while the grand total of weeks is useful only when you become a hero - so I kept this as it was.1' settimana di ritorno da...
(Week 1 back from...)
- e5frog
- Vic 20 Nerd
- Posts: 551
- Joined: Sat Feb 17, 2007 5:46 pm
- Website: http://channelf.se
- Location: Sweden
- Occupation: Service Engineer
If a demon has dexterity 17 and I initially hit him with a 12 pts wound - how could I kill him? Isn't the dexterity in this fight the points that it will be drawn from?
Why doesn't say "week 1 of tavelling" or something like that instead of just "WEEK 1"?
Why doesn't say "week 1 of tavelling" or something like that instead of just "WEEK 1"?
My other interest: http://channelf.se
- orion70
- VICtalian
- Posts: 4341
- Joined: Thu Feb 02, 2006 4:45 am
- Location: Piacenza, Italy
- Occupation: Biologist
Dexterity is a character's dexterity (ehm), not endurance: it only determines who attacks first. The endurance of your foe is determined by the variable HR
which I left untouched from the original game, as well as all the other variables, because I liked the game mechanics as they were (this is a port, not an entirely new game). This is the reason why your adversary's endurance is not shown during the combat: I like the way it was, you never know when he's going to die.
Week 1 of travelling or something will be added in future versions.
Again, I'd like to stress the following:
1) It would be better if suggestions, bugs etc were posted BEFORE and not just one moment AFTER a new version has been issued
2) Anyone reading this post should feel absolutely free to modify the game as he wants, either to post a better version for everyone's pleasure -and credits will be reported in the game page-, or for his personal use.
Sorry for being rude, but after 20 days of almost continuous work on this game and seven versions of it, I'd like to move on with something else on my good old VIC.
Code: Select all
hr=((int(6*rnd(0))+1)+(int(6*rnd(0))+1)+6)
Week 1 of travelling or something will be added in future versions.
Again, I'd like to stress the following:
1) It would be better if suggestions, bugs etc were posted BEFORE and not just one moment AFTER a new version has been issued
2) Anyone reading this post should feel absolutely free to modify the game as he wants, either to post a better version for everyone's pleasure -and credits will be reported in the game page-, or for his personal use.
Sorry for being rude, but after 20 days of almost continuous work on this game and seven versions of it, I'd like to move on with something else on my good old VIC.
- e5frog
- Vic 20 Nerd
- Posts: 551
- Joined: Sat Feb 17, 2007 5:46 pm
- Website: http://channelf.se
- Location: Sweden
- Occupation: Service Engineer
You didn't HAVE to "correct" everything right away, just add it to a list and see what to use and what not.
... and I seem to be good at this, pointing out mistakes to programmers until they give up, it's not the first time.
Sorry for that.
My other interest: http://channelf.se