473,399 Members | 2,774 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,399 software developers and data experts.

I have problems with creating the classic game Wumpus. the file:

Im trying to create a version of the game Wumpus. Mine is called
Belzebub. But im STUCK! And its due tuesday 2 maj. Im panicing! Can
some one help me??
here is the file:
http://esnips.com/webfolder/b71bfe95...d-39999a9e36d0

What i have the biggest problems with now is between line 8 and 23.
How i can move the character trough the game. Other parts of the game
that have with the movement to do is between line 83-114 and 123-143.

This is part of the spec:
"The player walks around in the hallways, finds and tries to kill
Wumpus (Belzebub). The game finishes when the player or Belzebub dies.
The player has bombs which he can shoot. When he shoots he can
controll th ebombs for three moves, north, south, east or west three
times. If he is not careful he can shoot himself, ex first move:
north. second move south.
Let every room be represented by the object room. In the object,
information of what exists in the room is stored. (Belzebub,
teleporters, fire traps, acid traps or nothing). and where the
halways leads. (north hallway leads to room 17, the east to room 2
etc.). Create a list of room objects to represent the hallways (every
room have has a number).
The content of the rooms shall be randomized in the beginning of
the program. Aproximatly 20% of the rooms should contain traps, 30%
should contain teleporters and in one of the rooms is Belzebub. One
room can not contain more than one danger, no traps and teleporters
together etc.
Teleporters transports the player from one room to another
random room. If the player encounters a trap o Belzebub he is killed
and GAME OVER.
The halways should also be randomized in the beginning of the
program. Like this:

* Create a list with all the room numbers and shuffle it so all of
the rooms is in a mixed order. ex. [5 2 12 18 9 1 3 6 14 19 11 7 17 4
20 16 10 15 8 13]

* Connect the rooms in east-west direction so that the east hallway
from room 5 leads to room 2 and the west hallway from room to leads
back to room 5 etc. The last room in the lest should be connected
with the first.

* Shuffle a new list and do the same thing in north-south direction.

Once again the file: http://esnips.com/webfolder/b71bfe95-d363-4dd3-
bfad-39999a9e36d0

Apr 25 '06 #1
10 2063

connyledin wrote:
Im trying to create a version of the game Wumpus. Mine is called
Belzebub. But im STUCK! And its due tuesday 2 maj. Im panicing! Can
some one help me??
here is the file:
http://esnips.com/webfolder/b71bfe95...d-39999a9e36d0

What i have the biggest problems with now is between line 8 and 23.
How i can move the character trough the game. Other parts of the game
that have with the movement to do is between line 83-114 and 123-143.

This is part of the spec:
"The player walks around in the hallways, finds and tries to kill
Wumpus (Belzebub). The game finishes when the player or Belzebub dies.
The player has bombs which he can shoot. When he shoots he can
controll th ebombs for three moves, north, south, east or west three
times. If he is not careful he can shoot himself, ex first move:
north. second move south.
Let every room be represented by the object room. In the object,
information of what exists in the room is stored. (Belzebub,
teleporters, fire traps, acid traps or nothing). and where the
halways leads. (north hallway leads to room 17, the east to room 2
etc.). Create a list of room objects to represent the hallways (every
room have has a number).
The content of the rooms shall be randomized in the beginning of
the program. Aproximatly 20% of the rooms should contain traps, 30%
should contain teleporters and in one of the rooms is Belzebub. One
room can not contain more than one danger, no traps and teleporters
together etc.
Teleporters transports the player from one room to another
random room. If the player encounters a trap o Belzebub he is killed
and GAME OVER.
The halways should also be randomized in the beginning of the
program. Like this:

* Create a list with all the room numbers and shuffle it so all of
the rooms is in a mixed order. ex. [5 2 12 18 9 1 3 6 14 19 11 7 17 4
20 16 10 15 8 13]

* Connect the rooms in east-west direction so that the east hallway
from room 5 leads to room 2 and the west hallway from room to leads
back to room 5 etc. The last room in the lest should be connected
with the first.

