?? qb
字號:
第三天
如果房間里的怪物不懂得攻擊,那干嘛還擺在那兒?
事不宜遲,馬上開始著手進行我們的『改造』工作:
CLS
DIM monster(10, 10)
FOR count1 = 1 TO 10
FOR count2 = 1 TO 10
monster(count1, count2) = INT(RND * 11)
NEXT count2
NEXT count1
row = 5
column = 5
moveErr$ = "You cannot move in that direction!"
pressKey$ = "Press any key to continue." :REM <--- new
exitRow = INT(RND * 10) + 1
exitColumn = INT(RND * 10) + 1
gold = 0
health = 20 :REM <--- new
weapon = 1 :REM _|
DIM monster$(10)
RESTORE monsterData
FOR count = 1 TO 10
READ monster$(count)
NEXT count
LOCATE 14, 1
PRINT "Commands: n - north"
PRINT " s - south"
PRINT " e - east"
PRINT " w - west"
PRINT " a - attack" :REM <--- new
PRINT " x - use exit"
PRINT
PRINT " q - quit"
DO
END IF
LOCATE 8, 1
INPUT "What now"; reply$
LOCATE 10, 1
PRINT SPACE$(79)
PRINT SPACE$(79)
PRINT SPACE$(79)
SELECT CASE reply$
CASE IS = "n"
IF row = 1 THEN
LOCATE 10, 1
PRINT moveErr$
ELSE
row = row - 1
LOCATE 10, 1
PRINT "You go north."
END IF
CASE IS = "s"
IF row = 10 THEN
LOCATE 10, 1
PRINT "You go east."
END IF
CASE IS = "x"
IF ((row = exitRow) AND (column = exitColumn)) THEN
IF gold < 100 THEN
LOCATE 10, 1
PRINT "You dont have enough gold!"
ELSE
LOCATE 10, 1
PRINT "You have escaped! Well done!"
END
END IF
END IF
CASE IS = "a" :REM <-- new
IF monsterType = 0 THEN
LOCATE 10, 1 :REM |
PRINT "There's nothing to attack!" :REM |
ELSE :REM |
DO WHILE ((monsterHealth > 0) AND (health > 0)) :REM |
LOCATE 10, 1 :REM |
PRINT SPACE$(79) :REM |
PRINT SPACE$(79) :REM |
LOCATE 10, 1 :REM |
attack = weapon + INT(RND * 9) :REM |
SELECT CASE attack :REM |
CASE IS = monsterAttack :REM |
PRINT "No one wins this round." :REM |
CASE IS > monsterAttack :REM |
PRINT "You deal the "; monsterName$; " a blow!":REM |
monsterHealth = monsterHealth - 1 :REM |
CASE IS < monsterAttack :REM |
PRINT "You have been wounded!" :REM |
health = health - 1 :REM |
END SELECT :REM |
PRINT pressKey$ :REM |
SLEEP :REM |
LOOP :REM |
LOCATE 10, 1 :REM |
IF health > 0 THEN
PRINT "You won the fight!" :REM |
PRINT "You found "; monsterGold; " pieces of gold!" :REM |
gold = gold + monsterGold :REM |
monsterType = 0 :REM |
DATA "troll 44" :REM |
DATA "bear 55" :REM |
DATA "lion 54" :REM |
DATA "sabretooth65" :REM |
DATA "elephant 78" :REM |
DATA "dragon 98" :REM _|
health 變數的初值為 20,每次遭到怪物攻擊後將會減少 1 點。 當此變數為 0 時
,就表示我們的主角『駕鶴西歸』了。
weapon 變數則代表主角所能增加的攻擊力:計算方式為weapon + INT(RND * 9)。
因此,主角的攻擊力范圍從 1 到 9。
MonsterAttack: 該怪物的攻擊能力。
VAL 命令可以將某一個字串轉換成十進制的數值。 舉例來說,VAL("10") 傳回值為
10,但VAL("ABC")將會導致錯誤。
MonsterHealth: 怪物資料的第二部份是該怪物的生命數值。當主角成功的擊中它時
,將會減少一些點數。當數值為 0 時,該怪物即被消滅。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -