(Bin Anfänger) .
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: utf-8 -*-
from random import *
from pickle import *
import pickle
import time
import random
import sys
tot = False
game_data = {
"essen":9,
"koll":True,
"arbeiter":1,
"krieger":0,
"stufe":1,
"hunger":0
}
BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE = range(8)
FOREGROUND = 30
RESET_SEQ = "\033[0m"
COLOR_SEQ = "\033[1;%dm"
def colored(text,color):
""" Faerbt den ausgabe text ein.
>>>colored(‘whatever‘,RED)
whatever #wuede dann in Rot erscheinen
"""
start = COLOR_SEQ % (FOREGROUND + color)
return start + text + RESET_SEQ
def start():
"""
Anfang des Spieles,
Laden von Spielstaenden
und Andmincode.
"""
global game_data
global essen
global koll
global arbeiter
global krieger
global stufe
global hunger
global koeniginnename
print(colored("Wilkommen in der Welt der Welt der Ameisen!",BLUE))
print()
print(colored(" ANTWORLD!",BLUE))
print "\n\n"
load = raw_input("Laden?").lower()
if load == "ja":
files = open("/Users/nundn/save.dat","rb")
game_data = pickle.load(files)
files.close()
koeniginnename = raw_input("Wie heißt die Koenigin?")
if koeniginnename == "couven":
pasw = raw_input("Passwort:")
if pasw == "100200000500000100":
game_data = {
"essen":100000000000000,
"koll":False,
"arbeiter":1000000000000,
"krieger":100000000000,
"stufe":1000000000000000000000000000000000000000000,
"hunger":0
}
print "Hi Admin!"
print "Dein Stand wude mit Adminrechten ausgetatet!"
else:
print "Ungueltiges Passwort!"
print("Dann los\n")
essen = game_data["essen"]
koll = game_data["koll"]
arbeiter = game_data["arbeiter"]
krieger = game_data["krieger"]
stufe = game_data["stufe"]
hunger = 0
def sammeln(arg):
"""
Aendert die Varable essen um arbeiter*2+stufe.
"""
global arbeiter
global essen
global stufe
dauert = 5
print("Essen wird gesammelt")
print("Das dauert {} Sekunden".format(dauert))
for i in range(1,dauert):
sys.stdout.write("Noch {} Sekunden\r".format(dauert - i))
sys.stdout.flush()
time.sleep(1)
print("Essen gesamelt!")
print("Du hast {} Essen gesammelt".format(arbeiter*2+stufe))
essen = essen + arbeiter*2+stufe
print("Du hast jetzt {} Essen".format(essen))
def kol(arg):
"""
pass
"""
global koll
global essen
if koll:
if essen > 9:
print("Kollonie erstellen")
print("Das dauert 10 Sekunden und kostet 10 Essen")
essen = essen - 10
for i in range(1,10):
sys.stdout.write("Noch {} Sekunden\r".format(10 - i))
sys.stdout.flush()
time.sleep(1)
print("Kollonie erstellt")
koll = False
else:
print(colored("Nicht genug Essen!",RED))
else:
print(colored("Du hast schon eine Kollonie!",RED))
def amer(arg):
"""
Erhoet Arbeiter oder wahlweise Krieger um
einen angegebenen Wert sofern dieser
mit der emomaentigen menge essen belahlbar ist.
"""
global essen
global krieger
global arbeiter
print("Erstellen")
print("Deine Ameisen: \nArbeiter:{0}\nKrieger:{1}\n".format(arbeiter,krieger))
wahl = raw_input("Welche willst du erstellen?").lower()
if wahl == "arbeiter":
print "Du kannst {} Arbeiter erstellen".format(essen//2)
menge = raw_input("Wie viele?")
menge = int(menge)
if menge <= essen//2:
essen = essen - menge*2
arbeiter += menge
print "{} Arbeiter erstellt!".format(menge)
else:
print colored("Nicht genug Esssen!",RED)
elif wahl == "krieger":
print "Du kannst {} Krieger erstellen".format(essen//5)
menge = raw_input("Wie viele?")
menge = int(menge)
if menge <= essen//5:
essen = essen - menge*2
krieger += menge
print "{} Krieger erstellt!".format(menge)
else:
print colored("Nicht genug Esssen!",RED)
def ameri(arg):
"""
Prueft ob der Spieler eine Kollonie hat.
wen Ja: wird amer ausgeführt.
wen Nein: wird eine Fehlermeldung ausgegeben.
"""
global koll
if koll:
print(colored("Du brauchst eine Kollonie!",RED))
else:
amer(arg)
def hilfe(arg):
"""
Gibt die emomentigen Komandos aus.
"""
print("Hilfe:\n")
for i in commands:
print(i)
print("\n")
def angriff(arg):
"""
Anhant der zahl der krieger wird
eine aenderung des essenswertes vorgenommen.
"""
global essen
global krieger
print "Angriff!"
sieg = randint(0,krieger+1)
if sieg != 0:
print colored("Du hast gewonnen!",GREEN)
stolen_essen = randint(1,stufe * 20)
print "Du hast {} Essen gestolen!".format(stolen_essen)
essen += stolen_essen
else:
print colored("Du hast verloren!",RED)
stolen_essen = randint(1,stufe * 10)
print "Es wurde dir {} Essen gestolen!".format(stolen_essen)
essen -= stolen_essen
def debug(arg):
global tot
dateiw = open("/Users/nundn/Ant.py","r")
text = dateiw.read()
print text
dateiw.close()
tot = True
def shop(arg):
"""
Ermoeglicht
den zugriff auf ameri(arg) und ein nicht funktionierendes
Angebot an Essen.
"""
print "Shop:"
kauf = raw_input("Was willst du kaufen?").lower()
if kauf == "essen":
print "1:10000000 Essen 0.99€"
print "2:1000000000 Essen 4.99€"
print "3:100000000000 Essen 9.99€"
print "4:100000000000000000000 Essen 99.99€"
raw_input("Waehle ein Angebot(Nummer eigeben)")
print colored("Nicht genug Guthaben!",RED)
elif kauf == "ameisen":
ameri(arg)
elif kauf == "anderes":
pass
print
def fuetern(arg):
"""Setzt hunger auf 0
und aendert essen um arbeiter+krieger//2"""
global essen
global hunger
global arbeiter
global krieger
hunger = 0
essen = essen - ((arbeiter+krieger)//2)
print "Ameisen gefuetert !"
def abfrage(arg):
"""Gibt die Werte von
eesn,arbeiter,krieger,stufe und hunger aus.
"""
global essen
global arbeiter
global krieger
global stufe
global hunger
print"Dein Essen:",essen
print"Deine Arbeiter:",arbeiter
print"Dein Krieger:",krieger
print"Dein Level:",stufe
print"Dein Hunger:",hunger
def aus(arg):
"""Bended das Spiel
und ermoglicht das Speichern von
Spielstaenden.
"""
global tot
global game_data
global essen
global koll
global arbeiter
global krieger
global stufe
global hunger
global koeniginnename
tot = True
sp = raw_input("Speichern?").lower()
if sp == "ja":
game_data = {
"essen":essen,
"koll":koll,
"arbeiter":arbeiter,
"krieger":krieger,
"stufe":stufe,
"hunger":hunger
}
files = open("/Users/nundn/save.dat","wb")
dump(game_data,files)
files.close()
print("Auf wiedersehen!")
commands = {
"sammeln":sammeln,
"end":aus,
"kollonie":kol,
"eier":ameri,
"help":hilfe,
"info":abfrage,
"angreifen":angriff,
"shop":shop,
"feed":fuetern,
"debug":debug
}
def update(arg):
"""
Ueberprueft eine Reihe von bedingungen
und führt darufhin Funktionen aus.
"""
global stufe
global essen
global hunger
global arbeiter
global krieger
hunger += 1
if essen > stufe * 100+ stufe*100:
stufe = stufe + 1
print("\n\n\n")
print(colored("!!Level up!!",MAGENTA))
print"Dein neuer Level:",stufe
print("\n\n\n")
num = randint(1,17)
if hunger > 17:
print colored("Deine Kollonie ist verhungert!",RED)
aus(arg)
elif hunger > 9:
print colored("Es sind {} Ameisen verhungert!".format(randint(0,arbeiter)),RED)
arbeiter = arbeiter - randint(0,stufe//2)
elif hunger > 6:
print colored("Deine Ameisen haben Hunger!",RED)
if arbeiter+krieger < 1:
print "Deine Kollonie wurde zerstoert!"
aus(arg)
if num == 1:
angriff(1)
def isCMD(command):
"""
Ueberprueft aub das Kommando
in Commands vorkommt.
"""
if command in commands:
return True
else:
return False
def runCMD(command,args):
"""
Fuehrt ein Kommando aus.
"""
commands[command](args)
def auswahl():
"""Nimmt die eingabe auf.
"""
while tot == False:
update(1)
akk = raw_input("Was willst du machen?\n")
akk = akk.split()
akk.append("unused")
if isCMD(akk[0]):
runCMD(akk[0],"")
start()
auswahl()
#Bestergebnis:
#Dein Essen: 513038986592039626739052808209877647373
#Deine Arbeiter: 28117496345729821217529063402185206202
#Dein Krieger: 31055633242310176200259541157656998114
#Dein Level: 100000000000000000000000000140
#Dein Hunger: 7