A Pomodoro Timer that allows you to collect Pokemon as you work.

Overview

Pomodoro: The Pokémon Collecting Game!

A fun take on the Pomodoro Technique

So, what does this application do?

This application utilizes the famous Pomodoro Technique and turns it into something fun rather than a mere timer. Players can start the Pomodoro timer and begin working, with options to pause the timer, end the timer, and more. Once the task is complete, they will receive a random Pokémon and may exit the timer in order to keep or release them, as well as give them a name. These kept Pokémon will then be added to your collection, in which you can view at any time. All of these features allow for a fun experience while motivating the player to complete real life tasks in order to expand their collection.

Gotta Catch 'Em All!

What audience does this application target?

This application is meant for people who struggle to be productive because working/studying is boring. No one wants to complete all their work just for there to be no reward at the end. This app attempts to make the user feel rewarded when they complete tasks so that they can feel motivated to do more work. This is known as positive reinforcement, a popular concept in psychology. While this application may resonate more strongly with individuals familiar with the Pokémon franchise, it can be picked up and enjoyed by anyone.

Why am I interested in making this application?

Throughout my entire life, I have played video games as a hobby. I love the fact that I can boot up a game and get immersed in a virtual world, alleviating the stress of my everyday life. Video games have always been very therapeutic to me, and is the reason why myself and many others love playing games. Pokémon has always been one of my favourite games and hold some of my best childhood memories. Furthermore, I've always been very interested in making my own game. I am hoping that creating this application can give me insight on some design aspects required to make a simple interactive game, while also being a project that genuinely seems fun to create.

User Stories

As a user, I want to be able to...

  • Start a Pomodoro Timer
  • Pause a Pomodoro Timer
  • Unpause a Pomodoro timer
  • Reset a Pomodoro Timer
  • Choose which Pokémon I want to add to my collection
  • Check my collection of Pokémon
  • Save my Pokémon collection to file
  • Load my Pokémon collection to file

Phase 4: Task 2

Fri Nov 26 11:28:09 PST 2021.
Added Pokemon to Collection.
Fri Nov 26 11:28:09 PST 2021
Added Pokemon to Collection.
Fri Nov 26 11:28:11 PST 2021
Saved Pokemon to JSON.
Fri Nov 26 11:28:11 PST 2021
Saved Pokemon to JSON.

Phase 4: Task 3

####If I had more time to work on this project, I would definitely improve on:

  • My cohesion in my PomodoroPokemonGUI class. Currently, I have multiple classes that represent different GUI menus within my PomodoroPokemonGUI class (e.g. TimerMenu, SelectionMenu, CollectionPanel), which I should probably have separated into different class objects in my ui package. I also have CustomOutputStream, which may have been better to also make a new class object for.

  • Simplifying my Pokemon collecting process by entirely eliminating the TempCollection class. I believe that there is a simpler way to keep track of which Pokemon are added or removed to my collection, and that the usage of TempCollection is a very roundabout way of doing so currently.

  • Make my TimerMenu less console-reliant and more graphical-reliant. Right now, it just creates a JTextArea of the console output. I would like to refactor it to display numbers as a JLabel on the GUI, but in order to do so, I must reduce the amount of coupling that would occur. I had initially attempted to do it this way, but found that coupling was too much of an issue.

© 2021 Pokémon. © 1995–2021 Nintendo/Creatures Inc./GAME FREAK inc. Pokémon, Pokémon character names, Nintendo Switch, Nintendo 3DS, Nintendo DS, Wii, Wii U, and WiiWare are trademarks of Nintendo.

You might also like...

Android library that allows you to determine your location in a few of lines!

Android library that allows you to determine your location in a few of lines!

locsimple Android library that allows you to determine your location in some lines! Benefits: automatic processing of permissions processing of enabli

Aug 31, 2022

1.7 - 1.18 utility class that allows you to change blocks at blazing fast speeds

BlockChanger 1.7 - 1.18 utility class that allows you to change blocks at blazing fast speeds Setup Just import the class to your project. Usage Playe

Dec 23, 2022

A simple app that allows you to view high quality aerial photos of Poland

A simple app that allows you to view high quality aerial photos of Poland

kalucky0 Maps A simple app that allows you to view high quality aerial photos of Poland Data source: Geoportal Contributing Contributions are always w

Apr 15, 2022

A manager tool to categorize game assets such as images and sounds/music. The tool enables you to tag these files, so that finding them by tags allows fast searches.

