- The main objective for day 14 was to learn how to look at a given project (HigherLower Game), reverse engineer and then create individual tasks to produce a similar game using instagram followers for the data (in a dictionary format). Just like any other project, 'The objective' then split into smaller tasks.
The individual tasks were but not limited to:
Generate a random account from the game data.
Format account data into printable format.
Ask user for a guess.
Check if user is correct.
Get follower count.
If Statement
Feedback.
Score Keeping.
Make game repeatable.
Make B become the next A.
Add art.
Clear screen between rounds.
I also added a little more to kind of make it look prettier lol.
Since the day 1 start, all coding has been done with replit from https://replit.com. From Day 15 forwards we will start using Pycharm for our coding environment.
HigherLower Game Project
- import emojis from https://unicode.org/emoji/charts/emoji-list.html
import random
from replit import clear
from art import logo, hl, vs
import emoji
print(logo)
- Welcome data, what is your name? greet the player use an emoji
print("Welcome to the HigherLower Game. This game is based off the original which is hosted at http://www.higherlowergame.com/. ")
user_name = input("What is your name? ")
computer_response = print(emoji.emojize(f"Welcome {user_name.capitalize()}, 'Lets Play' :grinning_face: "))
def get_random_account():
"""Get random account details from game_data dictionary"""
from game_data import data
return random.choice(data)
def format_data(account):
"""Format account into printable format: name, description and country"""
name = account["name"]
description = account["description"]
country = account["country"]
#print(f'{name}: {account["follower_count"]}')
return f"{name}, a {description}, from {country}"
def check_answer(guess, a_followers, b_followers):
"""Checks followers against user's guess
and returns True if they got it right.
Or False if they got it wrong."""
if a_followers > b_followers:
return guess == "a"
else:
return guess == "b"
def game():
print(hl)
score = 0
game_should_continue = True
account_a = get_random_account()
account_b = get_random_account()
while game_should_continue:
#account_a = account_b
account_a = get_random_account()
account_b = get_random_account()
while account_a == account_b:
account_b = get_random_account()
print(f"Compare A: {format_data(account_a)}.")
print(vs)
print(f"Against B: {format_data(account_b)}.")
guess = input("Who has more followers? Type 'A' or 'B': ").lower()
a_follower_count = account_a["follower_count"]
b_follower_count = account_b["follower_count"]
is_correct = check_answer(guess, a_follower_count, b_follower_count)
clear()
print(hl)
if is_correct:
score += 1
print(f"You're right! Current score: {score}.")
else:
game_should_continue = False
print(f"Sorry, that's wrong. Final score: {score}")
game()
Top comments (0)