Jump to content
IGNORED

Oh the possibilities ! This thread contains changable WIP


TEXAS_JOE

Recommended Posts

Gonna have to look at this. Wilhelms definitely does some awesome stuff. I still miss sprites with it... My only foray was compiling Bloxotiz. But, as long as you don't want backgrounds or don't mind visual glitches, it can work really nicely.

 

Oh - and there was some key-press bug I found - and posted a workaround for...

Link to comment
Share on other sites

Just for kicks, here's the same thing in TurboForth. It's possible to write it much more compactly than this, but I wanted to write something that was clearly and readable (as much as Forth permits!)

 


--BLOCK-00050---------
1 GMODE  HEX
: SOLID DATA 4 FFFF FFFF FFFF FFFF ;
: FACE DATA 10 030F 1F1F 310E 6FAE B19F 9B8C 4702 020E
		   C0F0 F8F8 8C70 F675 8DF9 D931 E240 4070 ;
SOLID 28 DCHAR  SOLID 30 DCHAR  FACE 38 DCHAR
5 3 0 COLOR  6 0D 0 COLOR  DECIMAL

12 6 40 20 HCHAR  13 4 48 24 HCHAR
14 2 40 28 HCHAR  15 0 48 32 HCHAR ;
FORGET SOLID ( delete SOLID and everything after it)

10 VALUE X  10 VALUE Y

: EUGENE X Y GOTOXY ." 8:"  X Y 1+ GOTOXY ." 9;" ;
: ERASE  X Y GOTOXY ."   "  X Y 1+ GOTOXY ."   " ;
-->

--BLOCK-00051---------
: MOVE KEY? CASE
   ASCII Z OF
  ERASE -1 +TO X  X 0< IF 30 TO X THEN EUGENE
   ENDOF
   ASCII X OF
  ERASE 1 +TO X  X 30 > IF  0 TO X THEN EUGENE
   ENDOF
 ENDCASE ;

: FLASH1 5  3 0 COLOR 6 13 0 COLOR ;
: FLASH2 5 13 0 COLOR 6  3 0 COLOR ;

: MAIN-LOOP EUGENE BEGIN
   FLASH1 MOVE FLASH2 MOVE
 AGAIN ;
MAIN-LOOP

 

http://www.youtube.com/watch?v=_uKz08XgHHE

 

Use Z & X. It's very fast. It's impossible to move Eugene by just one character left or right. It's just too fast for that.

 

Oh well, that was fun!

Link to comment
Share on other sites

Just for kicks, here's the same thing in TurboForth. It's possible to write it much more compactly than this, but I wanted to write something that was clearly and readable (as much as Forth permits!)

.

.

.

 

Oh well, that was fun!

 

Very nice, Mark! :thumbsup:

 

...Except, it will not work as written :( . I know you know what follows. I just say it for the Forth novices: Line 6 of screen 50 FORGETs FACE twice due to the fact that FORGETting SOLID already FORGETs FACE because FACE was defined after SOLID. Attempting to FORGET it a second time interrupts LOADing because there is no previous instance of FACE. The code should be:

 

FORGET SOLID  DECIMAL

 

or probably what you intended for instructional purposes:

 

FORGET FACE  FORGET SOLID  DECIMAL

 

...lee

Link to comment
Share on other sites

Well spotted. However if you try to FORGET a word that doesn't exist TF will just silently ignore your request and carry on, which is why it works, I guess, as evidenced by the video.

 

Of course, I *intended* to make that error, and was just waiting to see if anyone spotted it ;-)

 

Ahem! ...

Link to comment
Share on other sites

Okay, I corrected the code above in line with Lee's comments. SOLID (and everything after it) is removed from memory since they are only needed once, so there's no need to keep all the graphics definitions etc in memory. The code after the FORGET line is compiled over the top of the old code. Consequently the code takes up around 320 bytes and could be shorter if one used shorter word names.

 

Okay, enough! Sorry Texas Joe, I didn't mean to hijack your thread!

Link to comment
Share on other sites

:) you haven't hijacked my thread. This thread is all about 'possibilities' ..... anyone can put absolutely anything they want in here ..... Forth, Pascal, XB, TIB, Assembly, whatever .... if you have a small or even a large program that you want to show just stick it in here , its not just for me, its for all of us. ;)
Link to comment
Share on other sites

  • 2 weeks later...

Oh the possibilities !

 

I like the enthusiasm !

 

Decided to give Wilhelms a try again , and do something Buck Rogers ish .... Gotta say, the speed is quite awesome and who needs sprites when a 2-character space ship can move like this ?!

 

