2.4 KiB
2.4 KiB
Computer Studies Projects
Just a few assignments I made for my 12th grade computer studies class. You get to pick your projects, so these are mine.
I have about 1-2 weeks for each project. Check the Git commits for specific dates or whatever.
Projects
- Minesweeper/
- I made Minesweeper for the TI-84 calculator. I tried to be somewhat true to the original Windows one.
- 2 is down, 4 is left, 6 is right, 8 is up for your selection. Enter is to mine and the decimal point places a flag. The arrow keys move the board.
- No additional libraries were used, only the built in TI libraries and the TI CE toolchain.
- Doesn't run great. It uses 16-bit color mode, so the graphics are somewhat slow to render. I attempted to find the way to switch to 4-bit color mode, but I didn't find enough useful info (the best I've found so far is to dissect the GraphX assembly code). Still runs decent though, I've made as many optimizations as I easily could with the renderer, and everything else is fast.
- WARNING: This one can't be built without reconfiguring the
.clangdfile to include the path to the toolchain.
- Blackjack/
- This program simulates casino blackjack rules. It allows for customizable player strategies.
- I made a few default strategies (draw until 17, simple card counting, simple probabilities).
- No additional libraries were used.
- It has two custom-rendered graphs on the console display. I haven't figured out how to use XTerm yet, so I'm generating individual characters.
- BonusTicTacToe/
- Plays tic-tac-toe. I made the game in Windows Forms.
- The game allows for customization for the board size (rows/columns), number of players (up to 8), amount needed in a row to win, and amount of wins needed to finish the game.
- Nice colors and sprites for each player. Scales seamlessly with a higher DPI.
- The only component used is the menu component. The board and sprites are rendered myself with OnPaint.
- CentralizedChatRoom/
- A live chat room system I wrote myself. It does not use HTTP, it instead uses my own TCP packet system.
- Data transfer is automatically encrypted behind the scenes (though the server decrypts it when it gets it).
- Allows for as many people to connect as need be.
- The client is somewhat janky, but the server has zero issues from my testing.