+-Discord Shoutbox


Alternatively, join us on Discord directly.
You can help CodeWalrus stay online by donating here.

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.

Messages - JWinslow23

1
Consoles / Re: Wal-Rush! PICO-8
February 18, 2019, 05:03:15 AM
Bump.

Now it's a finished game! Go ahead and try it out here: https://lexaloffle.com/bbs/?tid=33306
2
Consoles / Re: Wal-Rush! PICO-8
February 16, 2019, 06:16:03 AM
Bump.

I now have a playable (though not yet complete) version of Wal-Rush! for the PICO-8!
https://www.lexaloffle.com/bbs/?pid=61943#p
3
Consoles / Wal-Rush! PICO-8
February 15, 2019, 08:48:42 AM
Not sure if the PICO-8 technically counts as a "console", but I've decided to post this in the "consoles" section...

I'm developing a game for the PICO-8, a video game console that does not actually exist. And because Wal-Rush! for the NES does not exist :P , I thought I would create what I wished a full console version of Wal-Rush! could be...

You can view my progress so far in this thread:
https://lexaloffle.com/bbs/?tid=33262
4
The aesthetic was influenced heavily by another student in my IT classes. He is very amused by the real Dr Sbaitso, and also wants to make his own version of it for a class project. (My own version wasn't a class project, however; it was literally just a demonstration for him of how Flexbox in CSS could be used to give the layout he wanted.)
5
From the maker of 8K Adventure and CHELSEA for the TI-84+ CE calculator comes an actual functioning website that accomplishes everything that CHELSEA couldn't!

Introducing:
Dr. Josiah Ryan Winslow

(No, that's not his name. It stands for Javascript Operator Specializing In Automatic Handling of Responses You Are Notating and Writing In Neatly Spaced Lower Output Windows. But just call him Dr. Josiah for short.)

He is an online chatbot that you can talk to, and he actually talks to you back! The replies he gives are converted from text to speech using deep learning technology provided by Lyrebird. He is guaranteed to provide you with hours of a fun-adjacent feeling!

The link to the website is here. Alternatively, if you want to have an easily shareable link, use either https://tiny.cc/dr-josiah or https://tiny.cc/doctor-josiah.
6
Other / Languish: A Textual Esolang
October 16, 2018, 08:05:44 PM
If you thought my last esolang idea was bad, wait until you see this one...

Languish is an (admittedly derivative) esoteric programming language in which there are 8 commands: E, T, A, O, I, N, S, and H. These commands can be mixed together with any non-command characters, so you can embed Languish programs into arbitrary text (if you're talented!).

The home page for Languish is right here (still under construction), and it includes a download link for the Python interpreter, as well as a comprehensive tutorial. Examples of code are to come!

And actually, this is where you all come in. If any of you can write a program in this language that shows off a feature well, or implements a common programming example (like 99 Bottles), I will include it on the website, and in the interpreter's .zip file (once I have compiled enough).

I could write them all myself (and I probably might), but I have a deadline of October 21, 2018 to have my site finished for my web development class, so any help filling it with content would be appreciated!
7
Other / Re: Esolang idea: Technologic
September 15, 2018, 06:46:35 AM
Quote from: Juju on September 15, 2018, 03:46:04 AM
Oh, I like this. Are you making an interpreter/compiler/whatever out of it? I'd make one, if I have some time.
I probably could. Python is usually my language of choice, so I'd do it in that if I were to do something that runs this. However, it'd take a while.
8
Other / Esolang idea: Technologic
September 14, 2018, 08:53:54 AM
Hey, y'all. I just got this idea for what might prove to be an interesting esolang:

Technologic

Technologic is (or, I should say "will be") a language in which all keywords are words in the Daft Punk song of the same name.



I tried to allocate all of the words in the song to their best possible function. However, I am very open to suggestions on changing them (especially with how numbers are represented; I don't particularly enjoy how I ended up deciding that format).

Without further ado, here are the (possible) specs.

Design Philosophy

The main goal of Technologic is to make programs that look like the lyrics to the titular song. Thus, each line in the "lyrics" must also be in the same rhythm: DAH dih DAH dih DAH dih DAH dih. For example, here is a theoretical cat program in Technologic:

name it, code, rename it, buy it
click, format it, start it, press it
name it, code, rename it, name it
code, rename it, quick - format it
print it, mail it, break it, mail it

technologic


If you read this out loud (why would you want to, though?), you can hear the "rhythm" to the words. I'll probably make this rhythm required if I ever make an interpreter/compiler for this.

"Useless" commands

quick - (X)
NOP. Place this before any two-syllable word (X) to make it fit the rhythm, and a theoretical interpreter/compiler would act as if this word isn't there.

mail it
Ignored wherever you place it, even within variable names. Another rhythm-fitting word, so a theoretical interpreter/compiler would act as if this word isn't there.

pause it
(X)
play it

Comment (X). pause it must end the line it's on (but it doesn't have to fit the rhythm), and play it must start the line it's on

One more thing: the word it must be omitted if it is just before a two-syllable word, and it is optional after the word pause.

Variables

Variables in Technologic are defined when first stored to. An attempt to reference a variable before it is defined is illegal.

name it, (X), rename it
Refer to variable (X). Legal variable names are any combination of valid keywords other than name, rename, use, code, call, bring, and any one of the "useless" commands. Only the actual words are considered when parsing the variable names, not the its. Some examples of valid variable names:

upgrade it, cut it
break it
touch it, erase it, scan it, trash it

(X), write/rewrite it, (Y)
Store expression (X) into variable (Y). (Note: write and rewrite are synonyms here.) Defines variable (Y) if not previously defined.

Numbers

Numbers are represented by simply listing out the commands for the digits in order. If you want to represent a decimal number, use point it for the decimal point.
    0: erase it
    1: click it
    2: watch it
    3: view it
    4: work it
    5: surf it
    6: update it
    7: upgrade it
    8: zoom it
    9: fill it
Expressions

Expressions are mathematical operations done to numbers and/or variables. They can be pretty much as complex as you want them to be, and they are evaluated from left to right. Any command that takes an expression as an argument ACTUALLY takes the last expression evaluated, which doesn't necessarily have to be right before it.
Expressions must end in format it.

(X), touch it, (Y)
(X) + (Y).

(X), trash it, (Y)
(X) - (Y).

(X), cross it, (Y)
(X) * (Y).

(X), cut it, (Y)
(X) / (Y).

(X), crack it, (Y)
(X) / (Y) (integer division).

(X), rip it, (Y)
(X) mod (Y).

zip it, (X), unzip it
Enclose expression (X) in parentheses.

(X), turn it
Negate (X).

Control Flow and Conditional Statements

Conditional operators return 1 for true and 0 for false. Conditional statements consider anything nonzero to be true, and 0 to be false. Everything else should be "familiar".

(X), drag and drop it, (Y)
Conditional operator: (X) == (Y). (The only instance of a multi-word keyword!)

(X), pay/buy it, (Y)
Conditional operator: (X) < (Y).

(X), charge it, (Y)
Conditional operator: (X) > (Y).

(X), switch it
Makes conditional operator (X) act like the opposite of itself (!=, >=, or <=, respectively).

(X), check/rate it
(Y)
break it

If expression (X) is true, execute (Y).

(X), check/rate it
(Y1)
(jam, snap) it
(Y2)
break it

If expression (X) is true, execute (Y1). Otherwise, execute (Y2).

(X1), check/rate it
(Y1)
(fix, tune) it, (X2), check/rate it
(Y2)
break it

If expression (X1) is true, execute (Y1). Otherwise, if expression (X2) is true, execute (Y2). This construction can be repeated as many times as necessary, and it can be combined with a jam or snap statement as a catch-all.

lock it, (X), check/rate it
(Y)
break it

While expression (X) is true, execute (Y). (X) is evaluated before the start of the loop.

start it, (X), check/rate it
(Y)
break it

Until expression (X) is true, execute (Y). (X) is evaluated after the end of the loop.

leave it
Prematurely exit a check/rate it, lock it, or start it construction, equivalent to a "break" statement in most languages.

burn it
Immediately end program execution at this point.

technologic
The equivalent of labels. (This also signifies the end of the program.) This must be separated from any other code by at least two lines, like so:
(X)

technologic

(Y)


(X), find it
Go to the expression (X)th technologic in the program (1-indexed). 0 indicates the required "technologic" at the end of the program; negative numbers are illegal.

Input/Output

Because I completely forgot to tell you up until now, I present to you: the only way to make your programs actually useful!

scan it, (X)
Read a numeric input, and place it in variable (X). If (X) has not been defined before, this counts as a definition.

press it, (X)
Read a character input, and place its ASCII value in variable (X). If (X) has not been defined before, this counts as a definition.

(X), send it
Print expression (X) as a number (without a newline).

(X), print it
Print expression (X) as a character in ASCII (without a newline).

scroll it
Print a newline, because click, erase it, quick - format it, print it can be cumbersome.

Functions

Functions are pieces of code that can be run (called) at any point during the program, and can optionally take 1 or more numerical arguments.

use it, {(Y1), bring it, (Y2), bring it,...} (X), code it
(Z)
break it

Define a function named (X), optionally with arguments named (Y1), (Y2), etc. The body (Z) is executed whenever the function is called. Legal function and argument names are any combination of valid keywords other than name, rename, use, code, call, bring, and any one of the "useless" commands. Attempting to define a function more than once (even if both definitions take different amounts of arguments) is illegal.
Within the function, you can use name it, (Y1), rename it for each name like normal, but the value of these are not the same as ones with equivalent names in the regular code would be. Or, to put it briefly, scopes.

use it, {(Y1), plug it, (Y2), plug it,...} (X), call it
Call a function named (X), optionally with arguments as the expressions (Y1), (Y2), etc. This can be used within expressions if need be. Attempting to call a function before it is defined is illegal.

(X), unlock it
Within a function, return expression (X).

Oh yeah there's a stack

Oh, I forgot to tell you, there's a stack, too. Why? Because there were 4 commands left that had no definition.

(X), save it
Push expression (X) onto the top of the stack.

load it
Pop the top stack item (destructively). Popping from an empty stack is illegal.

fax it
Pop the top stack item, except the value can be used inside an expression. If this is used multiple times in an expression, the stack keeps getting popped. Popping from an empty stack, once again, is illegal.

(X), paste it
Get the value of the expression (X)th stack item from the top (0-indexed). This can be used in expressions if need be. Attempting to get a non-existent stack item is illegal.

(X), change it, (Y)
Store expression (X) to the expression (Y)th stack item from the top (0-indexed). Attempting to store to a non-existent stack item is illegal.




So, until I decide to change it, those are my specifications for my esolang idea. If anyone has any suggestions on improving them, or if anyone wants to have a go at interpreting/coding in this language, let me know!

Example programs in Technologic

Hello World:
quick - upgrade it, watch it, mail it
mail, format it, print it, mail it
click, erase it, click, format it
print it, click, erase it, zoom it
quick - format it, print it, print it
click it, click it, click, format it
print it, work it, work, format it
print it, view it, watch, format it
print it, zoom it, quick - upgrade it
quick - format it, print it, click it
click it, click, format it, print it
click it, click it, work, format it
print it, click, erase it, zoom it
mail, format it, print it, click it
quick - erase it, quick - erase it
mail, format it, print it, view it
view it, quick - format it, print it

technologic


Hello World indented in a way that should make it make more sense:
upgrade it, watch it, format it, print it
click it, erase it, click it, format it, print it
click it, erase it, zoom it, format it, print it, print it
click it, click it, click it, format it, print it
work it, work it, format it, print it
view it, watch it, format it, print it
zoom it, upgrade it, format it, print it
click it, click it, click it, format it, print it
click it, click it, work it, format it, print it
click it, erase it, zoom it, format it, print it
click it, erase it, erase it, format it, print it
view it, view it, format it, print it

technologic


Truth machine:
send it, name it, fax, rename it
start it, name it, fax, rename it
drag and drop it, quick - erase it
quick - format it, rate it, name it
fax, rename it, quick - format it,
send it, mail it, break it, mail it

technologic


Truth machine indented in a way that should make more sense:
send it, name it, fax it, rename it
start it, name it, fax it, rename it, drag and drop it, erase it, format it, rate it
name it, fax it, rename it, format it, send it
break it

technologic


Fibonacci:
use it, buy it, bring it, fax it
touch it, code it, name it, buy it
quick - rename it, pay it, watch it
quick - format it, check it, name it
buy, rename it, mail, unlock it
break it, use it, name it, buy it
mail, rename it, trash it, click it
quick - format it, bring it, fax it
touch it, call it, touch it, use it
name it, buy, rename it, trash it
watch it, mail, format it, bring it
fax it, touch it, call, unlock it
break it, scan it, name it, buy it
quick - rename it, use it, name it
buy, rename it, quick - format it
fax it, touch it, call it, send it

technologic


Fibonacci indented in a way that should make more sense:
use it, buy it, bring it, fax it, touch it, code it
pause it
Equivalent to something like def fax_it_touch_it(buy_it):
play it
name it, buy it, rename it, pay it, watch it, format it, check it
name it, buy it, rename it, unlock it
break it
pause it
This is equivalent to:
if buy_it < 2:
return buy_it
endif
play it
use it, name it, buy it, rename it, trash it, click it, format it, bring it, fax it, touch it, call it, touch it, use it, name it, buy it, rename it, trash it, watch it, format it, bring it, fax it, touch it, call it, unlock it
pause it
Wow, this is complicated...
...but basically, this translates to:
return fax_it_touch_it(buy_it - 1) + fax_it_touch_it(buy_it - 2)
You'll be able to see it here if you look REALLY hard at it
play it
break it

scan it, name it, buy it, rename it
use it, name it, buy it, rename it, format it, bring it, fax it, touch it, call it, send it
pause it
These two lines are equivalent to:
buy_it = inputnum()
print fax_it_touch_it(buy_it)
NOTE: This buy_it is not the same as the buy_it in the function itself!
play it

technologic
9
Media Talk / Re: Funny/awesome Youtube videos
July 18, 2018, 06:34:11 PM
Because I have no idea where to put this:



10
I figured I should put this here, because it might be lost if I don't.

This is a full English translation of the NES game Soap Panic. (Basically, it's the Japanese version of Bubble Bath Babes. Google it if you don't know what it is...but in Incognito Mode, of course.) As I cannot legally provide a download for the ROM, attached is the .ips file, which you can patch to "Soap Panic (Hacker) [f1].nes" (make sure it's the one that doesn't have half of its graphics data missing!).

Because I know you don't want to have to play the whole game to see the...*ahem* "rewards"...an Imgur album with each of the changed screen is right here. (Warning: NSFW.) In the cases where there is text on the bottom of the screen, they only show up on PAL or Dendy systems, because they are cut off by NTSC systems.

I simply modified the graphics (and optimized the data) of each "reward" screen. Credit goes to a user on r/translator/ for the actual translation.
11
Bump.

I have now added proper display of clues for 1-letter words (i.e. none), and included a boilerplate README file.

The biggest new thing, however, is a fully-functional (and hopefully user-friendly enough) crossword puzzle editor to make your own crossword puzzles! It is written in Python 3, so have that installed to run it. Hopefully everything you need should be included. There's a new puzzle now, too, and it's today's mini crossword on the New York Times website!

Download attached.
12
As a sort of spiritual successor to Puzzler's Sudoku, I'm going to try and bring to the monochrome calculators another staple of newspaper puzzle pages: the crossword!



This is only a demo at this point. The included crossword puzzle is based on the puzzle featured in the New York Times on April 25 2018, with a very interesting theme. Use the arrow keys to move around, and the letter keys to input letters. DEL deletes letters, and MODE switches between looking at/writing ACROSS or DOWN clues.

Download attached. Make sure to include the CROSSWRD appvar, or else the calculator might freak out.
13
I feel like I've done this too, to an extent.

8K Adventure:
Quote from: 8K AdventureIntroducing an all-new method of calculator text adventures! You, a black dwarf named Grimbis, must recover a magical orb belonging to Gawyn, the lord of all realms. Can you solve the puzzles, recover the orb, and keep the land in eternal winter? NOTE: Intended for TI-84+ CE OS 5.2 or newer.
Bejeweled 84+:
Quote from: Bejeweled 84+Introducing, the first Bejeweled clone for the TI-83+/84+/SE in pure TI-BASIC! This has very fast speed for a BASIC game, and excellent graphics made from textsprites. You also have the ability to save your game and come back to it later, as well as to restart the level you're on. In only 3.4 KB, this is a must-have for people that like puzzle games!
Candy Wars (my first game I uploaded to ticalc; actually kinda dull):
Quote from: Candy Wars by Josiah WCandy Wars is a Drug-Wars type game in which you have to buy and sell candy in order to be able to afford a new bike. This game is really fun and addicting. UPDATE: Added day tracking in main menu, added loss check, lowered starting money amount, reworked sales, now DCS compatible
CHELSEA (a re-skin of 8K Adventure, which itself was a reskin of another small chatbot project I did called CALSPEAK):
Quote from: CHELSEA, the psychologist chatbotCHELSEA (Chatbot Harnessing ELIZA's Logic to Simulate Emotional Analysis) is a chatbot made entirely in TI-BASIC designed to mimic the behavior of a psychologist. Talk to it about your problems, and perhaps she might help. This uses techniques from 1966 that can pass the Turing test!
Cookie Clicker Axe:
Quote from: Cookie Clicker AxeThe insanely addicting Cookie Clicker game that took the internet by storm has now made its way to the calculator in this must-have port! Complete with a mouse cursor, grayscale graphics, a news ticker, and much more, Cookie Clicker Axe is one of the best Cookie Clicker clones you'll see on your calculator! Made using Axe Parser 1.2.2.
Descent (strangely called Descent Delivery by ticalc's news on it; that is the company, I guess):
QuoteWelcome to Descent Delivery! The future of delivery is here! Control a package inside a delivery room, and guide it to the delivery truck. The package moves until it hits a wall, so you must be smart in maneuvering through the many rooms. Good luck! UPDATE: Fixed small issues with game elements
Desert Bus II (a joke game in which you wait for a tow truck for 8 hours)
Quote from: Desert Bus IIWait for the tow truck to arrive in this spiritual successor to Desert Bus! During your wait in the hot Arizona sun, marvel at the 4-level grayscale animated graphics! This game is sure to provide literal hours of enjoyment! (Well, at least the "hours" part is correct.)
Flappy Bird by Josiah W.
QuoteThe infamous iOS game, now on 83/84+! (Yes, this is Flappy Bird, deal with it.) This boasts such features as a fun title screen, grayscale graphics, a parallax scrolling background, highscore saving, and all in 4KB!
Mad Libs: _____ Weather Ahead!
QuoteThis is a quality Mad Libs game (with over 20 words to fill in) with a storyline of breaking news at the beach. What's happening? Only you shall tell! This Mad Libs will give guaranteed laughs for everyone!
Puzzler's Sudoku:
QuoteThe ultimate version of Sudoku for your TI-83+/84+/SE! This boasts many features for the Sudoku enthusiast such as pencilmarks, 100 puzzles included, and random puzzles, while including fun features such as grayscale graphics, and the ability to create and play packs of custom puzzles! Check this out if you're a fan on logic and number puzzles ;)
TI-2048 by Josiah W (not as "definitive" as I state, but still kinda awesome):
QuoteThis is the definitive port of the online hit 2048 that has taken the world by storm! Complete with grayscale, highscore saving, and smooth animation, this is a must-have for your TI calculator!
14
Media Talk / Re: Funny/awesome Youtube videos
April 09, 2018, 01:10:05 PM
Not technically YouTube, but YouTube won't let me upload this.



Jerry Springer, circa June 2004 (?), starring my dad as a gay prostitute! (No, he isn't now and never was. :P )
15
Media Talk / Re: Funny/awesome Youtube videos
April 06, 2018, 09:48:43 PM
Quote from: TheLastMillennial on April 03, 2018, 03:23:31 AM
Sooo bad, but sooo hilarious. Good job JWinslow23! That's quite an impressive representation of John Oliver and Last Week Tonight.
For the first time I didn't fall asleep learning World Literature. You better have made a 100% with this! :D

What software did you use to make and compile the video?
Sony Vegas Pro. And yes, I did end up getting a 100% ;)
Powered by EzPortal