- Snake is a game in which the players need to think about controlling snake to explore an map and catch the appples and handle the situation to avoid hitting with the any obstacle or itself. They will compete against each other with points and time after each match.
- The final project on labory in my school. It request is use any language programming to make a game or application. My team have 2 student and we try hard to complete them in 3 week.
- Make report speech format in docx or pdf.
- Have PowperPoint presentation slides.
- Show detail diagram of project structure.
- I sometimes make refer on the internet but they seem like very difficult.
- Now, i am enhancing update code for better. Let wait...
- Java Core 8 and Java Swing basic.
- Buffer, Builder and Socket I/O in Java API.
- Function, loop, algorithms, implement, extend, Thread in Java.
- UML diagram in programming.
- Design pattern (although it hasn't really been applied completely, but overall I'm trying to make it happen).
- Refferent on StackOverflow and Youtube BroCode chanel.
- Thank you @TP-O supported us in this project.
- Explore and learn how the Java language works through libraries and methods.
- Familiarize yourself with object oriented programming and its working principle.
- Introduce the Java Swing and java.awt libraries through implementation and method inheritance its.
- An overview of Design patterns and their operation diagrams.
- Using the UML diagram to analys codes and information processing.
- Understand how multithreading works and manage it.
- Take advantage of the I/O mechanism to download files to local and open URL on broswer.
- Learn about system manipulation with Buffer and Builder in Java.
- Get familiar with Socket I/O by displaying source device address information.
- Manipulating arrays, strings, and algorithm structures.
- Skills in selecting, processing images and sounds to suit the project.
- Expanding programming thinking and improve your skills to resolve the problems through the game.
- Practice writing reports and summarizing project issues.
- Good for programmers who are new to the Java language.
- Practice and complete assignment Java OOP projects in a university lab.
- Fork and clone this project to local destop.
- Run it by IDE for Java which JRE and JDK installed.
- Choose level at level button and click new game button to play new.
- Start playing and control the snake with the arrows keys "UP", "DOWN", "LEFT" and "RIGHT", simulating a user interaction with the game.
β |
β |
β |
β |
---|---|---|---|
UP | DOWN | LEFT | RIGHT |
- Every time the snake catches an apple, its size increases and score of user will also be added 1 point.
- If the snake hits its tail or a wall, the game will be ended.
Action | Reward |
---|---|
Catch the apple | + 1 |
Hits bomb | - 1 |
Hits tail or wall | game-over |
- Experience the beautiful interface and attractive sound.
- If you over the game. Please press the start new button to start playing again or press the red x button to exit.
root
βββββββββββββββββββββββββββββββββββ src
βββ .github ββββββββββββββββββββββββββββββββ|
| βββ workflows (folder) βββ utils βββ icons (folder)
| βββ FUNDING.yml β βββ deviceInfo βββ background (folder)
| β βββ refer βββ buttons (folder)
βββ media (folder) β βββ ImageResizer βββ images (folder)
βββ docs β βββ DataType βββ musics (folder)
βββ UML Diagram |
βββ Dockerfile βββ root
βββ README.MD β βββ ArrowKey
β βββ ISnake
β βββ Root
|
βββ files
β βββ Read
β βββ Write
β βββ Item
β βββ DownLoad
β βββ licenseText
β βββ writeData
β βββ dataScore
|
βββ testing
β βββ testPanel
β βββ testCustomerPane
β βββ testMediaLoader
|
βββ container
βββ GamePanel
βββ CustomerPane
βββ mediaLoader
βββ SetupData
βββ Frame
βββ Main
docker pull thuongtruong1009/snake-game-oop
π° License
-
This project is distributed under the ECL-2.0 License.
-
Copyright of @thuongtruong109, 2021.