• 0

how do i write this in pseudocode?


Question

i understand this is not vb or c++ or anything, i used a program called python and its pretty simple to understand if someone could help me write it in pseudocode that would be awesome thankyou.

#version 0.0.5

class Game:

# Initialises variables

def __init__(self):

self._exit = False

# Array of known commands

self._commands = {

'go': self._go,

'quit': self._quit,

"look" : self._look}

# Array of go sub commands, used by _go

self._commands_go = {"north": self._go_north,

"south" : self._go_south,

"east" : self._go_east,

"west" : self._go_west,

"up" : self._go_up,

"down" : self._go_down}

# Method for parsing command, if it gets "comamnd" returns ("command",None)

@staticmethod

def parse_command(string):

index = string.find(' ')

if index < 0:

return (string, None)

return (string[:index], string[index+1:])

# This is main method; the only one which should be called from outside

# It will just read data from input in never ending loop and parse commands

def run(self):

while not self._exit:

src = input('> ')

(command,args) = Game.parse_command( src)

# Do we have this command, execute it

if command in self._commands:

self._commands[command](args)

else:

print("huh?")

#######################################################

############## All game commands go here ##############

#######################################################

def _quit(self,args):

self._exit = True

print("OK ... but a small part of you may never leave until you have personally saved Muirfieland from the clutches of evil .. Bwahahahahahah (sinister laugh)")

def _look(self,args):

print("You see nothing but endless void stretching off in all directions")

# movement handling, will get executed when user types 'go ...' and '...' will be in arg

def _go(self,args):

if args is None:

print("please tell me more",)

return False

# splits sub command and arguments

(command,args) = Game.parse_command(args)

if command not in self._commands_go:

print( "Sorry, I'm afraid I can't do that !")

return False

self._commands_go[command](args)

return True

# directions

def _go_north(self, args):

print("You wander of in the direction of north")

def _go_south(self, args):

print("You wander of in the direction of south")

def _go_east(self, args):

print("You wander of in the direction of east")

def _go_west(self, args):

print("You wander of in the direction of west")

def _go_up(self, args):

print("You wander of in the direction of up")

def _go_down(self, args):

print("You wander of in the direction of down")

#runs the game

game = Game()

game.run()

Link to comment
https://www.neowin.net/forum/topic/1149082-how-do-i-write-this-in-pseudocode/
Share on other sites

15 answers to this question

Recommended Posts

  • 0

If you understand the code that you have pasted then there should be no need for us to write the pseudocode for you. As a general rule in development, the pseudocode comes before the real code in an attempt to keep you focused. If you understand the code above then you can just break down what it does in to simple English.

  • Like 2
  • 0

strange question, I agree with Intrinsica. To write it in pseudocode you just have to describe what it does in normal english without elaborating too much. It's not like there is an accepted standard for pseudocode, because that would make it code ;)

  • 0

If you understand the code that you have pasted then there should be no need for us to write the pseudocode for you. As a general rule in development, the pseudocode comes before the real code in an attempt to keep you focused. If you understand the code above then you can just break down what it does in to simple English.

no its not my homework...

i agree with what your saying but ive already written out the code..

just a few questions, do define something in pseudocode do you "dim" it in pseudocode?

heres what ive got so far.


class game
dim _init_(self):
self._exit = false
self._command = { "go" : self._go, "quit" : self._quit, "look" : self._look}
self._commands_go = {"north" : self._go_north, "south" : self._go_south, "east" : self._go_east, "west" : self._go_west, "up" : self._go_up, "down" : self._go_down}
@staticmethod
dim parser(string):
index = string. find (" ")
if index < 0 then
return (string, none)
end if
return (string(:index), string(index+1:))
dim run(self):
while not self._exit:
src = input("> "
(command,args) = game.parse_command(src)

if command in self._commands then
self._commands[command](args)
else:
print("huh?")
end if
dim_quit(self,args):
self._exit = true
print("OK ... but a small part of you may never leave until you have personally saved Muirfieland from the clutches of evil .. Bwahahahahahah (sinister laugh)")
dim _look(self,args):
print("You see nothing but endless void stretching off in all directions")
dim_go(self,args):
if args is none then
print("please tell me more")
return false
end if
(command,args) = game.parse_command(args)
if command not in self._commands_go then
print("Sorry, I'm afraid I can't do that !")
return false
end if
self._commands_go[command](args)
return true
dim _go_north(self, args):
print("You wander of in the direction of north")
dim _go_south(self, args):
print("You wander of in the direction of south")
dim_go_east(self, args):
print("You wander of in the direction of east")
dim_go_west(self, args):
print("You wander of in the direction of west")
dim_go_up(self, args):
print("You wander of in the direction of up")
dim_go_down(self, args):
print("You wander of in the direction of down")
game = game()
game.run()

[/CODE]

  • 0

Ok, a fair start. But here's the thing: I try to think of pseudocode like when I'm trying to explain to an end user what I'm doing and they don't understand computers. It's sort of in between actual code and pure English.

For example:

Request value for int from user
if int &gt; 5
goto [step 2]
else
goto [step 3]

[step 2] = say "Hello"

[step 3] = say "Leave me alone"

From that you can understand what is happening in the code without having to be a programmer. Note that the above example isn't the best in the world, but hopefully it helps to get the idea across.

  • 0

Ok, a fair start. But here's the thing: I try to think of pseudocode like when I'm trying to explain to an end user what I'm doing and they don't understand computers. It's sort of in between actual code and pure English.

For example:

Request value for int from user
if int &gt; 5
goto [step 2]
else
goto [step 3]

[step 2] = say "Hello"

[step 3] = say "Leave me alone"

From that you can understand what is happening in the code without having to be a programmer. Note that the above example isn't the best in the world, but hopefully it helps to get the idea across.

i understand what you're saying, but I'm defining and using classes, not if statements

  • 0
i understand what you're saying, but I'm defining and using classes, not if statements

You're right, but I'm also not going to write out your pseudocode for you. ;)

