Welcome to the PyFive, 5 small games or graphics programs written in Python. They all take advantage of the module Casioplot (but take input through traditional methods)
As you may be aware, Casioplot is very limited when it comes to detecting key presses. The only key that can be detected is AC, and each program describes what (if anything) the AC button does.
I have tried my best to keep the file size of these programs small so that you can store as many games as possible on your calculator. However, one side effect of that is the code is very unreadable. Sorry about that.
Here is a brief description of each program (in alphabetical order):
Collatz draws graph(s) of lines caused by the Collatz Conjecture. If you don't know what that is, it's probably worth following the link below. But put simply, if the number is even, half it, if the number is odd, times it by 3 and add 1. All starting numbers get to a 4-2-1 loop, which is when the program stops drawing. Multiple line graphs can share the same graph, and they are each assigned a random colour. As well as that, a perfect scale is calculated so that all the graphs can fit on the screen. As you can guess by the length of this paragraph, this is the most notable program in the PyFive.
Secondly, there is Fourmide. Input the starting coordinates, and the program will start drawing a fourmide pattern from there. Even though this program has the least amount of customizability of all the programs in the PyFive, it is the most optimised, sitting at just 474 bytes.
Next alphabetically is Pixels. Here, you can create your masterpiece by using RGB values and a huge amount of customisation. I won't go through every setting, as there would be too much to go through. Want to share your masterpiece with others? When asked about showing inputs at the end, press 1. This will draw text showing the exact inputs in exactly the right order, making it easily replicated by your friends. Not sure where to start? Then try replicating some of the patterns you can find photographed on the Cemetech post. I kept 'draw input' active for all of them.
Fourth on the list is SinPattern. By typing in the seed and the quantity of the lines, you can create lots of interesting and unique patterns out of the underrated sine wave. Like pixels, the inputs are shown on the screen at the end. However, since this input text is not very intrusive, it is not optional. Doing this also helps save your valuable memory.
Last but not least, we have Timings. Probably the closest thing there is to a game in the PyFive, your objective is to press AC when the bar reaches the green signals (shown by the dotted line and then green pixels). Too early or too late, however, and you will lose! There are 10 levels to play, ranging from incredibly easy to incredibly hard. There are a couple of things that you need to know about Timings, the first of which being DO NOT OVERCLOCK. Doing so will completely mess up how I have attempted to make delays (there is no official method). Secondly, this game uses up RAM considerably quickly. Soon enough, you will see a message telling you that RAM is full. Do not worry, as this is not dangerous, all you need to do is close and reopen the program.
Congratulations! You have just made it through a giant of a README, and I really appreciate you taking the time to read through it all. If you would like a new feature or have found a bug, let me know by writing a review on the Cemetech post.
Hello, what license is your programs under? I'd like to incorporate your code for delays and interrupts into my own projects if you're okay with that. With credit of course!
- PyFive (published 1 year, 6 months ago; 2022-08-15 15:43 UTC)