在项目中给了我randomcoord函数。这就是为什么在其他任何地方都没有提到它。这是伪代码,我只想检查它是否有任何问题。
该程序应该是一个10x10网格的游戏,玩家在中间开始并且必须输入上,下,左或右的命令,以便在20回合中找到毒药的解毒剂或者你死。
这是最低限度,但我添加了一个故事,我也想以某种方式添加墙壁,我只是想知道我到目前为止是否有任何问题,如果有人愿意帮助我在这里创建墙壁游戏。
墙壁的功能是,如果玩家登陆该空间,程序会显示“这里有一堵墙”,然后将玩家放回原来的位置。
有人可以帮我吗?
Declare Integer x
Declare Integer y
Declare String Decision
Declare String direction
Declare Integer turn
Set px = 5
Set py = 5
Call randomCoord
Call randomCoord
Set tx = randomCoord
Set ty = randomCoord
Declare Integer Map [10] [10]
Function Integer moveUp
If px+1>10then
Display "there is a wall here"
Else
set px = px + 1
End If
End Function
Function Integer moveDown
If px-1<0 Then
Display "there is a wall here"
Else
set px = px - 1
End If
End Function
Function Integer moveLeft
If py-1<0 Then
Display "there is a wall here"
Else
set py = py - 1
End if
End Function
Function Integer moveRight
If py+1>10 Then
Display "there is a wall here"
Else
set py = py + 1
End If
End Function
Module Main ()
Do
Display "Your name is Vladsworn, you are a Powerful Necromancer. During your travels you stumbled upon the town of Ascalon. This town is full of theives, beggars, mages
who practice blood magic, and a corrupted King. Its getting dark out and it looks like its going to rain so you look for a place to stay, there is a run down inn with a giant
hole in the roof but you decide to check it out anyway. You walk in and see the innkeeper at the desk and she is talking to an shady elf man. He seems to be a ranger, he has a bow
on his back along with a quiver, he has long blonde hair. You walk up to the desk and ask the innkeeper for a room, she says that the only room left is on the top floor, right
under the hole, Just then the elf says that you can stay in his place for the night if you need to, its in the forest surrounding the town high up in the trees. Do you
want to stay at the inn? or take a chance staying with the elf man you just met? please type either elf, or inn"
Do
Input decision
Display "You dont see anything like that around here, your only two choices are either the elf mans house in the trees or the run down inn in Ascalon"
Until decision == elf or decision == inn
If decision == elf Then
Display "You decide to take a chance and stay with the elf man, he takes you to his house in the trees and on the way you talk to him and find out alittle about him, first
You find out his name is Adrian You find out that the reason he is in this shady town is that he has been looking for the blood mage who killed his mother, his sources say
that he still lives in this town and hes been here searching for him for months and didnt find anything on his wherabouts. He asks you if you
would like to aid him on his quest and says that he will pay you greatly if you do so you decide to help him. Finally you arrive at the Adrians treehouse, its much bigger than
you expected, its high above a huge redwood tree with stairs cut into the side of the tree. you climb up the stairs and enter the house, its a nice little hut with a bedroom,
a small kitchen and a trophy room with dragon heads on the walls. Adrian hands you a bedroll and you are so tired you immediately lay down and fall asleep.
After a couple of hours of sleep you are woken up suddenly to a sharp pain in your neck and the sound of Adrian yelling and fighting someone. you stand up and see Adrian
battling a mage, a blood mage but then he dissapears into black smoke. Adrian explains to you that this was the blood mage he was looking for and he has realized he has been
followed. also that he has injected you with a magic poison only he has the antidote to. Adrian speculates you only have about 20 days to live unless you find the antidote
so you and Adrian set off right away to find and kill the mage."
Else
Display "You decide to stay in the inn despite the hole in the roof. you dont know anything about this elf man and why he was so eager to have you stay with him, at least the innkeper
isnt as shady as the elf. its hard to sleep but you manage to go to sleep but after a couple of hours you awake to find your whole room is on fire, you see a dark
shadowy figure moving closer to you. you try to cast a spell but he seems unnafected he keeps moving towards you until he stops suddenly right in front of you and stabs you
right through the heart with his pointed staff. You are dead"
End If
While decision == inn
Display "You and Adrian run into the town in search for the blood mage you start in the town square in the center of town, you can move up, down, left, or right. which way do
you want to move"
Do
Display "which way do you want to move now?"
Input direction
set turn=turn+1
If direction == up or direction == Up Then
Call moveUp
Else
If direction == down or direction == Down Then
Call moveDown
Else
If direction == left or direction == Left Then
Call moveLeft
Else
If direction == right or direction == Right Then
Call moveRight
Else
Display "I dont understand"
End If
End If
End If
End If
Until px==tx and py==ty or turn==20
If px==tx and py==ty Then
Display "You found the antidote and are no longer effected by the poison! now you must find and kill the blood mage. To Be Continued"
Else
Display "You feel the poison slowly draining your life force, you fall dead on the ground"
答案 0 :(得分:0)
显示&#34;你和阿德里安跑进城里寻找你在镇中心城镇广场开始的血法师,你可以向上,向下,向左或向右移动。哪种方式 你想移动&#34;
应该在while循环之前
If direction == up or direction == Up Then
Call moveUp
Else
If direction == down or direction == Down Then
Call moveDown
Else
If direction == left or direction == Left Then
Call moveLeft
Else
If direction == right or direction == Right Then
Call moveRight
Else
Display "I dont understand"
End If
End If
End If
End If
尽可能使用Switch语句
记录移动是否成功
在移动结束时增加转弯,并且仅在移动成功时