Kleiner RPG-Dungeon
Verfasst: Montag 23. Oktober 2006, 17:38
Hi,
hier allererste Anfänge eines Rollenspiels, ähem, also eigentlich eher mehr ein Test der Bewegungen, ein 5X5-Felder großer Dungeon, noch keine Monster, Schätze oder auch nur Türen
.
Bisher Steuerung über input, soll aber über curses werden, also "n, e, s, w" drehen bisher die Blickrichtung, "go" bewegt in die Richtung (wie bei Bard's Tale (1986)).
Viele Grüße
hier allererste Anfänge eines Rollenspiels, ähem, also eigentlich eher mehr ein Test der Bewegungen, ein 5X5-Felder großer Dungeon, noch keine Monster, Schätze oder auch nur Türen
Bisher Steuerung über input, soll aber über curses werden, also "n, e, s, w" drehen bisher die Blickrichtung, "go" bewegt in die Richtung (wie bei Bard's Tale (1986)).
Code: Alles auswählen
#!/usr/bin/env python
from os import system
import sys
DUNGROW = 5
ouch = 0
move = [ [1,2,3,4],
[1,2,3],
[2,3,4],
[1,3,4],
[1,2,4],
[2,3],
[3,4],
[1,4],
[1,2],
[2],
[1],
[4],
[3],
[2,4],
[1,3]
]
dung = [ 9, 13, 4, 13, 7,
8, 11, 14, 10, 12,
14, 15, 14, 12, 10,
1, 13, 0, 13, 3,
5, 7, 12, 15, 12 ]
pos = 0
dir_ = 2
def TrDir(a):
if a == 1:
return("north")
if a == 2:
return("east")
if a == 3:
return("south")
if a == 4:
return("west")
def SayPos(pos,dir):
posn = int(pos/5)
pose = pos % 5
print
print "Scry Site says: Your position is:"
print pose, "step(s) east and"
print posn, "step(s) north of the entry stairs."
print
print "Your direction is", TrDir(dir) +"."
print
def CheckGo(pos, dir, dung, move):
if dung[pos] == 15:
return(pos)
a = move[dung[pos]]
for i in a:
if i == dir:
if dir == 1:
pos += DUNGROW
if dir == 2:
pos += 1
if dir == 3:
pos -= DUNGROW
if dir == 4:
pos -= 1
return(pos)
def ChDir(dir, com):
if com == "e":
dir += 1
if dir > 4:
dir = 1
if com == "w":
dir -= 1
if dir < 1:
dir = 4
if com == "r":
if dir < 3:
dir += 2
return (dir)
if dir > 2:
dir -= 2
return (dir)
def special(pos):
if pos == 0:
print "There are stairs here, going up."
print "Do you want to take them (y/n) ?"
print
comm = raw_input()
if comm == "y":
print
print "You climb out of the dungeon. You're happy to see daylight again."
print
sys.exit()
else:
system("clear")
SayPos(pos,dir_)
if pos == 6:
print "There are stairs here leading down."
print "But, alas, the way is blocked."
print
while(1):
if ouch == 0:
system("clear")
SayPos(pos,dir_)
ouch = 0
special(pos)
comm = raw_input("Your movement (n, e, w, s, r, go): ")
if comm == "apar":
pos = 0
dir_ = ChDir(dir_, comm)
if comm == "go":
x = CheckGo(pos, dir_, dung, move)
if pos == x:
print "\nOuch !\n"
ouch = 1
pos = x