At the top of your code you set your commands and sub-commands.

Next it looks like you're waiting for the user to input a command.

Once the input has been given, the program jumps to the necessary location to execute the result.

The above is more English than it is pseudocode, and you would also want to provide more detail about each of the commands on the last section.

There's no need to think in classes and arrays for pseudocode (at least, in my mind). The whole point of pseudocode is that it is a way for anyone to understand what the program is doing at each step, almost like the commenting that you already added in the code itself.

  • 0

Pseudocode is usually used so non-programmers can understand what a piece of code does, or to express to a programmer what his/her code should do, without actually knowing any programming language.

Your 'pseudocode' looks like you just replaced 'def' with 'dim', and 'if... :' with 'if...then'.

Ask yourself this; would a non-programmer even know what 'dim' is?

You say your code is a class and some functions. I say it could very easily be expressed in a series of if statements.


Get user input
If input 1st word = "go" then
If input 2nd word = "north" then
print "wandering north"
else if input 2nd word = "south" then
print "wandering south"
...
end 2nd word check
else if input 1st word = "look"
print "you see nothing"
...
end 1st word check
[/CODE]

I'm sure if you give that to your mom, she'd probably grasp what the code is trying to do.

  • 0

Pseudocode is usually used so non-programmers can understand what a piece of code does, or to express to a programmer what his/her code should do, without actually knowing any programming language.

Your 'pseudocode' looks like you just replaced 'def' with 'dim', and 'if... :' with 'if...then'.

Ask yourself this; would a non-programmer even know what 'dim' is?

You say your code is a class and some functions. I say it could very easily be expressed in a series of if statements.


Get user input
If input 1st word = "go" then
If input 2nd word = "north" then
print "wandering north"
else if input 2nd word = "south" then
print "wandering south"
...
end 2nd word check
else if input 1st word = "look"
print "you see nothing"
...
end 1st word check
[/CODE]

I'm sure if you give that to your mom, she'd probably grasp what the code is trying to do.

oh ok, i always through pseudocode was mean for "non programmers" to understand YOUR code, not how it works

This is homework- my school sniffer is in full force.

im just doing purely a out of my own curiosity, yes im in year 12 software design and development, and i need to know pseudocode but my skills arent exactly very good, so i got an existing program which was a project and im using that as an example.

  • 0

oh ok, i always through pseudocode was mean for "non programmers" to understand YOUR code, not how it works

Well, pseudocode doesn't really have a rigid definition. You can do whatever you like, depending on the target audience.

If you're trying to explain a program you just wrote to your mom, then you probably want to express it in REALLY simple terms as I did above.

If you're trying to explain the code to a fellow programmer unfamiliar to Python, you could probably use some jargons from a language that he understands, and simplify the code (e.g. don't even bother including the 'self' argument. It doesn't contribute to what the code does).

It's a bit like public speaking; know your audience, and how much to 'dumb it down' so they understand what you're talking about.

  • 0
Well, pseudocode doesn't really have a rigid definition. You can do whatever you like, depending on the target audience.
I wish they had told us that in university back when they started asking for programs in "pseudocode"... Everyone was so confused as to what to write exactly!
  • 0

I wish they had told us that in university back when they started asking for programs in "pseudocode"... Everyone was so confused as to what to write exactly!

thats exactly how i feel!!,like we went over pseudocode in class, but everyone has there weaknesses and unfortunatly pseudocode is mine, and i suppose the "form" of pseudocode we learned was different because i cant find that 'form' on the internet or anything. which is why im asking people for help.

