Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
Well, I have been looking around and it seems as though Puzzle Frenzy has yet to be ported to the CSE calculators. I have never tried to write an assembly program for the CSE, but I feel that this would be a fun project to work on. Any ideas and help would be much appreciated! Smile

Download: Puzzle Frenzy

Latest Screenshot:
Awesome idea! You are also in the right place should you need any help with coding along the way Smile.
Well, work is coming along quite nicely now that I took a look at this link:
http://en.wikipedia.org/wiki/Binary-coded_decimal
Wow. What a great method to store both color and data into a single byte.

Here's a screenshot of the current progress -- all it is is a little menu that doesn't do anything. Smile

This looks pretty nice so far. I liked that game a lot so it's nice to see it ported to the color 84+ model. So far there are only 84+ and Nspire versions.
That looks great so far! Are you using z80 ASM or hybrid BASIC, as that looks like it could have been created by either one? If ASM, are you using the DCSE routines to display that and the DCSE header to set half-resolution mode, or am I getting carried away with myself?
KermMartian wrote:
That looks great so far! Are you using z80 ASM or hybrid BASIC, as that looks like it could have been created by either one? If ASM, are you using the DCSE routines to display that and the DCSE header to set half-resolution mode, or am I getting carried away with myself?


Thanks! (It will hopefully look better once I get more accustomed to the C edition) This is just z80, and for now I am just using pure z80 in order to get a grasp of the differences in the LCD.

Does anyone have any great ideas on how to check if the surrounding blocks matched? I was thinking along the lines of a table, which is set up some thing like this:

Table:
Line One Data
Line Two Data
Line Three Data
...

and then shift each one over after the new one appears. That way it won't have to become to complicated... Are there any other ways?
Just googled it, so is it like a candy crush type of game? One where you move pieces around to match pairs?
APotato: Kind of. Yeah.

Mateo: Awesome work! I saw this earlier and decided it had been a while since I've played it, so guess what I did in math? And by table, is that the same as an array?
MateoConLechuga wrote:
Does anyone have any great ideas on how to check if the surrounding blocks matched? I was thinking along the lines of a table, which is set up some thing like this:

Table:
Line One Data
Line Two Data
Line Three Data
...

and then shift each one over after the new one appears.
Yes, you essentially want an array of items, with a value representing each block. If the array starts at memory address M, then if each item is one byte, the item at row Y, column X would be at M+(Y*row_length)+X. You can than scan (from the current item in the array) +1 and -1 position for the items on each side, and +(row_length) and -(row_length) for the items above and below. Does that makes sense?
Of course! The table is probably going to be the easiest; can't wait to get to the tile clearing routine. Smile Well, here's a screen shot of the latest progress; it is shifting at 1 pixel each iteration, so it is going to be fast enough for what I have in mind. Don't worry about the flicker, that is just it being updated super fast. Smile



Original:
Wow looking great! And yay, I love puzzles Smile
Okay, quick question for anyone who can do this the fastest... Smile

So, take this data:

Code:
   .db   2,3,4,5,6,1,1,1,1,1


And shift it into this!

Code:
   .db   1,2,3,4,5,6,1,1,1,1


You can chop off the last digit in the first one, and place a one in the front of the second. Thanks! Smile

EDIT:
I think this is the fastest: (Thanks Kerm!)

Code:
    ld hl,Table + 8
    ld e,l
    ld d,h
    inc de
    ld bc,9
    lddr
    ld (hl),1
Faster and smaller: exploiting the little-used lddr:
Code:
    ld hl,Table + 8
    ld e,l
    ld d,h
    inc de
    ld bc,9
    lddr
    ld (hl),1
Oh, of course! Thank you -- totally blanked on that. Smile

EDIT:
Well, here's another update of the progress -- Right now it is moving at exactly 1/16 of its fastest speed, and can only check if it should move empty blocks back. Once I figure out a good method to horizontally clip packed sprites, the blocks will slide in rather than jump in. Smile

This is looking great! Are you using the DCSE sprite routines, out of curiosity? Regardless, keep up the excellent work.
KermMartian wrote:
This is looking great! Are you using the DCSE sprite routines, out of curiosity? Regardless, keep up the excellent work.


Unfortunately, no. Sad This is because I am considering making it an app because storing 60 levels might take some room.

Update: Now all block clearing routines are written, along with the score. I will probably change the layout to make it look fancier Wink, but for now it is purely in the testing phase.

Edit: Considering how I set up the colors, it might be possible to allow the user to change the colors of blocks...

Hmm kind of reminds me of Dino puzzle. Does puzzle mode work yet?
APotato wrote:
Hmm kind of reminds me of Dino puzzle. Does puzzle mode work yet?


Yes and no. Since it is basically the same thing, just without movement, puzzle mode is not too far off. Smile Have you tried the original to compare it with?
No, I haven't been able to persuade my sister to let me borrow her calc. But I don't need to see it to know that this version is looking way better already!
MateoConLechuga wrote:
KermMartian wrote:
This is looking great! Are you using the DCSE sprite routines, out of curiosity? Regardless, keep up the excellent work.


Unfortunately, no. Sad This is because I am considering making it an app because storing 60 levels might take some room.


Don't compile the 60 levels in. Load them externally.
  
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 4
» All times are GMT - 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