A manager tool to categorize game assets such as images and sounds/music. The tool enables you to tag these files, so that finding them by tags allows fast searches.

BtAssetManager This application allows you to easily categorize large amounts of image and sound files. You can apply tags to each individual file to

Sep 15, 2022

A mod for OneConfig that allows you to customize the hit color of any living entity to your liking.

A mod for OneConfig that allows you to customize the hit color of any living entity to your liking.

HitColor A mod for OneConfig that allows you to customize the hit color of any living entity to your liking. Features An option to toggle Armor being

Nov 5, 2022

This Web Application Allows A user to upload a two minutes Video. It uses Server Side Capabilities of Nodejs and Spring Boot .

This Web Application Allows A user to upload a two minutes Video. It uses Server Side Capabilities of Nodejs and Spring Boot .

VideoStreamingApplication Purpose Of This Application These days trend of short videos are on rise youtube recently realsed "Shorts" . So , taking ins

Nov 13, 2022

FactionRanking is a plugin that allows server administrators to put factions in competition in different rankings

Description FactionRanking is a plugin that allows server administrators to put factions in competition in different rankings (working for 1.7 and hig

Dec 22, 2022

An open source Minecraft plugin that allows operators to control who has access to the nether.

Nether Access Controller Description Nether Access Controller is a Minecraft plugin that allows operators to control access to the nether. It is essen

Feb 12, 2022

OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)

OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)

OpenAPI Generator Master (5.4.x): 6.0.x (6.0.x): ⭐ ⭐ ⭐ If you would like to contribute, please refer to guidelines and a list of open tasks. ⭐ ⭐ ⭐ ‼️

Dec 30, 2022
Owner
Kevin Wong
Computer Science Student at the University of British Columbia. Interested in game development and all things tech!
Kevin Wong
Desktop browser based game using the popular Pokemon franchise.

Project Title: Pokemon Auto-Battler Description: Desktop browser based game using the popular Pokemon franchise. Why? Its a topic we are interested in

null 2 Feb 3, 2022
Counting In-game Timer for Minecraft SpeedRun

SpeedRunIGT What is this mod? The Timer Mod for Minecraft Speedrun Features Display RTA/IGT timers In-game Auto Start & Pause the timer Support Many C

null 68 Jan 1, 2023
Program that allows employees to clock in and clock out of work. Employees who are managers can add, edit and delete employees and shifts from the database.

Clock-In-Clock-Out-System Created by: Kennedy Janto, Taylor Vandenberg, Duc Nguyen, Alex Gomez, Janista Gitbumrungsin This is a semester long project

null 6 Nov 5, 2022
A boilerplate project designed to work as a template for new microservices and help you get in touch with various useful concepts.

Microservice Reference Project This project is inspired by the idea to quickly create a production ready project with all the required infrastructure

Innovation & Tech 4 Dec 17, 2022
📊It includes all the work done during the Java-React Bootcamp.

?? Java + React Bootcamp ?? Part 1 - Java Part 2 - React ?? Lecture Class: Youtube ?? Instructor: Engin Demirog ?? Course Materials: Kodlama.io Bootca

İlknur Sucaklı 20 Jun 21, 2022
CoreLib - Necessary Libraries required to make the Cores work (API 1.0.13)

CoreLib Necessary Libraries required to make the Cores work (API 1.0.13) CoreLib is a collection of necessary libraries required to make the SurvivalC

OP Heroes Development Team 1 Jan 4, 2022
Example usage of work manager in Android, while doing this study, image downloading was preferred as a method.

android-workmanager-example Example usage of work manager in Android, while doing this study, image downloading was preferred as a method. Java 11 com

Adil Çetin 1 Jan 29, 2022
These are examples of work/homework from the Java Camp 2022.

Hi ?? , This is Java Camp 2022 Repository These are examples of work/homework from the Java Camp 2022. ?? I’m currently working on JavaCamp2022 ?? I’m

Sırrı KÖMÜR 3 Oct 19, 2022
Allows you to use the MongoDB query syntax to query your relational database.

Spring Data JPA MongoDB Expressions How it works: Customize JPA Repository base class: @SpringBootApplication @EnableJpaRepositories(repositoryBaseCla

Muhammad Hewedy 86 Dec 27, 2022
A Mixin framework for Spigot/Bukkit that allows you to hook custom event anywhere

A Mixin framework for Spigot/Bukkit that allows you to hook custom event anywhere. Start coding your advanced plugins today!

DragonCommissions 14 Nov 30, 2022