I wish they had told us that in university back when they started asking for programs in "pseudocode"... Everyone was so confused as to what to write exactly!

i mostly dont learn software from websites and help, i learn from examples and i see how they do it and pick up techniques/theory from that

  • 0

It's just whatever you want it to be really. I feel most comfortable coding in Java, so my psuedocode basically looks like Java but leaves out a lot of the more complicated stuff (less strict with type safety, leaving out ; in places, ...).

Psuedocode should just be readable, and you should be able to create real code from psuedocode so it shouldn't be too concise. Just enough to make people understand what it does no matter what language they code in.

This topic is now closed to further replies.
  • Posts

    • The AI data centers need it more than us so...let them gobble it all up at that price!
    • "CRAZIER than ever!" Crazy Taxi: World Tour is officially coming soon by Pulasthi Ariyasinghe Sega announced it is working on bringing back some of its classic franchises in 2023, and while it has taken some time, the company finally gave fans a look at one of these new projects at the Xbox Games Showcase today, which turned out to be a brand-new Crazy Taxi entry. Watch the debut trailer above, which has snippets of gameplay in between the cinematic bits while blasting a track from The Offspring. Dubbed Crazy Taxi World Tour, this installment is aptly being described as being "CRAZIER than ever!" The director behind the original, Kenji Kanno, is helming this new entry as well, which will come with access to five new cities to drive in, competitive multiplayer modes, a vehicle customization system, and more. Axel is returning as a protagonist as well, but this time a mystery driver is offering him the opportunity to take his adventures to the streets in other countries. This will involve Axel chasing down masked villains that have somehow stolen his taxi, which means even more extreme missions and challenges to overcome. "From transporting passengers at top speed to tackling unique side missions and odd jobs across dynamic maps, there are countless ways to drive crazy and rake in big money," says Sega about this new installment after over 20 years. "Perform outrageous drifts, catch insane air, and drive at crazy speeds across five different cities as you work to deliver passengers and complete a variety of missions and challenges." The studio has even confirmed an in-game Arcade Mode that players will be able to access containing the original games for plenty of nostalgic action. Crazy Taxi: World Tour is currently slated to release sometime in 2027 across PC, Xbox Series X|S, PlayStation 5, and Nintendo Switch 2.
    • This and Crazy Taxi are the two games that interested me the most from this showcase.
    • Good, because the nonstop chattering from the voices in her head made me quit the second game.
    • This new cabinet design lets you run AMD, Intel, and Nvidia PCs inside one case by Sayan Sen At Computex 2026 earlier this month, AMD announced a couple of new X3D processors for both sockets AM4 and AM5 as it confirmed the support extension of the latter till 2029. And although Intel didn't unveil any new desktop chips, the company's Core Ultra 200S Plus series is relatively new too. Let's say though that you want the best of both worlds simultaneously, and instead of running two different systems, you can have both running together side-by-side, or rather on top of one another. That's exactly what Thermaltake's CAPO X dual system is made for doing. While it's not exactly mandatory to run AMD with Intel, or vice versa, you get the idea. As you can see in the render above, it is essentially like a double-decker PC case that is capable of holding two microATX (mATX) motherboards. Even running just one discrete graphics card in a PC can get toasty, so you may be wondering how well the cooling is designed on the CAPO X, Thermaltake has confirmed, as is evident from the marketing promo image above, that the case supports up to two 360 mm AIO liquid coolers. 420mm is not supported. In total there is room for 13 120mm case fans. In terms of I/O (input/output) options for the two systems, there are naturally two places for those ports, one at the top and one at the very bottom of the chassis in the front panel. In terms of use cases, there are many possibilities. Thermaltake itself, for example, highlights how one system can be your main PC while the other could be the AI agent PC. Another example given is how it can be used to stream and game simultaneously with dedicated systems instead of hogging one with the entire load. Nothing regarding pricing or availability was said. Source: Thermaltake (YouTube, X)
  • Recent Achievements

    • Proficient
      Eric Biran went up a rank
      Proficient
    • Dedicated
      Conjor earned a badge
      Dedicated
    • Week One Done
      Windows Guy earned a badge
      Week One Done
    • Dedicated
      Mark Spruce earned a badge
      Dedicated
    • Collaborator
      conkir earned a badge
      Collaborator
  • Popular Contributors

    1. 1
      +primortal
      492
    2. 2
      PsYcHoKiLLa
      247
    3. 3
      Steven P.
      72
    4. 4
      +Edouard
      68
    5. 5
      ATLien_0
      67
  • Tell a friend

    Love Neowin? Tell a friend!