Tips till labb 6
Uppgift 6.1
Tips till labb 6
Uppgift 6.1
Ett exempel på ett dictionary som används för att representera ett rum är följande room = {"name":"Start", "desc":"The walls and floor are made of stone. You feel cold", "north":"North", "east":None, "south":None, "west":None}
Uppgift 6.2
Inga tips än.
Uppgift 6.3
Inga tips än.
Uppgift 6.4
Inga tips än.
Uppgift 6.5
Lagring av rummen i ett dictionary kan göras t.ex. så här
Skapa ett tomt dictionary för att lagra rummen
rooms = {}
Rummen kan sedan lagras i detta dictionary direkt när de skapas:
rooms["Hallen"] = create_room("hallen")
Eller så kan man kapsla in detta i en funktion för att minska risken för mänskliga fel:
def add_room(name):
global rooms
rooms[name] = create_room(name)
En generaliserad variant kan se ut på följande sätt:
def add_room(name, desc, n_exit=None, e_exit=None, s_exit=None, w_exit=None):
"""Skapar och lägger till ett rum i globala dictionaryt rooms"""
global rooms
# Skapa rum och lägg till beskrivning
tmp_room = create_room(name)
set_description(tmp_room, desc)
# lagra rummet i dictionaryt rooms med rummets namn som nyckel
rooms[name] = tmp_room
# lägg till utgångar om vi fått några
if n_exit:
set_north_exit(tmp_room, n_exit)
if e_exit:
set_east_exit(tmp_room, e_exit)
if s_exit:
set_south_exit(tmp_room, s_exit)
if w_exit:
set_west_exit(tmp_room, w_exit)
Uppgift 6.6
Om vi har ett dictionary rooms som innehåller alla våra rum och det första rummet vi är i heter "start", lagrar vi vår nuvarande position enligt följande:
current_room = rooms["start"]
I huvudloopen vet vi då att följande kan användas för att skriva ut beskrivningen för det rum vi befinner oss i (se 6.8):
print_room_desc(current_room)
Uppgift 6.7
Inga tips än.
Uppgift 6.8
Inga tips än.
Uppgift 6.9
Inga tips än.
Sidansvarig: Jody Foo
Senast uppdaterad: 2013-02-18