Yep, TI Extended Basic (without the sprites and a few more things) is "easy". Think of a way to do something (like in an effect or demo) and do it (more or less). Then put it through Wilhelms, and, as you say, "the possibilities" seem almost endless. Color Clash is a very nice example.

 

Use keys Z and X for left and right ...........

 

Guess that's good for the real iron. Do you have to remember to use Caps Lock for this one to work ? Personally, being an emulator-only guy, I would prefer the joystick - always (yep, arrow keys etc. in Classic99 among others).

 

Do you have any form of speed control in this Buck one ? I used CALL SOUND to hold a frame and securing 1/60th of a second elapse in my Shooting Stars.

Link to comment
Share on other sites

Oh the possibilities !

 

I like the enthusiasm !

 

Decided to give Wilhelms a try again , and do something Buck Rogers ish .... Gotta say, the speed is quite awesome and who needs sprites when a 2-character space ship can move like this ?!

 

Yep, TI Extended Basic (without the sprites and a few more things) is "easy". Think of a way to do something (like in an effect or demo) and do it (more or less). Then put it through Wilhelms, and, as you say, "the possibilities" seem almost endless. Color Clash is a very nice example.

 

Use keys Z and X for left and right ...........

 

Guess that's good for the real iron. Do you have to remember to use Caps Lock for this one to work ? Personally, being an emulator-only guy, I would prefer the joystick - always (yep, arrow keys etc. in Classic99 among others).

 

Do you have any form of speed control in this Buck one ? I used CALL SOUND to hold a frame and securing 1/60th of a second elapse in my Shooting Stars.

 

Yes the caps lock has to be used , although on most of my games I code for both cases lower and upper .... speed control is by a very small FOR - NEXT loop as far as I remember.

Link to comment
Share on other sites

Here's another game, it's still in the "BETA" stage as yet, due to certain graphical issues, (one of the egyptian eye symbols appears to have a cataract!) ......but I could'nt wait to show it to you all ....

It's a fruit machine/bandit game called LUXOR and it has an egyptian theme .... you may like it!LUXOR.zip

 

Press any key to roll the reels ...

  • Like 1
Link to comment
Share on other sites

Thankyou, It's still being worked on here, I have made the necessary alterations to the graphics and I am at this very moment trying to get the reels to roll just a little bit slower, so you can physically see the graphics when it does roll. They are nice and fast but a little TOO fast at the moment.

 

The reels are in order, each on has a sequence, the randomiser simply stops the reel at random moments. I wanted to do it that way, rather than simply blast up random shapes onto the screen. (I like to call them virtual reels) ..... eg;

 

reel 1 2 3

x + e

----- + x x ----- winline

+ + x

x e +

e x +

 

The way it works is , it displays the bottom half of x + e at the top, the whole of + x x in the middle and the top half of + + x at the bottom ..... if you know what I mean.

 

It took some doing ..... a lot of messing around!

Link to comment
Share on other sites

So that Buck Rogers demo would be essentially impossible on the TI99? The ship part?

 

I guess you're referring to post #9.Yes, ship part impossible on the TI.

 

I have several TI based Flash projects in the drawer with most of them within the original chipset (possibilities of 9900, 9918A, 9919 and 5220). I'll put something up if and when I have something to show.

Edited by sometimes99er
Link to comment
Share on other sites

Yes, I agree ..... that is something I have been thinking about for a while now, how to spin all the reels at once .... and the only solution I can come up with (For now) is to give the illusion of all reels spinning, and have them stop one at a time showing the relevant reel positions as they would be.

 

I can't think of how to get them all to spin at once properly.

Link to comment
Share on other sites

Each reel could have a state in R(1), R(2) and R(3). Let's say each reel is 32 fruits. Whatever value is in whatever reel, you add 1 and secure a range within 0 and 31. Now if a reel has the value of 32, it could mean that the reel has stopped.

 

100 FOR REEL=1 TO 3

110 COUNT=INT(RND*30)+10

120 FOR I=1 TO 3

130 IF R(I)=32 THEN 160

140 R(I)=(R(I)+1) AND 31

150 DISPLAYREEL(I,R(I))

160 NEXT I

170 COUNT=COUNT-1

180 IF COUNT>0 THEN 120

190 R(REEL)=32

200 NEXT REEL

Edited by sometimes99er
Link to comment
Share on other sites

  • 2 weeks later...

Unfortunately I have lost the original source file for this game, as I had an hard drive cleanup the other week, (thats how I found Chutes n Sharks, it was in my Windows folder of all places) ... but thankyou for you're example code, I will use that in future fruit machine games (I have one planned already but it's a way off yet)

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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...