Will add screenshots when/if I find my cable.

While procrastinating finishing MOVE3, I made a sort of color-guessing game; it's hard to explain without screenshots... so I won't. http://game.ioxapp.com/color/ is basically what it is, but there's an ASCII option as well where you pick the '1' out of a grid of 'l's or the theta out of a grid of 0s. (note that the ASCII option doesn't have color, although as Kerm mentions below I could and probably should use DispColor for that, since there aren't that many characters that look alike aside from theta/0 and 1/l)

TO DO:

-Finish high-score recording and game saving
-Add difficulty levels for the color section (currently there's only four squares and the OS colors make it pretty easy to tell which is the odd one out. more squares=harder)
-make it faster (it's fast enough as is, but it could be better)
-add a timer
-a lives system, maybe?
You know, you could use the DispColor function in Doors CSE to make this much, much more challenging, as it can display text in any 16-bit color. Documentation: http://dcs.cemetech.net/index.php/DCSE:BasicLibs:DispColor
KermMartian wrote:
You know, you could use the DispColor function in Doors CSE to make this much, much more challenging, as it can display text in any 16-bit color. Documentation: http://dcs.cemetech.net/index.php/DCSE:BasicLibs:DispColor


Can't believe I didn't think of using hybrid BASIC libs for this, they'd have made it soo much easier... I think I'll keep what I have now (since it's nearly finished, anyway) then make a second program using hybrid libs.
Neat game; managed to get to lv23 before I couldn't really tell the difference. Smile Hybrid libraries would indeed make this quite a bit easier. Wink How are you doing the user selection?
MateoConLechuga wrote:
How are you doing the user selection?


In the ASCII mode, a + sign flashes over the currently selected character, and you use the arrow keys to move the selector.

I can't find my calc cable currently, but here's a rough approximation of what the color mode looks like, made with GIMP:



The user can select in both modes with either 2nd or ENTER- the graph screen uses a Pxl-Test() to detect whether the user is correct or not, while the ASCII version uses a matrix.
Oh, so its kind of like Simon?
You get bonus points for making that mockup in GIMP, M. I. Wright. Smile A possible refinement: you could position the colors over the F1-F4 keys, and Quit over F5? Or you could put them in a square, and use [1], [2], [4], and [5] to select the color? I'm trying to think of ways to save people having to move a selector. Smile
Unicorn wrote:
Oh, so its kind of like Simon?


Sort of, yeah.

KermMartian wrote:
You get bonus points for making that mockup in GIMP, M. I. Wright. Smile A possible refinement: you could position the colors over the F1-F4 keys, and Quit over F5? Or you could put them in a square, and use [1], [2], [4], and [5] to select the color? I'm trying to think of ways to save people having to move a selector. Smile


Good ideas! Now that I think of it, it's definitely a good idea to get rid of the selector-- especially if I'm going to add a timer. I think the number-key thing is my best bet, as it would allow me to add up to 9 squares (or 11, if you count the bottom 3) to correspond with the keypad. I think I'll do that right now, actually! That'll also get rid of the need for the complicated Pxl-Test() system I had to check if the user selected the right square, as I can just assign a number to the correct square, then do something like

Code:

[key value of correct square]→A
Repeat 0
getKey→K
"This'll also eliminate the need for xLIBC's real(2,0,0) since TI sorts the non-arrow keys much more efficiently
"
If K=A
Disp "You win!"
End


Wow, this is actually better than I thought it'd be. Be right back while I fix it!

Edit: in the code above, I wrote "This'll also eliminate the need for xLIBC's real(2,0,0) since TI sorts the non-arrow keys much more efficiently"

however, I think I'll have to redact that- I was thinking of doing this for the random odd-one-out generation:

Code:

Repeat R=(one of the key values)
randInt(lowest keypad value, highest keypad value→R
...
Output(X,Y,[a square],1,10+8(R=[key value of this square])
"The final argument is color-- 10 is blue, 18 is light blue.
.

TI-BASIC's keypad values for 7-9, 4-6 then 1-3 are 72, 73, 74, 82, 83, 84, 92, 93 and 94 respectively. The difference between the highest and lowest value is 22.
xLIBC's real(2,0,0)'s values for 3-9, 2-8 and 1-7 (going by column rather than row), on the other hand, are 18, 19, 20, 26, 27, 28, 34, 35, and 36 respectively - the difference between the highest and lowest values here is 18.
remember that I'm using randInt() to generate the mismatched square, so a lower number of possible options [randInt(18,36) as opposed to randInt(72,94) with the condition that it has to be a key value] will be faster to calculate... basically what I'm trying to say is that I'm probably going to end up using xLIBC anyway.

Unicorn wrote:
Oh, yeah, I forgot to ask, what happens if you are color blind?


You select the ASCII option Razz (or, if that doesn't seem like fun to you, you can play in color and pretend you're playing on hard mode)
Oh, yeah, I forgot to ask, what happens if you are color blind?
aaaand the xLIBC part is done! That was surprisingly easy.
I ended up taking Kerm's suggestion about the keypad, so 1-6 correspond with their respective squares on the screen.

Here's a demo: (I pressed 2)
Nice work! Smile Are you thinking of including keys 1-9, or just 1-6? Is that the xLIBC routine that is drawing those boxes? I feel like having more elements on the screen definitely made it more difficult.
Unicorn wrote:
Oh, yeah, I forgot to ask, what happens if you are color blind?
Then this is probably not the best game for you to play. Razz

MateoConLechuga wrote:
Nice work! Smile Are you thinking of including keys 1-9, or just 1-6? Is that the xLIBC routine that is drawing those boxes? I feel like having more elements on the screen definitely made it more difficult.
I suggested using the xLIBC rectangle routines to draw rectangles without turning on half-resolution mode. I'm sufficiently impressed that M. I. Wright figured out how to do this with minimal guidance. It looks great, not to mention fast!
KermMartian wrote:
MateoConLechuga wrote:
Nice work! Smile Are you thinking of including keys 1-9, or just 1-6? Is that the xLIBC routine that is drawing those boxes? I feel like having more elements on the screen definitely made it more difficult.
I suggested using the xLIBC rectangle routines to draw rectangles without turning on half-resolution mode. I'm sufficiently impressed that M. I. Wright figured out how to do this with minimal guidance. It looks great, not to mention fast!


Thank you, and yes- it's definitely both!

I finished it last night after I last posted, complete with a timer, lives, a high score system and everything. I ended up removing the ASCII part because a) the main focus is really on the color part, and I didn't want to take away from that, and b) the selector was giving me trouble. I might add it back later, though.

Here's a playthrough (I couldn't embed it because Cemetech doesn't recognize .gifv files, and the .gif version is stupidly large):
http://i.imgur.com/LihGN9g.gifv
(after I recorded this I ended up adding an 'instructions' option in the main menu)

About halfway through it shows an annoying bug that I haven't been able to squash: every other time you exit to main menu then reopen the game, the LCD updating gets messed up, causing the text to appear in two different locations on the screen. This only happens on the first level, though- after that the text renders fine, but it could be confusing for a beginner who's opening the game for the first time.

--

Edit: Uploaded the file to archives! It's currently awaiting approval.

MateoConLechuga wrote:
Nice work! Smile Are you thinking of including keys 1-9, or just 1-6?
Kerm answered your other questions nicely, so I'll just say that I'm definitely considering adding three more squares. It wouldn't be that hard to do and would make the game much more difficult... I have schoolwork, though, so that won't happen today. Sad
  
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