Weiter unten ist der Quelltext des Spiels zu finden bzw. unter 84.16.230.244/ssp-cgi.tar.gz oder 84.16.230.244/ssp-cgi.zip könnt ihr ihn herunterladen.
Mich interessiert eure Meinung:
Habt ihr irgendwelche Stilblüten oder Fehler entdeckt oder fallen euch Anregungen ein?
Ich werde vielleicht später einmal noch versuchen eine Login-Funktion und, darauf aufbauend, Top10-Listen (wer hat die größte Sieges- / Verluststrähne, etc.) einzubauen.
Ich habe auch schon etwas passendes gefunden: Die LoginTools scheinen genau das richtige für mein Vorhaben zu sein. Leider schlug das importieren fehl, als ich versucht habe, die LoginTools testweise einzubinden. Nunja, das hat ja noch Zeit.
Hier nun der Quelltext:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import cgi
import random
radio = cgi.FieldStorage()
answer_dict = {1: "Schere", 2: "Stein", 3: "Papier"}
if radio.has_key("ssp"):
radio_choice = radio["ssp"].value
else:
radio_choice = None
def checked(ui):
if ui == None:
return ("%s", 'checked="checked"', "", "")
elif ui == "Stein":
return ("%s", "", 'checked="checked"', "")
elif ui == "Papier":
return ("%s", "", "", 'checked="checked"')
else:
return ("%s", 'checked="checked"', "", "")
result_page = """Content-type: text/html\n
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>Schere, Stein, Papier</title></head>
<body>
<h1>Schere, Stein, Papier</h1>
<h2>%s</h2>
<hr>
<h2>Neues Spiel?</h2>
<form method="post" action="/cgi-bin/ssp-cgi.py">
<p>Schere, Stein oder Papier?<br />
<input type="radio" name="ssp" value="Schere" %s> Schere<br>
<input type="radio" name="ssp" value="Stein" %s> Stein<br>
<input type="radio" name="ssp" value="Papier" %s> Papier<br>
<input type="submit" value="Go!">
</p>
</form>
</body>
</html>\n""" % checked(radio_choice)
if not radio.has_key("ssp"):
print "Location: /ssp_index.html\n"
else:
# computer's choice and player's choice
cc = answer_dict[random.randint(1,3)]
pc = radio["ssp"].value
if cc == pc:
print result_page % "Unentschieden!"
elif cc == "Schere" and pc == "Stein":
print result_page % "Gewonnen! Stein schlägt Schere!"
elif cc == "Schere" and pc == "Papier":
print result_page % "Verloren! Schere schlägt Papier!"
elif cc == "Stein" and pc == "Schere":
print result_page % "Verloren! Stein schlägt Schere!"
elif cc == "Stein" and pc == "Papier":
print result_page % "Gewonnen! Papier schlägt Schere!"
elif cc == "Papier" and pc == "Schere":
print result_page % "Gewonnen! Schere schlägt Papier!"
else:
print result_page % "Verloren! Papier schlägt Stein!"
Code: Alles auswählen
<html>
<head><title>Schere, Stein, Papier</title></head>
<body>
<h1>Schere, Stein, Papier</h1>
<form method="post" action="/cgi-bin/ssp-cgi.py">
<p>Schere, Stein oder Papier?<br />
<input type="radio" name="ssp" value="Schere" checked="checked"> Schere<br>
<input type="radio" name="ssp" value="Stein"> Stein<br>
<input type="radio" name="ssp" value="Papier"> Papier<br>
<input type="submit" value="Go!">
</p>
</form>
</body>
</html>