|
1 | 1 | # UltraVersenker |
2 | 2 |
|
3 | | -A command-line implementation of the classic Battleship game in Java, featuring ANSI-colored console output for an enhanced user experience. |
| 3 | +A command‑line implementation of the classic Battleship game in Java, featuring ANSI‑colored console output for a more vivid and engaging terminal experience. When we were assigned to build a Battleship game as part of learning Java, I decided to go a bit further and explore what could be done with Java in a pure CLI environment. That led me to create a small “graphic” engine (which I’ll publish as a separate repo) built around chaxels — character‑pixels that allow fine‑grained control over foreground color, background color, z‑index layering, and even faux opacity. |
| 4 | +The result is that this project became not only a Battleship game, but also a demo of the chaxel engine in action — including effects like translucent clouds drifting over the sun. |
| 5 | + |
| 6 | +## AI usage policy: |
| 7 | +Because this was a learning project, all Java code was written by me without the assistance of AI/LLMs (aside from standard inline completion tools). The JavaDocs and this Markdown file were generated with the help of an LLM and then edited by me. |
4 | 8 |
|
5 | 9 | ## Features |
6 | 10 |
|
7 | | -- Classic Battleship gameplay with human vs AI |
| 11 | +- Classic Battleship gameplay with human vs AI (computer) |
| 12 | +- Computer Player implementation (AI) with four difficulty levels (easy, medium, hard, and hard+). |
8 | 13 | - ANSI styling for colorful and formatted console output using the custom Fansi utility |
9 | 14 | - Keyboard input handling via jnativehook |
10 | 15 | - Custom rendering system with chaxels (character-based graphics) |
@@ -42,7 +47,7 @@ mvn package |
42 | 47 | java -jar target/UltraVersenker-1.0-SNAPSHOT.jar |
43 | 48 | ``` |
44 | 49 |
|
45 | | -The game will launch in a new command prompt window on Windows. |
| 50 | +The game will launch in a new command prompt window on Windows. Or you can run it in your favorite IDE (I have tested it in IntelliJ and VS Code). |
46 | 51 |
|
47 | 52 | ## Project Structure |
48 | 53 |
|
@@ -95,4 +100,4 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file |
95 | 100 |
|
96 | 101 | - Uses [jnativehook](https://github.com/kwhat/jnativehook) for global keyboard input |
97 | 102 | - Custom Fansi library for ANSI console styling</content> |
98 | | -<parameter name="filePath">c:\DevDen\JUC6-Repo\UltraVersenker\README.md |
| 103 | +<parameter name="filePath">c:\DevDen\JUC6-Repo\UltraVersenker\README.md |
0 commit comments