Join us on Discord!
You can help CodeWalrus stay online by donating here.
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Woodrow

#1
PC, Mac & Vintage Computers / Project LotG
January 21, 2019, 04:53:45 PM
So, I'm making a text adventure game for a competition. i want the game (which you just lost) to
- take player choices as input and store them
- depending on player choices, move throughout the story
- have unique responses to certain inputs for comic effect, including a catch-all for unrecognized inputs ("what does [input] even mean?")

heres a basic example using my (incomplete)!game path so far. (etc means thats the farthest ive programmed in that path)

start > look > look > look > death for annoying the narrator
start > look > look > west > death for annoying the narrator
start > east > death by boredom
start > west > pet the goat > etc
start > west > attack the goat > death by goat attack
start > west > feed the goat > death by goat bite

basically, there is only one correct path through the game. all other paths inevitably lead to death and end the program.

my question is, how can i do this without drowning in if/else if/else/while loops? is there a library that could make my life easier? im using c++, but i can switch to java if that means more efficiency.

i have about a month for the competition.
#2
I tried force quitting the program and re-opening it. I then tried my best to keep the calc on for the entire wait, but I ended up leaving it alone long enough for the screen to turn back off several times.

If you really think it might help, I could keep pressing On every 90 seconds for 15 minutes, but I don't really want to do that unless it has a chance of helping.
#3
PC, Mac & Vintage Computers / Re: Programming Ideas
July 23, 2018, 07:07:52 PM
a program that generates a user-determined number of random notes from a musical scale
#4
So I was trying to use the TI Connect software with my TI-83+ and a link cable I just got on Amazon. This is my first time using a link cable, so I pulled up a Dummies guide and got the TICon program on my Mac (High Sierra, Version 10.13.4 if that helps). I then tried to use the TI Device Explorer. After a wait of 10-15 minutes (I haven't timed it precisely, this is just an estimate), an alert pops up.

This is what is shown during the wait:



And this is the alert that pops up after.



Looking on Finder reveals absolutely nothing indicating that the calculator even exists.

Some other info:


  • Because I have an Air (mac that does not have USB ports), the cable is plugged into an adapter, which is plugged into the charger port.
  • I have programs in both the RAM and flash memory of the calc.
#5
Other / Re: Mass-highlighting vs @everyone
June 14, 2018, 11:21:07 PM
a very wise choice of name my friend :thumbsup:
#6
Drawing & Animation / Pride Flag Pokemon Recolors
June 12, 2018, 10:07:42 PM
aiwrojfkvbjanjfkjkanfdvs IM SO PROUD OF THESE jsdbkjvflnjdfbfjldksnjn



if anyone wants one, just @mention me on discord
#7
Quote from: JWinslow23 on January 25, 2018, 02:14:48 PM
ln( is the natural logarithm, log base e (= 2.71828182845...).

Web has to do with graphing iterations of a function in Seq mode, and is admittedly of little use to programmers.

Time has a similar use to Web, but it graphs sequences as series of points.

Menu( does take a stupid amount of storage, yes, but to be fair, making your own menu often takes more (not always, though!).

Lbl and Goto are used to jump to places in the program. Lbl marks points in the program with one or two character names (which can include 0-9, A-Z, and theta), and Goto jumps directly to those points.

GarbageCollect is a command (usually triggered automatically) that clears up "garbage" data in the archive, which can build up if you archive and unarchive things often.

sin(, cos(, and tan( (as well as the many variants you will find in the catalog with 2ND+0) are trigonometric functions. cos( represents an X value on the unit circle, sin( represents a Y value on the unit circle, and tan( is the sin( value divided by the cos( value (which can result in an error if cos(X)=0!).

For future reference, TI-BASIC Developer is a good resource for any information you need about a command. :)

Thank you!

I'm not in trig classes yet, but using desmos with sin/cos/tan functions produces some amazing results lol
#8
Calc Projects, Programming & Tutorials / Commands?
January 25, 2018, 01:30:05 PM
I don't understand these commands/functions:

ln(
Web
Time
Menu( ((I get the syntax, and I even made a menu myself, but I can't figure out how to make it useful without using up a stupid amount of storage))
Lbl
Goto
GarbageCollect
sin(
cos(
tan(
#9
I'm trying to figure out how to make a sprite on my TI-83+ without using up a Pic. Would I have to code the program to make the drawing pixel by pixel? What about animations?
#10
Thank you so much! prgmERMINE has always taken up the most space on my calculator. People ask me why I don't just code it on a computer, and I quote the late JFK:

QuoteWe choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard[....]
-JFK

he gave such great speeches even towards the end of his life omg
#11
Thanks! I'll keep that in mind and make a new program with the GetKey command.

While 5=5 is the way I usually write an infinite loop (5 is a visually satisfying number imo). Since the loop contains prgmARR, which has its own way of breaking out of the loop (If M=5:Stop), it's not really an infinite loop. It's just easier for me because error messages make me a bit nervous due to bad experience, so, even though I can break out with the On key either way, I prefer to just have my own ending function.

This is why I never try to justify my weird logic.
#12
Here, I used the location of the numbers of the calculator as arrows.

prgmARR:

7->M
Input "", M
If M=4: Y-1->Y
If M=6: Y+1->Y
If M=8: X-1->X
If M=2: X+1->X
If M=5: Stop
ClrHome
Output(X,Y,"O

prgmMOVE:

1->X
1->Y
Output(X,Y,"O
While 5=5:prgmARR:End:DelVar M

Goals:

Condense the code into one prgm

Use arrow keys instead of numbers if possible

Find a way to use the ClrHome command at the start of prgmMOVE

Add a boundary system
#13
The original prgmERMINE was made a few months back on the way to Domino's Pizza. I showcased it (her?) at my school's STEAM club a few days(?) later. The reception was pretty good.

Here's the basic format for the code:

ClrHome
Input "CHAT: ", Str1
ClrHome
If Str1="INPUT":Output(1,1,"OUTPUT")


However, this gets really annoying when I have to type my call/response formula over and over again. Another big annoyance is accepting different inputs for the same output.


If Str1="HI" or Str1="HELLO" or Str1="HEY":Output(1,1,"HEY, NERD. "


My main goal here is to:

- Find a way to solve the aforementioned problems
#14
Quote from: mazhat on January 18, 2018, 10:10:49 PM
You can archive programs to your calculator:
Make a copy of an existing program by using RCL in a new program file.
Go to the memory management screen and select the new file to archive it (an asterisk will appear beside it).

Archived programs are stored in the flash memory and not the RAM.

o m g  t h a n k  y o u
#15
I've been programming on my dad's old TI-83+ for about a year now. I've had some troubles. Case in point: prgmERMINE, my chatbot and my personal favorite, got deleted at least six different times due to the calculator freezing up, forcing me to replace the battery, which clears the RAM for some reason. I don't have a link cable, so I can't back up my prgms. I've managed to code (for the second time, since the original got deleted) a prgm that takes advantage of the way the Disp command scrolls through its strings if it is used enough times in one prgm. This took two separate prgms and about twenty minutes. "PLATINUM: " is what the prgm uses to ask you how many times you would like to "put up a stick". I suggest a number between 25 and 50.

prgmPLATMKR (needed to make prgmPLAT12 work) (do not run directly)


randInt(1,7→R
If R=1:Disp "-
If R=2:Disp "--
If R=3:Disp "---
If R=4:Disp "----
If R=5:Disp "-----
If R=6:Disp "------
If R=7:Disp "-------


prgmPLAT12 (actual prgm) (run directly)


Input "Platinum: ",N
N-1→K
For(N,1,K):prgmPLATMKR:End:prgmPLATMKR


    Any suggestions? My main goals for improvement are:

    Find a way to get this to work with only one prgm
Shorten the code in prgmPLATMKR (Thanks, Phoenix!)[/list]
Powered by EzPortal