Skip to content

Instantly share code, notes, and snippets.

@deepakshrma
Created November 21, 2021 21:40
Show Gist options
  • Save deepakshrma/eb07b0718c7d0f8dd70576565e766330 to your computer and use it in GitHub Desktop.
Save deepakshrma/eb07b0718c7d0f8dd70576565e766330 to your computer and use it in GitHub Desktop.
Code for Truth and Dare game
#!/usr/bin/python3
import json
from urllib.request import urlopen
import random
def print_logo(): printline("""
_________ __ __________ __
/_ __/ _ \/ / / /_ __/ // /
/ / / , _/ /_/ / / / / _ /
/_/ /_/|_|\____/ /_/ /_//_/
/ __/___
> _/_ _/
_|_____/ ___ ____
/ _ \/ _ | / _ \/ __/
/ // / __ |/ , _/ _/
/____/_/ |_/_/|_/___/""")
def printline(msg): print(f"\n{msg}\n")
class Color:
def colors_256(color_, msg=""):
return(f"\033[38;5;{str(color_)}m {msg} \033[0;0m")
def red(msg):
return Color.colors_256(9, msg)
def blue(msg):
return Color.colors_256(6, msg)
def yellow(msg):
return Color.colors_256(11, msg)
def green(msg):
return Color.colors_256(10, msg)
messages = {
'TRUTH': Color.yellow("""
████████╗██████╗ ██╗ ██╗████████╗██╗ ██╗
╚══██╔══╝██╔══██╗██║ ██║╚══██╔══╝██║ ██║
██║ ██████╔╝██║ ██║ ██║ ███████║
██║ ██╔══██╗██║ ██║ ██║ ██╔══██║
██║ ██║ ██║╚██████╔╝ ██║ ██║ ██║
╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝"""),
'DARE': Color.yellow("""
█████╗ █████╗ ██████╗ ███████╗
██╔══██╗██╔══██╗██╔══██╗██╔════╝
██║ ██║███████║██████╔╝█████╗
██║ ██║██╔══██║██╔══██╗██╔══╝
██████╔╝██║ ██║██║ ██║███████╗
╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝"""),
'NO_OF_PLAYER': Color.blue("Enter number of players: "),
'INPUT_COMMAND': Color.blue("""\nPlease enter your choice\n1) Truth \n2) Dare \n9) Restart Game\n0) End Game\n>"""),
}
truth_dare_url = 'https://gist.githubusercontent.com/deepakshrma/9498a19a3ed460fc662c536d138c29b1/raw/f29d323b9b3f0a82f66ed58c7117fb9b599fb8d5/truth-n-dare.json'
def num(i):
try:
i = int(i)
except:
i = 0
return i
def requestJson(url, default=[]):
data = default
try:
data = json.load(urlopen(truth_dare_url))
except:
print("Error while fetching data...")
return data
def main():
print_logo()
# Request truth_dare json data
truth_dare_list = requestJson(truth_dare_url)
# Parse and create list of truth and dare
truth_list = [
item
for item in truth_dare_list
if item["type"] == "Truth"
]
dare_list = [
item
for item in truth_dare_list
if item["type"] == "Dare"
]
# Take number of players
number_of_player = int(input(Color.blue("Enter number of players: ")))
print(Color.green(
f"{number_of_player} players are playing this game"))
# Current Player
current_player = 1
while True:
print(Color.blue(f"PLAYER NO:: {current_player}"))
choice_list = truth_list
# Take User input(choice)
command = num(
input(messages["INPUT_COMMAND"]))
# If exit, end the game
if command == 0:
break
# On user select TRUTH
if command == 1:
print(messages["TRUTH"])
# On user select Dare
elif command == 2:
print(messages["DARE"])
choice_list = dare_list
# Guess question from list
ran = random.randint(0, len(choice_list)-1)
question = choice_list[ran]["summary"]
print(Color.green(f"\n{question}\n\n"))
# Change player
current_player = 1 if current_player >= number_of_player else current_player + 1
print(Color.red("Thanks for playing Game TRUTH & DARE"))
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment