User:Wosly
Wosly
[edit]My name is Wosly and I am an avid Python programmer, conlanger, computer builder, and science enthusiast. I spend a lot of my free time researching random science facts and creating new programming projects in Python. Additionally, I love to create conlangs, and my latest project, Horst, is heavily influenced by French. When I'm not programming or conlanging, you can often find me building LEGO sets, especially ones related to space. I also enjoy programming on my TI-84 Plus CE calculator using TI-Basic, and I'm particularly proud of my implementation of Flappy Bird (Recently I got a NumWorks calculator, and I am really enjoying it. If you have any preferences as to Upsilon or Omega, please tell me! I'm still on the fence, though I might dualboot). All in all, I am a curious and creative person who loves to explore new areas of knowledge and challenge myself to learn and grow in new ways, as long as I find that the benefits outweigh the time it would take to learn them :)
Conlangs
[edit]My first and only conlang is called Horst, which mainly uses French as a crutch to stand on. It has some Spanish or German based words, but it is mainly French simplified (or complex-ified) to fit the requirements of the language. I may add some more of the actual rules for it here in the future.
Programs
[edit]Python
[edit]My python programs are quite varied, and they don't do very much. Also, what they do do isn't very impressive.
Realm of the Lost
[edit]Realm of the Lost is a silly little text-based adventure game that I made. It has various characters to meet and puzzles to solve. Players must navigate their way through the game to "uncover the secrets of the lost realm". The game features an inventory system and different items, each with unique abilities.
Here's some of the code I use to format the world map:
map = (('w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w'), ('w', 'g', 'g', 'g', 'g', 'g', 'm', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'w'), ('w', 'g', 'm', 'g', 'g', 'g', 'g', 'g', 'f', 'f', 'f', 'f', 'g', 'f', 'w'), ('w', 'g', 'g', 'g', 'g', 'g', 'g', 't', 's', 'f', 'f', 'f', 'f', 'f', 'w'), ('w', 'g', 'g', 't', 'g', 'g', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'w'), ('w', 'g', 'g', 'g', 'g', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'c', 'c', 'w'), ('w', 'g', 'g', 'g', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'c', 'c', 'c', 'w'), ('w', 'g', 'g', 'f', 'f', 'm', 'f', 'f', 'f', 'f', 'c', 'c', 'c', 'c', 'w'), ('w', 'g', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'c', 'c', 'c', 'b', 'm', 'w'), ('w', 'g', 'f', 'f', 'f', 'f', 'f', 'f', 'c', 'c', 'c', 'c', 'c', 'c', 'w'), ('w', 'f', 'f', 'f', 'f', 'f', 'f', 'c', 'b', 'c', 'c', 'c', 'c', 'c', 'w'), ('w', 'f', 'f', 'f', 'f', 'f', 'c', 'c', 'c', 'c', 's', 'f', 'f', 'f', 'w', ' N '), ('w', 'f', 'f', 'f', 'b', 'c', 'b', 'c', 'c', 'f', 'f', 'f', 'f', 'f', 'w', ' W + E'), ('w', 'f', 'f', 'c', 'c', 's', 'c', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'w', ' S'), ('w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w') )
SwishPainter
[edit]SwishPainter is currently unfinished, but I plan to finish it soon. It features a display in the terminal which allows you to use the mouse to draw on the screen. As of yet, the only colors are red and yellow, and there are no tools. I plan to implement a pen, a circle, a line drawer, and an eraser.
Dictionary Formatter
[edit]This program doesn't really have a name, I just am using it to format my Horst Dictionary. It works by giving you a choice to read out or write. Writing allows you to add an English word, a Horst Word, and then extra info and a part of speech. It writes this information to three separate files, then prompts you again. Upon choosing read out, it writes an alphabetically formatted combination of the three files to another file called dictout.txt. An example of dictout.txt is provided below.
====================ENGLISH TO HORST==================== A Horst Word: On Part of Speech: Indefinite article Ability Horst Word: Capacé Part of Speech: Noun Able Horst Word: Capací Part of Speech: Adj. About Horst Word: Concereté Part of Speech: Adj. Above Horst Word: Surí Part of Speech: Adj. Above Horst Word: Surí Part of Speech: Adj. Accept Horst Word: Accepten Part of Speech: Verb According Horst Word: Pour Part of Speech: Adj. Account (n) Horst Word: Historé Part of Speech: Noun Account (v) Horst Word: Dicen Part of Speech: Verb Across Horst Word: Traví Part of Speech: Adj. ======================JORST O AŊLAI===================== Accepten Palan dof Aŋlai: Accept Roulé dof Dicé: Verb Capacé Palan dof Aŋlai: Ability Roulé dof Dicé: Noun Capací Palan dof Aŋlai: Able Roulé dof Dicé: Adj. Concereté Palan dof Aŋlai: About Roulé dof Dicé: Adj. Dicen Palan dof Aŋlai: Account Roulé dof Dicé: Verb Historé Palan dof Aŋlai: Account Roulé dof Dicé: Noun On Palan dof Aŋlai: A Roulé dof Dicé: Indefinite article Pour Palan dof Aŋlai: According Roulé dof Dicé: Adj. Surí Palan dof Aŋlai: Above Roulé dof Dicé: Adj. Surí Palan dof Aŋlai: Above Roulé dof Dicé: Adj. Traví Palan dof Aŋlai: Across Roulé dof Dicé: Adj.
TI-Basic
[edit]I mostly write games and programs that let me do math problems faster, as it is a calculator.
Flappy Bird
[edit]If you are unfamiliar with Flappy Bird, that's really sad. You should read the Wikipedia page about it. My program runs using the Output() command in TI-Basic (please note that I wrote this on a TI-84 Plus CE, so the screen dimensions are 10x26) to place characters on the screen. A ">" denotes the bird, and double sets of "##" constitute the pipes. It has an animated death and startup screen. The code is below. A more technical / detailed description is underneath the code.
ClrHome Output(4,8,"Flappy Bird") 0→P 0→X 2→H 27→B 9→L Repeat getKey=105 X+1→X B-1→B Output(6,8,"Press Enter") Output(H,X,">") Output(L,B,"<") Wait 0.2 Output(H,X," ") Output(L,B," ") If X≠26 and B≠1 Then If H=2 Then 1→H 10→L Else 9→L 2→H End End If X=26 1→X If B=1 26→B End ClrHome .05→S 3→U 1→N randInt(3,8)→D randInt(1,10-D-1)→T T+D→B 25→X While N Wait abs(S) getKey→K Output(U,8," ") If K≠0 and U≠1 U-1→U If K=0 and U≠10 U+1→U If (K=0 and U=10) or (U≤T and X=8) or (U≥B and X=8) or (U≤T and X=7) or (U≥B and X=7) Then 0→N Else If X=8 P+1→P End If K=21 or K=31 Then Output(U,8,">") Output(1,1,"Paused.") Pause For(I,3,1,1) Output(1,1,toString(I)+" ") Wait .5 End Output(1,1," ") End Output(10,23,P) Output(U,8,">") For(L,1,T) Output(L,X,"## ") End For(L,B,10) Output(L,X,"## ") End X-1→X If X=0 Then Wait S For(X,1,T) Output(X,1,"# ") End For(X,B,10) Output(X,1,"# ") End Wait S For(X,1,10) Output(X,1," ") End 25→X randInt(3,5)→D randInt(1,10-D-1)→T T+D→B End If S>0 S-0.000001→S End Wait .2 For(X,1,10) Disp " " End ">"→Str1 For(X,10,1,1) For(Y,26,1,1) Output(X,Y,Str1) End If Str1=">" Then "<"→Str1 Else ">"→Str1 End End For(X,7,3,1) For(Y,19,7,1) Output(X,Y," ") End End Output(4,9,"You Died!") Output(6,8,"Press Enter") Pause prgmTFLAPPY "or just recall whatever you name the program
The game involves navigating a bird through a series of obstacles by repeatedly tapping a key to flap the bird's wings and gain altitude.
The program starts by clearing the calculator's display screen and displaying the title, Flappy Bird, in the center of the screen. It features flapping birds until you decide to press enter, like it tells you to. It initializes multiple variables, like the number of points (P), the bird's vertical position (U), the horizontal position of the obstacles (X), the scrolling speed (S), the "death boolean" (N), the bottom of the top pipe (T), and the top of the bottom pipe (B), just to name a few.
The game is played in a loop, with each iteration representing one frame of the game. If the user presses a key, it updates the bird's position and the position of the obstacles, then displays them on the screen. Otherwise the bird falls slightly. The game ends when the bird collides with an obstacle or falls off the bottom of the screen.
The program also includes some features such as a pause function (press 2nd or alpha), a score counter, and an animated message displayed when the game is over.