If you touch any of the walls (X) you die. You also die if you touch the arrows or if you fall into a trap. The traps are the hardest; on the screenshot there is actually only 1 way through, the other 14 combinations will make you die (which doesn't mean you die as soon as you finish the route, in every row of 5 openings there is simply only 1 trap-free). I made it that hard on purpose, but when I get to make it bigger (more than the 6 levels I currently have) I'll remove the excessive traps, since they don't have anything to do with skill.
Back on topic: Usually, I'd suggest you'd try to make a map you can move around in with some obstacles (first time I tried my calc had to redraw the entire thing for every step taken), but since you already have some C++ experience (I hardly count game maker, it's nothing like programming even if you are a pure GML programmer) I'd say you could simply start making something!
Some examples of practice projects would include: -A maze game -A "Catch" game -A platformer (harder than the previous two, but because of it's largeness it's a good practice nonetheless) -A level editor for a maze game (HARD but if you can actually pull this off the game is probably good enough to upload here )
I am currently working on a small RPG game programmed in the language the fx-9860GII uses (some kind of BASIC, but not TI-BASIC), but there is a problem. I've got a first, primitive battle system working but there is a problem. When the character dies in battle, the program functions normally; it returns to the Map-Routine and refills the characters HP and the next battle will start normally. But when the character wins in battle, the second battle only shows the attack animations of the character and the monster without even drawing the character or the monster, and then displays the character has won the battle again. The battle started after that works normally. I think this has something to do with using the return statement and then starting the program you returned from again, but I'm not sure. So here is the code for the routines ([DISP] means the DISP command):
Lbl A 1->B Locate 1,1,"******* ****** ******" Locate 1,2,"****** **** ******" Locate 1,3,"***** *10* *****" Locate 1,4,"*** 3 *** ***" Locate 1,5,"** * *" Locate 1,6," * 6 *" Locate 1,7,"@ *** **" List 1[5]>=3=>Locate 7,4,"@" List 1[5]>=6=>Locate 16,5,"@" List 1[5]>=10=>Locate 11,3,"*@" Lbl 0 If D=1 Then 0->D List 1[1]->H IfEnd If B=1 Then Locate 1,6,"\/" Locate 7,3," " Locate 16,5," " Locate 12,4,"*" IfEnd If B=2 And List 1[5]>=3 Then Locate 7,3,"\/" Locate 1,6," " Locate 16,5," " Locate 12,4,"*" IfEnd If B=3 And List 1[5]>=6 Then Locate 16,5,"\/" Locate 1,6," " Locate 7,3," " Locate 12,4,"*" IfEnd If B=4 And List 1[5]>=10 Then Locate 12,4,"^" Locate 1,6," " Locate 7,3," " Locate 16,5,"*" IfEnd Getkey=27 And B=1 And List1[5]>=3=>B+1->B Getkey=27 And B=2 And List1[5]>=6=>B+1->B Getkey=27 And B=3 And List1[5]>=10=>B+1->B Getkey=27 And B=4>=3=>B+1->B Getkey=38 And B=1 And List 1[5]>=10=>B-1->B Getkey=38 And B>2=>B-1->B B>4=>1->B B<1=>4->B Getkey=31 And B=1=>Goto 1 Getkey=31 And B=2 And List1[5]>=3=>Goto 2 Getkey=31 And B=3 And List1[5]>=6=>Goto 3 Getkey=31 And B=4 And List1[5]>=10=>Goto 4 Getkey=78=>Goto 5 Goto 0 Lbl 1 Prog "RPGL1" Goto A Lbl 2 Prog "RPGL2" Goto A Lbl 3 Prog "RPGL3" Goto A Lbl 4 Prog "RPGB1" Goto A Lbl 5 Prog "RPGMENU" D=1=>Return Goto A
I have no idea what might have gone wrong, can anybody help?
Here are some screens of A-GAMES, even though I simply used the screen receiver and made some screenshot on the pc. Main Menu
Maze Creeper level 4
Impossible Quiz Question 8
Catch
Note two things though; the impossible quiz is in dutch, not in english, and the 'catch' game is my own version of what Jake Finley or huhn_m made on this website
I had an idea like this, I called it A-GAMES, currently holding 3 games (a maze game with traps, a catch game that's very boring but with some really funny cheats and a calc-variant of the impossible quiz). The differences are that my games are much larger and not programmed in TI-BASIC but in the BASIC-variant on the fx-9860GII. The downsides are that I can't upload any screenshots since the fx-9860GII doesn't have anything like thet, let alone make a short movie...
Never mind, I found out already. The easiest way is to use (X={} AND Y={}) OR (X={} AND Y={}) multiple times, so you can get all of the possible death locations in one if-statement.
I'm creating a simple maze-like game on my fx-9860GII, but there's one thing taking a huge amount of data and time. The goal of the game is to move a dot (.) between the crosses (X) towards the exit (O). There are also fake exits (looks exactly the same as a real exit). Touching a cross or fake exit adds 1 to the death counter (which decreases your score after completing all of the levels by 2500 per death) and resets the level. Every step you take also decreases 100 from your final score.
The problem is not the positioning of the crosses, (fake) exits and the dot, but the death system is. Level 1 and 2 are respectively 3220 and 5344 in size. They just contain this bit of code, repeated over and over again:
(Everything between {} is either a command I can't type or a number that differs throughout the code and [] are comments)
Spoiler For Spoiler:
If X={x-coordinate of cross/fake exit} [Determines the x-coordinate of the cross/fake exit] Then If Y={y-coordinate of cross/fake exit} [Determines the y-coordinate of the cross/fake exit] Then ClrText [Clears the screen] Locate 7,2,"YOU DIED"{disp_command} [Displays "YOU DIED" text] D+1-->D [Adds 1 to the death variable] Prog "LEVEL1" [Restarts the level] IfEnd [Ends the x-coordinate If-statement] IfEnd [Ends the y-coordinate If-statement]
I was wondering whether there is a more efficient way to do this instead of repeating this (with variations for completing the level and hitting a fake exit). I'm asking because I also recently learned how to get rid of the tracks the dot leaves behind without being required to draw all of the crosses and (fake) exits again per step.
Not really a one-liner, but still pretty small game written on my fx-9860 GII (yes on the calc itself, using the program function, not very efficiënt but whatever):
Spoiler For Spoiler:
“PRESS ANY NUMBER AND THEN EXE TO BEGIN” ? --> A CLRTEXT RAN# --> A LOCATE 1,2,A IF A<0.9 THEN LOCATE 12,2,”<0.9” LOCATE 1,3,”SUCCESS!” LOCATE 1,4,”LEVEL 1 COMPLETE” LOCATE 1,5,”PRESS ANY NUMBER AND” LOCATE 1,6,”THEN EXE TO CONTINUE” ? --> A CLRTEXT RAN# --> B LOCATE 1,2,B IF B<0.75 THEN LOCATE 12,2,”<0.75” LOCATE 1,3,”SUCCESS!” LOCATE 1,4,”LEVEL 2 COMPLETE” LOCATE 1,5,”PRESS ANY NUMBER AND” LOCATE 1,6,”THEN EXE TO CONTINUE” ? --> A CLRTEXT RAN# --> C LOCATE 1,2,C IF C<0.45 THEN LOCATE 12,2,”<0.45” LOCATE 1,3,”SUCCESS!” LOCATE 1,4,”LEVEL 3 COMPLETE” LOCATE 1,5,”PRESS ANY NUMBER AND” LOCATE 1,6,”THEN EXE TO CONTINUE” ? --> A CLRTEXT RAN# --> D LOCATE 1,2,D IF D<0.2 THEN LOCATE 12,2,”<0.2” LOCATE 1,3,”SUCCESS!” LOCATE 1,4,”LEVEL 4 COMPLETE” LOCATE 1,5,”PRESS ANY NUMBER AND” LOCATE 1,6,“THEN EXE TO CONTINUE” ? --> A CLRTEXT RAN# --> E LOCATE 1,2,E IF E<0.05 THEN LOCATE 12,2,”<0.05” LOCATE 1,3,”SUCCESS!” LOCATE 1,4,”LEVEL 5 COMPLETE” LOCATE 1,5,”YOU WON! CONGRATULATIONS!” LOCATE 1,6,”PRESS ANY KEY TO FINISH” ELSE LOCATE 12,2,”>0.05” LOCATE 1,3,”FAIL…” IFEND ELSE LOCATE 12,2,”>0.2” LOCATE 1,3,”FAIL…” IFEND ELSE LOCATE 12,2,”>0.45” LOCATE 1,3,”FAIL…” IFEND ELSE LOCATE 12,2,”>0.75” LOCATE 1,3,”FAIL…” IFEND ELSE LOCATE 12,2,”>0.9” LOCATE 1,3,”FAIL…” IFEND
It wasn't intended to be defensive, it was intended to be an inside-joke, for people who know the weird MSPAforums. But I don't think I'm going to be able to learn C++. It took people who are years older than me (on a university) months to learn C++ with a teacher. I mean, come on! How am I going to be able to do that before I go to university myself! But I'm not demotivated in any way; these forums are great and I don't need to be a programmer to be here. I'm just going to stick around, maybe try to learn some BASIC or similar languages.
By the way, is it possible to program with BASIC on my computer, and then transfer it to my fx-9860GII?
C++ is a language usable for the fx-9860GII, as is C. The SDK doesn't support bug-checking on C++, however. I also just read about BasiC++ on the forums. I'm going to check it out, I'm sure it will help me create a game earlier. And the tutorial is not for calculators, but the only difference would be in the input, since it doesn't have the same key set as a computer. No, that was a failed change, the pic I tried to upload was really bad, I've changed it now. And I do have a sense of humour! I am on the mspaforums for crying out loud! No point in going THERE of all places if you don't have a sense of humour! While thinking about it, I should put a link to the forums in my sig. I'll do it straight away!
Edit: Ok I just got further in the C++ tutorial and read some stuff about it on the internet; I'm giving up. I need to find some easier language, C++ is way harder than GML by far. This is just not going to work for me. What other programming languages can be used to program for an fx-9860GII? Preferably easier ones than C++, which is, as I just found out, one of the hardest programming languages out there...
I guess he did, since since he got his graphic calculator, an fx-9860GII too, he started about the game. Since this forum is about, well, graphic calculators, I figured he picked it up here.
Wuts about winning The Game. The rules (or rather, rule) don't state when you win, only when you lose. So technically, you can't win. That doesn't stop me from losing it very often. I'm already on 41.