Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
sonjaek committed Apr 27, 2021
2 parents e98d53f + 062a17f commit e8a4b7d
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 19 deletions.
18 changes: 17 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# IPA Game [![wakatime](https://wakatime.com/badge/github/iosonja/ot-harjoitustyo.svg)](https://wakatime.com/badge/github/iosonja/ot-harjoitustyo)<br>
The app offers a gamified way to learn to classify the International Phonetic Alphabet symbols used in consonants that appear in the English language.
IPA Game is a desktop-based game where the player needs to classify items that appear on bubbles floating in a window view.
In the current version of the game, the classification is done for colors.
When the app has been finalized, the player needs to classify symbols of the International Phonetic Alphabet (IPA).
The symbols that appear in the game will describe consonants that appear in the English language.

## How to use the app
The app has been built using Python version 3.6.0. Versions below that may not work as expected.
Expand All @@ -13,6 +16,19 @@ poetry install
poetry run invoke start
```

### Instructions for playing the current version
Try to stop each bubble from reaching the right edge of the screen. The bubble disappears when its color has been classified correctly with a keystroke.
There are only five different colors, because they are only a temporary basis for classification. Currently the game won't end before you quit the program for example by pressing the X key.
#### Keystrokes by color:
```
R - red
G - green
B - blue
W - white
P - pink
```


## Command line operations for developers
Start the app:
```
Expand Down
10 changes: 10 additions & 0 deletions documentation/architecture.md
Original file line number Diff line number Diff line change
@@ -1 +1,11 @@
#### NB: The images may not be displayed correctly if you are viewing this through GitHub in dark mode.

## Class Diagram

![IPAgame_class_diagram-new-3](https://user-images.githubusercontent.com/40118812/115455490-b1c90700-a22a-11eb-8559-eb4f5056ffe1.png)

## Sequence Diagram: Life cycle of the game loop

![Sequence Diagram_ Creating and exiting the game loop](https://user-images.githubusercontent.com/40118812/116305008-d6355e00-a7ab-11eb-9e8b-6b01f945e448.png)

Note to self: Find out how to delete objects, like bubbles, from memory when they are no longer needed.
35 changes: 20 additions & 15 deletions documentation/requirements-document.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,32 @@ The app offers a gamified way to learn to classify the International Phonetic Al
The app has one user type, a basic user, who can play the game and not modify the contents.

## User Interface
[Done] There is one view for the game: the playig view.
#### There is one view for the game: the playing view.

![IPA-game_ui](https://user-images.githubusercontent.com/40118812/112819372-3346d280-908d-11eb-8f7b-9a0442a7f18c.png)

- [Done] In the playing view, there are bubbles appearing from the left side of the screen and floating towards the right edge.
- There is an IPA symbol displayed on each bubble.
- At the bottom there is a **classification bar** with names of the categories the characters are members of.
- [x] [Done] In the playing view, there are bubbles appearing from the left side of the screen and floating towards the right edge.
- [x] [Done] There is a classifiable item displayed on each bubble.
- [x] [Done] There is a score counter in the upper left corner.
- [x] [Done] At the bottom there is a **text bar**.
- [ ] In the text bar, there are buttons with names of the categories the items are members of.

## Functionality
The user is expected to try and make the character bubbles disappear before they reach the right edge. This happens by categorizing the bubble correctly.
- [Done] The bubble can be classified with a keystroke in the early versions.
- In later versions, classification happens with mouse dragging.
- [Done] If the category is correct, the bubble stops.
- [Done] If the category is incorrect, the bubble continues floating.
- [Done] The user is allowed to retry as many times as the bubble is in sight.

- [Done] The bubbles move at a steady pace.
- There is only a certain number of characters and after all of them have been correctly classified, the game ends.
- [Done] In the first versions of the game, classification happens according to bubble color, which is randomized.
- In the next versions of the game there are symbols of consonants in the bubbles, and categorization happens based on the manner of articulation.
- [x] [Done] The bubble can be classified with a keystroke in the early versions.
- [ ] In later versions, classification happens with mouse dragging.
- [x] [Done] If the category is correct, the bubble disappears.
- [x] [Done] If the category is correct, a new bubble appears from the left side.
- [x] [Done] If the category is correct, scores increase by 10.
- [x] [Done] If the category is incorrect, the bubble continues floating.
- [x] [Done] If the category is incorrect, scores decrease by 2.
- [x] [Done] Scores can't go below zero.
- [x] [Done] The user is allowed to retry as many times as the bubble is in sight.

- [x] [Done] The bubbles move at a steady pace.
- [ ] There is only a certain number of classifiable items and after all of them have been correctly classified, the game ends.
- [x] [Done] In the first versions of the game, classification happens according to bubble color, which is randomized.
- [ ] In the next versions of the game there are symbols of consonants in the bubbles, and categorization happens based on IPA symbols and their manner of articulation.

## Further development
After the most basic version, here are some features to be added to the game:
Expand All @@ -35,5 +41,4 @@ After the most basic version, here are some features to be added to the game:
- vowels
- diacritics
- suprasegmentals.
- Scoring system
- Top scores list
7 changes: 4 additions & 3 deletions documentation/time-tracking.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,17 @@
| 10/4/2021 | 1 | Getting to know Pygame |
| 13/4/2021 | 2 | Source code |
| | 2 | Configurations |
| | 1 | Automated testing |
| | 1 | Writing automated tests |
| | 1 | Documentation |
| 19/4/2021 | 1 | Adding pylint and autopep8 |
| | 1 | Documentation |
| 20/4/2021 | 2 | Source code refactoring |
| | 2 | Coding new UI functionality|
| | 1 | Automated testing |
| | 1 | Writing automated tests |
| | 2 | Architecture documentation |
| 23/4/2021 | 1 | Add IPA classification data|
| 27/4/2021 | 1 | Learn about separation of concerns |
| | 2 | Refactor |
| | 2 | Code new features |
| **all** | **26** | |
| | 1 | Writing automated tests |
| **all** | **27** | |

0 comments on commit e8a4b7d

Please sign in to comment.