Merge branch 'fruitual' of https://git.xpub.nl/XPUB/text-adventures into fruitual
commit
749676030b
@ -0,0 +1,162 @@
|
||||
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")
|
Loading…
Reference in New Issue