You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

162 lines
12 KiB
Python

import os , time , random
trollface = "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣤⣤⣴⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣦⣤⣤⣤⣀⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⢿⣟⣛⣭⡽⠶⠶⠶⠮⠭⠭⣭⣭⣭⣭⣭⣭⣭⣿⣿⣯⣭⣥⣄⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀\n⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⢟⣫⣶⠿⣫⣭⣶⠿⠿⣿⣿⣿⠿⢿⣷⣶⣮⣭⣭⣭⣭⣭⣷⣶⣶⣶⣾⣽⣿⣷⣦⡀⠀⠀⠀⠀⠀\n⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣫⣾⣟⣩⣞⣫⣵⣿⣿⣿⣿⣿⣿⣿⣯⢻⣿⣿⣿⣿⣿⣿⢻⣿⣿⣿⣿⣶⣍⡻⣿⣿⣿⣷⠀⠀⠀⠀⠀\n⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣵⣿⡿⠿⠛⠛⠛⠛⠿⣿⣿⣿⡇⣿⣿⣿⣿⣿⣣⣿⣿⣿⣿⠿⢿⣿⣷⣼⣿⣿⣿⣇⠀⠀⠀⠀\n⠀⠀⠀⠀⢀⣚⣯⣽⣿⣿⣿⣿⢻⣿⣏⡅⠀⠀⠀⠀⠀⠠⣿⣷⣯⡛⣿⣿⣿⣿⣿⣿⡿⠟⠉⠁⠐⣿⣿⣶⣽⣿⣟⣛⡻⠿⣦⡀⠀⠀\n⠀⢀⣴⣞⣯⣷⠶⣒⣛⣛⡻⢿⣷⣿⣷⣾⣶⣾⢟⣿⣿⣿⣶⣯⣟⣫⣿⣿⣿⣿⣿⣍⠀⣀⣤⣤⣬⣭⣽⣿⣿⣿⣿⣿⣿⣟⢶⡝⣦⠀\n⠀⣿⡿⣾⣿⣵⣿⣿⣿⣿⣿⣷⣾⣭⣽⣿⣭⣵⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⡿⠿⢟⣫⣭⣭⣽⣿⣷⣿⢸⠀\n⠀⣿⡇⣿⣿⣿⡿⠿⢟⣴⣬⣛⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⣿⣿⣿⣷⣝⣛⢿⣿⣿⣿⣿⣿⣿⡟⣿⣿⣿⢟⣿⢸⠀\n⠀⢿⣧⣿⣿⣿⣿⣿⣧⢻⣿⣿⣿⣷⣮⢙⡻⠿⣿⣿⣯⣭⣾⡇⣿⣿⣟⣭⣻⣿⣿⣿⣿⣿⡿⣸⣿⠿⢿⣿⣿⡿⡁⢹⣿⣷⢿⣱⠇⠀\n⠀⠀⠻⢷⣝⣿⣿⣿⣿⣧⠉⠻⢿⣿⣿⢸⣿⣿⣷⣶⣭⣝⢛⠿⢿⣿⣿⣿⣿⣿⣯⣙⣛⣭⣾⣿⣿⣿⣿⠿⡋⣾⣿⡈⣿⣿⣿⡏⠀⠀\n⠀⠀⠀⠀⠸⣽⣿⣿⣿⣿⣷⡽⣿⣷⣆⢘⠿⣿⣿⣿⣿⣿⢸⣿⣿⣶⣶⣶⡎⣭⣭⣭⣭⡩⣭⣭⣽⣦⣰⣿⣧⢿⣿⡇⣿⣿⣿⠀⠀⠀\n⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣮⣻⣏⣿⣿⣾⣯⣍⠛⠋⠻⢿⣿⣿⣿⣿⡇⣿⣿⣿⣿⡇⣿⣿⣿⣿⡟⣿⠟⠈⠉⠀⣿⣿⡏⠀⠀⠀\n⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣾⡿⣿⣿⣿⣿⣿⢦⣴⣦⣬⣍⡛⠛⠈⠛⠛⠛⠛⠁⠙⠛⠛⠉⠀⠀⠀⠀⢠⡆⣿⣿⡇⠀⠀⠀\n⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣮⣿⡻⣿⢏⣾⣿⣿⣿⣿⣿⣷⣶⣾⣷⣶⣄⣴⣶⣤⡤⣶⣶⡆⣾⡿⡸⣱⣿⣿⡇⠀⠀⠀\n⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⣷⣝⡻⢶⣽⣻⢿⣿⣷⣭⣝⣻⣿⡿⠿⠿⠏⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⡿⠱⣿⣃⣵⣿⣿⣿⣧⠀⠀⠀\n⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⢿⣶⣝⡻⢷⣮⣝⡻⢿⣿⣿⣿⣿⣿⣿⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣾⣿⣿⡿⣿⣿⣿⣿⣿⡄⠀⠀\n⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠿⢷⣮⣝⡻⢿⣷⣮⣭⣛⣻⠿⠿⣿⣶⣶⣶⣶⣿⣿⣿⠿⢿⣛⣽⣾⣿⡿⣹⣿⣿⡇⠀⠀\n⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⢿⣾⣶⣭⣽⣛⣛⠿⠿⠶⢶⣶⣶⣶⣶⡿⠿⠿⢟⣛⣭⣷⣿⣿⣿⣿⠇⠀⠀\n⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀\n⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠛⠛⠛⠛⠿⠿⠛⠛⠛⠉⠁⠀⠀⠀⠀⠀"
welcome = "\nHey, $tranger. You guessed it right, yeah, im a troll. $0 let's skip the FAKE P0LITENE$$ & get directly into the dirty busine$$ of FAKE NEW$. $hall we?"
autors = ['Average Citizen 1','Average Citizen 2','Average Citizen 3','NÄSA','UTOPIA TODAY']
bio = ['Hello world!:','Happy, generally speaking:','What a wonderful life:','Expløre the universe and discover øur høme plänet with @NÄSA.','Bursting the mainstream media bubble!']
tweets = ['This government is a complete and utter failure. #Resign! Losers!',' Happy, generally speaking: The Mainstream Media is one massive conspiracy. #FakeNews','Is everybody else stupid or what? The Earth is not flat, its a CUBE! #Conspiracy','Meteorite alert: large space object set to hit US West Coast. #BeSafe','The Best Words has just joined the fight against the mainstream media! #GoodNews']
# Setting up the current (saved) state
currentRoom = "newsroom"
start = True
following = False
produce = 0
items = {
"newsroom": ["knife", "computer", "resume", "cables", "toiletPaper"],
"trainingZone": ["employees", "snacks", "beer"],
"neutralzone": ['trainingZone','office,'],
"office": ["allSortsOfIsms", "secrets", "underWear", "bullShit"]
}
inventory = []
# Seperating the text and printing in delay so the content on the screen is readable and easy to comprehend
def printer (text):
for t in text:
print(t, end = "", flush= True)
time.sleep(random.choice([0.01, 0.05, 0.1, 0.03, 0.02]))
print()
# Defining the "taker" function and setting it up in each of the three rooms below
def taker(room):
if any(x in spliti for x in ["get", "grab", "take"]):
for item in items[room]:
if item in spliti:
printer("You took the " + item + ". Now what?")
inventory.append(item)
items[room].remove(item)
# Creating the while-loop
while True:
if (start == True):
printer("Troll Story: The Game")
print(trollface)
printer(welcome)
start = False
if (following == True):
printer("You Won! More Ethical Dilemmas coming you waaaaaay.")
exit()
# Clearing the screen: "cls" for Windows; "clear" for macOS
i = input()
os.system("clear")
spliti = i.split(" ")
# Creating an inventory
if "inventory" in i:
printer("In you current inventory is " + ", ".join(inventory))
# Choices in the newsroom
if currentRoom == "newsroom":
if i in ["yes","go","start"]:
printer("You're a journalist working for a small independent news outlet.\nYou're silently sitting on your desk in the newsroom, checking emails. Oh, shit! You just got a new one - a tip about a mysterious company called 'The Hive'.")
i = input("Read the email?")
if i == "read":
printer("Apparently, the company is rumoured to be a front for a massive online propaganda operation. So let's go undercover as an employee of The Hive and gather information to expose the truth behind the company's operations.")
currentRoom = "newsroom"
elif i == ["check","open","read"]:
printer("Apparently, the company is rumoured to be a front for a massive online propaganda operation. So let's go undercover as an employee of The Hive and gather information to expose the truth behind the company's operations.")
currentRoom = "newsroom"
elif i in ["look","see","explore"]:
printer("You look around your desk! There is a " + ", ".join(items["newsroom"]) + ". Which of these objects could get you inside the company?")
elif i in ["apply","get hired","start working","go undercover"]:
printer("You are hired as a $ocial media analy$t! You must navigate the company's workplace culture in order to gather information.\nAvoid arousing suspicion! Play along with The Hive's propaganda campaigns and maintain a low profile.")
currentRoom = "newsroom"
elif i in ["exit","walk","leave"]:
printer("You exit the newsroom. Go to work.")
currentRoom = "trainingZone"
else:
taker("newsroom")
# Choices in the training zone
elif currentRoom == "trainingZone":
if i in ["look","go","explore"]:
printer("You're in the Hive's training zone. Here hundreds of employees are vigorously typing on their keyboards. Let's talk with somebody!")
#printer("Oh look in the room! There is " + ", ".join(items["trainingZone"]))
elif i in ["talk","ask","say"]:
printer("Hey there, I'm new here. What should I do?")
printer("Welcome to The Hive, the best company to work in the entire metaWorse! We are working on a massive project aimed at analyzing public opinion and creating a brave, new world. Blah blah blah...")
i = input("Let's investigate further and get your hands dirty!")
if i == "investigate":
printer("Our company employs hundreds of workers. Each worker spends the day creating multiple social media accounts and posting tweets and memes.")
printer("Show us what you got! Get as many followers as you can. Post some viral (and by that we mean 'frustrating') tweets!")
elif i in ["write","produce","post","tweet"]:
printer('Autor: ' + random.choice(autors))
printer('Bio: ' + random.choice(bio))
printer('Tweet: ' + random.choice(tweets))
# The "gain-following" system. Every "produce" adds 1000 users to the player's following count. The goal is to reach 100 points or credits.
printer("You have worked $0 hard. If you keep it up you can get a promotion very $00N.")
produce = produce + 1000
printer("Follower count: " + str(produce) + " users.")
elif i in ["exit","walk","leave"]:
printer("You exit the training zone.")
i = input("Now what? Find the Master or get back and gain more followers?")
if i == "gain":
printer("You got back to the training zone.")
#currentRoom = "trainingZone"
elif i == "find":
printer("You exit the training zone.")
currentRoom = "neutralzone"
else:
taker("trainingZone")
# Choices in the neutral zone
elif currentRoom == "neutralzone":
if i in ["look","see","explore"]:
printer("You're in the neutral zone in The Hive's HQ.")
elif i in ["exit","walk","leave"]:
printer("There are two doors. The one on your left leads to the Hive's training zone, the other, to the Master's office.")
i = input("Which room? (left or right)")
if i == "left":
printer("You enter the training zone.")
currentRoom = "trainingZone"
elif i == "right":
printer("You enter the Master's office.")
currentRoom = "office"
else:
taker("neutralzone")
# Choices in the office
elif currentRoom == "office":
if i in ["look","see","view","explore"]:
printer("You're in the Master's office and looks like he is there. Let's investigate!")
printer("You look around and notice " + ", ".join(items["office"]) + ". Now, let's see if you can ask for a promotion and see if they trust you enough!")
# The 'gain followers' condition, if followers >= 5000 --> Life Dilemma If <4999 --> Go produce more propaganda.
elif i in ["talk","speak","ask"]:
printer("Master, please excuse me.")
printer("Master: Well, well... It's you, worker 1046385. Hurry up, I'm busy, what do you want?")
i = input()
if i in ["promotion","money","prestige","power"]:
if produce >= 5000:
printer("You've been very loyal to the company since you started here, I noticed. You will get what you asked for under one condition...\nDevide your followers and get them fight against each other just to keep them oblivios.")
printer("This game is inspired by the BAD NEWS game:https://www.getbadnews.com/books/english/ \nThe goal of the game is to expose the tactics and manipulation techniques that are used to mislead people and build up a following.\nChatGPT gave me some hints on the storyline.")
following = True
else:
printer("Your current follower count is " + str(produce) + " users. You're getting pretty good at this. Let's see how far we can take these skills you've learned. Come back when you hit 5000.")
elif i in ["exit","run","leave"]:
printer("You exit the Master's office.")
currentRoom = "trainingZone"
else:
taker("office")