- Dependencies
- Starting the Application
- Using the Application
- Instructions
- License
- Attributions
- What I Learned
- This is a project where a user can play various games in their terminal.
- This project was made to complete the assignment
Phase 3 Project
for theSE-West-091123
class for the Flatiron Software Engineering Boot Camp. - The project was completed using the following:
python
,sqlite3
.
-
The following is needed to run this application:
pyenv
,python
,sqlite3
. -
You must have access to these dependencies in the directory that you are running this application in. If your environment does not have these requirements, you may install them in this order by going to these websites and following the installation instructions:
-
sqlite3
should come standard onmacOS
. You can check by typingwhich sqlite3
in the terminal. If you do not see a response like/usr/bin/sqlite3
then you probably need to install it. Go here to do so codecademy - install sqlite on mac -
To install
sqlite3
on awindows
machine, go here codecademy - install sqlite on windows
- Open a terminal window in the main directory of where this project is located on your computer.
- Run
pipenv install
. - Then run
./cli.py
- It should take you to the main menu of this app that looks like this:
- ==============================================
- ==============================================
- If the name you type in exists in the player table of the database, the app will log you in as that player.
- If the name does not exist, the app will create a new player in the database.
- After logging in the app should take you to the main menu of this app that looks like this:
- ==============================================
- ==============================================
- You can select any of the available options listed in the menu by selecting the appropriate number.
- You can play any of the games or review table information associated with the player
- Wordle Guide
- How to play Minesweeper
- How to play Hangman
- Instructions for
Anagrams
:- You get a list of letters located at the top of the terminal. You have one minute to make as many words as you can out of the letters listed. You can only use a letter once for each time it appears in the list. For ex., if there is only one 's' in the list you cannot choose the word 'chess' as a valid answer. Answers must be at least 2 letters long. You receive more points, and more bonus points, for longer words.
- Instructions for
Typeracer
:- You are given a prompt in the terminal. Your goal is to type out the prompt as fast as you can to get a higher score and words per minute typed. The prompt is case sensitive and makes sure that the letter typed matches the next letter in the phrase.
- This project is is made in conjunction with the standard
MIT
license provided byGitHub
upon creation of a new repository. A copy of the license is included with this project in a file named:LICENSE
.
- The project was authored by:
Danner Baumgartner
,Isaac Song
, andBrian Richie Sr.
- This project was created with combination of skills learned from the
Flatiron
curriculum and our own individual research. - The data used to seed the original data prior to being modified for the purposes of this project was supplied by Dracos created by
M Somerville
. The data consisted of an expansive file of 5-letter words for our version of Wordle created byJosh Wardle
. - We used Array_This created by
populu
to convert the data in an iterable list to easily store each word in our database. - We used Free Dictionary Api created by Suraj (github handle - meetDeveloper) to check the validity of each word entered by the user in the
Anagrams
game. - We used Hangman created by Bernhard Breytenbach (github handle - Xethron) to seed the database with Hangman words and phrases
- And of course, thank you Stack Overflow.
Danner
: Working with python has truly been an awesome experience. Aside from some getting used to and some finnickey behavior, its an awesome language all around and definitely very beginner friendly. This project has been so much fun to work on, and i can see my teammates passion for code really show. Im so grateful to be a part of the community atFlatiron
and im super excited to learn more, and see what the rest of the phases have to offer.Isaac
: Transitioning from web development using JavaScript and React to object-oriented programming using Python has been an intense learning experience. It was very fun learning how to display text inside of a terminal as opposed to displaying colors or images on a website. Python has opened up endless possibilities to what application I can create. With amazing help of Brian and Danner, we were able to use intricate algorithms to create the logic for the games in our application and display the game in the terminal. I am grateful for theFlatiron
community for bringing this opportunity and I look forward to diving deeper into the world of programming!Brian
: I learned a lot more about the versatility ofPython
in its ability to interface withSQL
databases and the terminal directly. I can see the potential of combiningPython
with a front-end langauge to make some incredible apps. The team was great. We collaborated well and were very supportive of each other's struggles with completing this project. We also inspired one another's creativity throughout this process. Thank you Danner, Isaac, and theFlatiron
community.