* Shuffle a new list and do the same thing in north-south direction.

Once again the file: http://esnips.com/webfolder/b71bfe95-d363-4dd3-
bfad-39999a9e36d0


Once again, that's not a file. And enclose your URLs in <>, that way
Google won't split them.

Apr 25 '06 #2
the file is on that side. But apparently you have to register to
download it.. =( But i can send it to anone who is willing to look
trough it. just send me an email co*********@telia.com

Apr 25 '06 #3

co*********@gmail.com wrote:
the file is on that side. But apparently you have to register to
download it.. =( But i can send it to anone who is willing to look
trough it. just send me an email co*********@telia.com


Ok, e-mail it to me.

But I cannot guarantee anything. I'll peruse it at my leisure.

Apr 26 '06 #4
I have sent it to you now. Thanks for looking at it.

Apr 26 '06 #5
i just mailed it to you. Thanks for looking at it.

Apr 26 '06 #6
connyledin wrote:
Im trying to create a version of the game Wumpus. Mine is called
Belzebub. But im STUCK! And its due tuesday 2 maj. Im panicing! Can
some one help me??
here is the file:
http://esnips.com/webfolder/b71bfe95...d-39999a9e36d0

What i have the biggest problems with now is between line 8 and 23.


Perhaps you could post those lines so we get an idea of what's going
wrong. You also really need to explain what exactly you are hoping to
achieve, and in what way it isn't working. I don't think anybody is
likely to give you a full solution because that would defeat the
object.

--
Ben Sizer

Apr 26 '06 #7
Ben Sizer wrote:
connyledin wrote:
Im trying to create a version of the game Wumpus. Mine is called
Belzebub. But im STUCK! And its due tuesday 2 maj. Im panicing! Can
some one help me??
here is the file:
http://esnips.com/webfolder/b71bfe95...d-39999a9e36d0

What i have the biggest problems with now is between line 8 and 23.

Perhaps you could post those lines so we get an idea of what's going
wrong. You also really need to explain what exactly you are hoping to
achieve, and in what way it isn't working. I don't think anybody is
likely to give you a full solution because that would defeat the
object.

I have trouble to get rid of the impression, that the (hidden from
direct detection) goal of the original posting is some kind of promotion.

Claudio
Apr 26 '06 #8
the thing is that im too much of a beginner to oint exactly to whats my
problem is... =( I need help by someone looking at the program and
presenting the solution... Im lousy, i should have choosen an easier
assignment.

Apr 26 '06 #9

co*********@gmail.com wrote:
i just mailed it to you. Thanks for looking at it.


Returning.

Comments added by me start #m.

I tried to keep all your original lines commented out and
added my fixes with #m on either side, but there were
so many errors I had to give up. I tried to preserve the
code of the first mistake and simply deleted multiple
repetitions of the same mistake.

Note I made a couple structural changes, move some
variables and deleted others. This in addition to fixing
the goofy errors you made trying to move to the
next room.

Movement now works correctly (I think, did not verify
the map, it doesn't allow you to go back the way you
came). In addition to now correctly printing the room
number, I added the room contents in square brackets.
You'll need to know that in order to handle the traps.

You've got a lot of code still commented out, better
get moving.

# -*- coding: cp1252 -*-
#Belzebub
#Conny Ledin

import random
from Tkinter import *

#creates a room class
class room(object):#,trap):
def __init__(self, trap):
self.trap = trap
#inserts content in rooms
#m
#m why do you need get_trap()?
#m room_list[current_room].trap will return the trap content
#m
def get_trap():
return trap

#creates a room list with content
room_list = []
#0=Nothing, 1=fire trap, 2=acid trap, 3=teleporter, 4=belzebub
trap_list = [0,0,0,0,0,0,0,0,0,1,1,2,2,3,3,3,3,3,3,4]
random.shuffle(trap_list)
for i in range(0,20):
r = room(trap_list[i]) #crates a room object whith content (trap)
room_list.append(r)

#creates a list with rooms
nextto_list1 = range(0,20)

#shuffles the list with rooms for movement in east/west direction
random.shuffle(nextto_list1)

#shuffles another list with rooms for movement in north/south direction
#m
#m this line doesn't work, nextt0_list2==None
#m nextto_list2 = random.shuffle (nextto_list1)
#m
nextto_list2 = range(0,20)
random.shuffle(nextto_list2)
#m
#m placed here, current_room is a global variable
current_room = 0
#m

root = Tk()

#creates GUI
class application(Frame):

def __init__(self, master):
#creates frame
Frame.__init__(self, master)
self.grid()
self.create_widgets()

def create_widgets(self):
Label(self,text = "Whats your next move?").grid(row = 0, column
= 0, sticky = W)
Label(self, text = "Choose one: ").grid(row = 1, column = 0,
sticky = W)
self.choice = StringVar()
#creates text box
self.results_txt = Text(self, width = 60, height = 10, wrap =
WORD)
self.results_txt.grid(row = 7, column = 0, columnspan = 4)
#creates radiobutton for north
Radiobutton(self, text = "Go North",
variable = self.choice,
value = "north",
command = self.move
).grid(row = 2, column = 0, sticky = W)
#creates radiobutton for east
Radiobutton(self, text = "Go East",
variable = self.choice,
value = "east",
command = self.move
).grid(row = 3, column = 0, sticky = W)
#creates radiobutton for south
Radiobutton(self, text = "Go South",
variable = self.choice,
value = "south",
command = self.move
).grid(row = 4, column = 0, sticky = W)
#creates radiobutton for west
Radiobutton(self, text = "Go West",
variable = self.choice,
value = "west",
command = self.move
).grid(row = 5, column = 0, sticky = W)
#creates radiobutton for shooting
Radiobutton(self, text = "Deploy bomb",
variable = self.choice,
value = "shoot",
command = self.shoot
).grid(row = 6, column = 0, sticky = W)

#creates a function for movement
def move(self):
#m tell move() that current_room is a global and not local
#m to this block
global current_room
#m
message = ""
message += self.choice.get()
print message
if message == "north":
#m I modified next_room to pass the direction, you don't need it saved
#m direction = 2
#m
#m next_room() returns the new room index, but you aren't saving it,
#m so it's being lost
#m next_room()
#m
#m ok, that's better, you're trying to save it, but what you
#m forgot the (), so you're saving the location of the function,
#m not calling it. note we can't make that mistake if we have to pass
#m parameters to the function
#m current_room = next_room
current_room = next_room(current_room,2)
#m
message = "You enter the next room to the north "
message += str(current_room)
#m show what's in the room
message += ' [' + str(room_list[current_room].trap) + ']'
#m
if message == "south":
#m
current_room = next_room(current_room,-2)
#m
message = "You enter the next room to the south "
message += str(current_room)
#m show what's in the room
message += ' [' + str(room_list[current_room].trap) + ']'
#m
elif message == "east":
#m
current_room = next_room(current_room,1)
#m
message = "You enter the next room to the east "
message += str(current_room)
#m show what's in the room
message += ' [' + str(room_list[current_room].trap) + ']'
#m
elif message == "west":
#m
current_room = next_room(current_room,-1)
#m
message = "You enter the next room to the west "
message += str(current_room)
#m show what's in the room
message += ' [' + str(room_list[current_room].trap) + ']'
#m
self.results_txt.delete(0.0, END)
self.results_txt.insert(0.0, message)
root.title("Chasing Belzebub")
#creates a function for shooting
def shoot(self):
message = ""
message += self.choice.get()
print message
## if message == "shoot":
## belzebub.die()

#creates a randomized grid with rooms that the player can move trough
#m
#m changed to pass function current_room and desired direction
#m
def next_room(cr,d):#direction, current_room):
#east/west
#m these need to be global?
#m current_room = 1
#m direction = 1 # no need for this at all
#m
#m
if cr == 0 and d == -1:
#m next_room is the name of the function, use a different name for
variable
#m otherwise you're returning the function address, not the result
#m if current_room == 0 and direction == -1:
#m next_room = nextto_list1[19]
nr = nextto_list1[19]
elif cr == 19 and d == 1:
nr = nextto_list1[0]
elif d == 1 or d == -1:
nr = nextto_list1[cr + d]
#north/south
elif cr == 0 and d == -2:
nr = nextto_list2[19]
elif cr == 19 and d == 2:
nr = nextto_list2[0]
elif d == 2:
nr = nextto_list2[cr + 1]
elif d == -2:
nr = nextto_list2[cr - 1]
# return next_room
return nr

###creates a player class
##class player(object):
## def __init__(self):
##
## #all the ways the player can die and GAME OVER displays
## def die(self, fire_trap, acid_trap, belzebub):
## if acid_trap.kill:
## print "Im sorry to say that you have melted./n"
## "Better luck next time/n"
## "GAME OVER!"
## elif fire_trap.kill:
## print "Oh my! Your hair is on fire./n"
## "GAME OVER!"
## elif belzebub.kill:
## print "Belzebub got you, have a lovely time in HELL!/n"
## "GAME OVER"
##
###creates a fire trap class
##class fire_trap(object):
## def __init__(self):
## #ser till att spelaren dör
## def kill(self, player):
## player.die()
##
###creates a fire trap class
##class acid_trap(object):
## def __init__(self):
## #ser till att spelaren dör
## def kill(self, player):
## player.die()
##
###creates a Belzebub class
##class belzebub(object):
## def __init__(self):
## #ser till att spelaren dör
## def kill(self, player):
## player.die()
## ##ser till att belzebub dör
## def die(self, player):
## if bomb
####
def main():

app = application(root)
root.mainloop()

## for i in nextto_list1 or nextto_list2:
## #skapa ett rum

main()

Apr 27 '06 #10
This is so great!!! I know i have alot of work left to do and i
probobly wont make it in time which means that i can only get the grade
E on the assignment... But at this stage it feels like ill be happy
with any grade i get, just to have this behind me. Programming is
apparently not my thing. It feels like the movement was the hardest
part of the prog though, IM HOPING!! THANK YOU !!!!

Apr 27 '06 #11

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Suzie | last post by:
Hello, I'm only new at this so please bear with me! I am creating an ontology for a color game and i am using the pizza tutorial as a basis for it. I did everything and when I went to save the...
6
by: Keith | last post by:
I have been using ASP in it's VBScript form for some time, but I only tend to learn what I need to know as I need to know it, so I am by no means an expert and spend a lot of time on here asking...
4
by: Gonzalo Aguirre | last post by:
i have a classes diagram like this ------------ * ---------- | Vehicles | ------------------------- | Parking| ------------ vehicles ---------- ^ |...
3
by: Eric Lilja | last post by:
Hello, I'm creating a small utility for an online game. It involves parsing a text file of "tradesskill recipes" and inserting these recipes in a gui tree widget (similar to gui file browsers if...
21
by: matvdl | last post by:
I have a system that was originally developed in asp - the pages are saved in SQL (there are over 10,000 pages) and saved to a temp directory in the server when requested by a client. I have...
9
by: Niels Jensen | last post by:
Hi All, I'm desperately looking for help regarding the following: I need to make a hexmap in it's own scrollable window on a form, when I say hex map I mean a graphical hexagon surrounded by...
3
by: Newbie | last post by:
Hi All Trying to create a mini-ASP web dev with a couple of PCs at school. When the teachers are happy with the site on the LAN then going to upload it to the school site. Problem is having...
2
by: vertozia | last post by:
Hey there, ive been having difficulty placing an image, this is my screenshot, and what ive done so far: http://img341.imageshack.us/img341/9894/gridwg2.jpg /** * ConnectFourGUI * Provide...
8
by: tidiz | last post by:
Hi, I'm trying to make a hangman game that should look like this: Welcome to Hangman ______ Your guess: c Success! __cc__ Your guess: b
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.