Skip to content

Commit 18dc7b1

Browse files
authored
Update README.md
1 parent 5eeaf29 commit 18dc7b1

File tree

1 file changed

+23
-28
lines changed

1 file changed

+23
-28
lines changed

README.md

Lines changed: 23 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,74 +2,69 @@
22

33
## Introduction
44
The original idea about this project was to play the game **Pong** on an arduino.
5-
The first problem was how to display the game. The easiest solution for this problem was to use an 8x8 one-color LED matrix (I used four LED matrices in a row because I had nothing else lying around), but a future improvement could be to use a RGB matrix (maybe 16x16).
5+
The first problem was how to display the game. The easiest solution for this problem was to use an 8x8 one-color LED matrix (I used four LED matrices in a row because I had nothing else lying around), but a future improvement could be to use a RGB matrix (maybe 16x16).
6+
Below aren't all versions listed. If you want to see every version with every minor changes, take a look at the releases.
67

78

89
## Progress
910

10-
### Version 1.0
11-
Goal: Building the game Pong.
11+
### Version 0
12+
The primary goal of this version is to buid the game **Pong**.
1213
In this version the basic circuit to play the game has been constructed. Moreover the basic structure for making the game work has been developed.
1314
But accidently I messed up (I mixed up the x and y axis) and started all over again. So this is a non-working version.
1415

15-
### Version 1.1
16+
### Version 0.1
1617
This is the first fully working version of **Pong** on arduino.
17-
The game control is pretty intuitive. If you move the left or right joystick up or down, the left or right bat will move up or down. If the ball hits a bat on the upper side it will go up, if the ball hits a bat on the lower side it will go down and if the ball hits in the middle it will go straight to the other side. If the ball hits the upper or the lower part of the screen it will also change its y direction. If the ball hits the left or right side without a bat beeing behind the player who shot receives a point.
18+
The game control is pretty intuitive. If you move the left or right joystick up or down, the left or right bat will move up or down. If the ball hits a bat on the upper side it will go up, if the ball hits a bat on the lower side it will go down and if the ball hits in the middle it will go straight to the other side. If the ball hits the upper or the lower part of the screen it will also change its y direction. If the ball hits the left or right side without a bat beeing behind, the player who shot receives a point.
1819
Another big thing of this version is the highscore system: If one of the players scores a point the highscore will be printed. But the highscore only goes to three. If someone scores another point nothing will be printed. This will be solved in a future version.
1920

20-
### Version 1.2.0
21-
This version was about improving efficiency and providing a better documentation of the code.
22-
Accidentally the code was messed up again and the only solution for this problem was to develop a new version and write it all over again.
23-
The only thing which changed that has an impact, is the usage of the joystick's buttons. To achieve this the circuit had to be changed.
24-
25-
### Version 1.2.1
26-
This version is the second fully working version. The major changes in this version are about readability and efficiency referring to using functions multiple times and seperating functions from others to achieve a more global usage.
21+
### Version 0.2.1
22+
This version is the second fully working version. The major changes in this version are about readability and efficiency referring to using functions multiple times and seperating functions from others to achieve a more global usage. Another thing is that the circuit has changed to use the joysticks buttons.
2723
Minor changes are about the ball spawnpoint and the highscore system. The ball will spawn now randomly on a position where it is makeable for both players to hit the ball. The highscore has been increased to five so the game takes longer and if one of the players reaches five points the game will be over (the message "GO" or "Game Over" will be printed). Those messages will be printed as long as none of the joystick's buttons is pressed.
2824

29-
### Version 1.2.2
30-
This version includes minor bug fixes and improvements referring to the bats and the highscore system (the 2 has been outputted in a wrong way). The bats are now pixel by pixel calculated and the ball is able to be at the same y-position as the bats which has caused unpleasant ball movements (the complete logic for moving the ball has changed).
31-
32-
### Version 1.3.0
25+
### Version 0.3.0
3326
This version includes the most significant changes according to usability and game play.
3427
The overall difficulty has been increased and it is now possible to choose the difficulty you want to play.
3528
If one of the joysticks gets moved to the left or the right the selection of the difficulties changes. If the difficulty is choosen the difficulty gets confirmed by a press on one of the joystick's buttons.
3629
The difficulties you can choose are:
3730
- Easy: The ball bounces off in a normal way and the speed of the ball and bats increase slowly, but it won't get that fast.
3831
- Medium: The ball bounces off in a normal way but the speed of the ball and bats increase faster and it will get pretty fast.
3932
- Hard: The ball bounces off in a random direction and speed is equal to Easy.
40-
- Super Hard: Super hard is a mix of Medium and Hard. The ball bounces off in random directions and it will get pretty fast.
33+
- Super Hard: Super hard is a mix of Medium and Hard. The ball bounces off in random directions and it will get pretty fast.
34+
35+
Minor changes refer to small bugs fixes like the hihgscore system (the 2 has been outputtet in a wrong way) and improvements referring to the bats, which are now pixel by pixel calculated so the ball is able to be at the same y position as the bat which has caused unpleasant ball movements before (to achieve this the complete logic for the ball had to be changed).
4136

42-
### Version 1.5.0
43-
A lot has changed since the last release (v1.3.0-r).
37+
### Version 0.5.0
38+
A lot has changed since the last release (v0.3.0-r).
4439
One of the biggest changes according to the game is, that it is now possible to play the game on two instead of one matrices. The game is mostly optimized for both displays so both get used in an equal way, for example the left highscore gets displayed on the left matrix and the right highscore on the right display. The ball also moves accurate across both displays.
45-
There are also a lot of changes according to the bats! The bats are now objects (OOP) and get in this way calculated and printed. This makes the program more efficient and readable. The bats also only get redrawn if they really change, so its easier for your eyes. Furthermore the position gets now calculated by the middle point and not the top one. This is a more logic way.
40+
There are also a lot of changes according to the bats! The bats are now objects (OOP) and get calculated and printed in this way. This makes the program more efficient and readable. The bats also only get redrawn if they really change, so its easier for your eyes. Furthermore the position gets now calculated by the middle point and not the top one. This is a more logical.
4641
Another thing that changed is the overall difficulty. Because the display size has increased by 100% the game speed had to be adjusted. Moreover the whole code was rewritten and a lot of functions and variables had been renamed in a more logical way. There are also new variables and functions for better and more efficient navigation. The program is now also better commented.
4742

4843

4944
## Roadmap
5045

51-
### Version 1.6.0
46+
### Version 0.6.0
5247
This is the currently work-in-progress-version.
5348
Upgrading for using RBG matrices.
5449

55-
### Version 1.7.0
50+
### Version 0.7.0
5651
Building a housing for the game console.
5752

58-
### Version 1.8.0
53+
### Version 0.8.0
5954
Preparing the program for version 2.0.
6055
It will be about renaming the variables and functions which are only referring to Pong.
6156

62-
### Version 2.0
57+
### Version 1.0
6358
Completly working version of the game **Pong**.
6459

65-
### Version 3.0
60+
### Version 2.0
6661
Goal: Building the game TicTacToe.
6762

68-
### Version 4.0
63+
### Version 3.0
6964
Goal: Building the game Snake.
7065

71-
### Version 5.0
66+
### Version 4.0
7267
Goal: Building the game ConnectFour.
7368

74-
### Version 6.0
69+
### Version 5.0
7570
Goal: Building the game PacMan.

0 commit comments

Comments
 (0)