Slide 1

Slide 1 text

A Typing Game Tetsuro Ishida Tuan Tat

Slide 2

Slide 2 text

Purpose ● Help students acquire fluency in the English language. ○ International Students, Disabled Students, Young Students, and Etc. ● The 21st century is transitioning from traditional means like Writing to Typing. ○ The keyboard is the modern day equivalent of the pen/ pencil ○ Ink and Quill → Pen/ Pencil → Keyboard → ??? ● Keeping it Simple ○ Straight to the point. No instructions required. ○ Anyone can pick it up and begin practicing.

Slide 3

Slide 3 text

Whiteboarding Start Menu Easy Normal Hard Game Screen End Screen Optional

Slide 4

Slide 4 text

GUI Design

Slide 5

Slide 5 text

GUI Design: Code

Slide 6

Slide 6 text

Difficulty: Easy, Normal, Hard easyWords.txt normalWords.txt hardWords.txt

Slide 7

Slide 7 text

Difficulty: Code In-Depth ● The program begins by prompting the User with a Start Menu with three difficulty settings: Easy, Normal, and Hard. ● By selecting one of the three options available, the program will begin to read in the words from the corresponding text files. ● The program will then read the words from the text file and copy them into an ArrayList to be placed into the appropriate “Word Banks” ● These “Word Banks” will hold onto the words to be randomized and displayed during the Game Screen in which the User will try to correctly type and match the words displayed.

Slide 8

Slide 8 text

Game Screen ● The Game Screen features a rectangular GUI with the words “Press any key to start” front and center to provide the User the option to start the game whenever they are ready. ● The background of the Game Screen features a 600x600 pixel image of an Apple iMac that is imported from the game’s library named “TypingGame” located at the Desktop directory.

Slide 9

Slide 9 text

Game Screen: Code In-Depth ● The KeyListener “listens” for a key press from the User, then the game will begin. ● The conditions for the game is that when the User correctly types the word shown on the screen, it will disappear and another word will be shown. ● Every word displayed on the screen is randomly selected by the code from the “Word Bank” that stores the words from the imported text file. ● “typingGame.label.setForeground(Color.BLACK)” is used to set the color of the words to Black when it is being displayed. ● “typingGame.label.setForeground(Color.RED)” is used to set the color of the word to Red on the condition that the User has incorrectly typed it.

Slide 10

Slide 10 text

Game Screen: Code In-Depth ● When the User incorrectly types a word, it will turn the color of the word Red and promptly display the End Screen with the Score. ● There is also a “hidden” timer of 3000 milliseconds or 3 seconds that if the User does not finish typing the word, then the game will end and promptly display the End Screen with the Score.

Slide 11

Slide 11 text

Game Screen: Code In-Depth ● For every word the User types correctly, the score will increment by 1. ● The TypingGame will continue until the User makes a mistake or exceeds the time limit then the End Screen will popup and display the Score. ● Pressing the “OK” button will bring the User back to the Game Screen and reset the Score to zero.

Slide 12

Slide 12 text

Bugs & Errors ● One issue we ran into is with the countdown timer. We were trying to implement a 60 second countdown timer, but because we were operating within the limits of “System.currentTimeMillis()” we were dealing with Milliseconds rather than Seconds which made things a bit complicated.

Slide 13

Slide 13 text

Sounds & Design Multiplayer Polymorphism Planned Updates