VB °æ (¾«»ªÇø)
·¢ÐÅÈË: aaaz (ÎÒ×ÁË), ÐÅÇø: VB
±ê Ìâ: QB½ÇÉ«°çÑÝÓÎÏ·ËÄÌìд×÷¿Î³Ì(4)
·¢ÐÅÕ¾: ¹þ¹¤´ó×϶¡Ïã (2000Äê07ÔÂ27ÈÕ09:39:34 ÐÇÆÚËÄ), תÐÅ
·¢ÐÅÈË: netwolf (СÀÇ), ÐÅÇø: GAME_Designer
±ê Ìâ: QB½ÇÉ«°çÑÝÓÎÏ·ËÄÌìд×÷¿Î³Ì(4)
·¢ÐÅÕ¾: BBS ˮľÇ廪վ (Thu Jul 24 17:36:06 1997)
µÚÈýÌì
Èç¹û·¿¼äÀïµÄ¹ÖÎï²»¶®µÃ¹¥»÷£¬ÄǸÉÂﻹ°ÚÔÚÄǶù£¿
ʲ»Ò˳٣¬ÂíÉÏ¿ªÊ¼ÖøÊÖ½øÐÐÎÒÃǵġº¸ÄÔì¡»¹¤×÷£º
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
LOCATE 1, 1
PRINT "Your position:"; row; column
LOCATE 1, 25 :REM <--- new
PRINT "Gold:"; gold; " Health:"; health :REM _|
IF ((row = exitRow) AND (column = exitColumn)) THEN
LOCATE 2, 1
PRINT "You are at the exit!"
ELSE
LOCATE 2, 1
PRINT SPACE$(79)
END IF
LOCATE 3, 1
PRINT "Monster: ";
monsterType = monster(row, column)
IF monsterType = 0 THEN
PRINT "nothing "
ELSE
ELSE
monsterName$ = MID$(monster$(monsterType), 1, 10)
PRINT monsterName$
monsterAttack = VAL(MID$(monster$(monsterType), 11, 1)) :REM <--- new
monsterHealth = VAL(MID$(monster$(monsterType), 12, 1)) :REM |
monsterGold = monsterType * INT(RND * 6) :REM _|
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 moveErr$
ELSE
row = row + 1
LOCATE 10, 1
PRINT "You go south."
END IF
CASE IS = "w"
IF column = 1 THEN
LOCATE 10, 1
PRINT moveErr$
ELSE
column = column - 1
LOCATE 10, 1
PRINT "You go west."
END IF
CASE IS = "e"
IF column = 10 THEN
IF column = 10 THEN
LOCATE 10, 1
PRINT moveErr$
ELSE
column = column + 1
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 |
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 |
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 |
monster(row, column) = 0 :REM |
PRINT pressKey$ :REM |
SLEEP :REM |
ELSE :REM |
PRINT "The "; monsterName$; " killed you!" :REM |
PRINT "Game over!" :REM |
END :REM |
END IF :REM |
END IF :REM _|
CASE IS = "q"
LOCATE 10, 1
PRINT "Bye!"
END
END SELECT
LOOP
monsterData:
DATA "blind bat 21" :REM <--- changed
DATA "rat 11" :REM |
DATA "snake 31" :REM |
DATA "goblin 23" :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 ʱ£¬¸Ã¹ÖÎï¼´±»ÏûÃð¡£
MonsterGold: ÎÒÃÇÔö¼ÓÁËÒ»¸öÒÔÂÒÊý·½Ê½²úÉúµÄÊýÖµ£¬×÷Ϊ»÷°Ü´Ë¹ÖÎïáá¿ÉÒÔ»ñµÃ
µÄ½ð±ÒÊýÄ¿¡£²»¹ýÓÉì¶ÎÒÃǵļÆË㷽ʽÊdzËÒÔ monsterAttack£¬Òò´Ë
µ±Äã»÷°Ü½ÏÄѲøµÄµÐÈËáᣬ¿ÉÒÔ»ñµÃ¸ü¶àµÄ½ð±Ò¡£
×¢Ò⣬ս¶·Ò»µ©·¢Éú£¬¾Í»á³ÖÐøµ½Ä³Ò»·½µ¹ÏÂΪֹ¡£
µ±¸Ã¹ÖÎï±»ÏûÃðáᣬ monsterType »á±»É趨Ϊ 0£¬Èç´ËÒ»À´Ö÷½Ç±ã²»»áÔÙÓöµ½Ïàͬ
µÄ¹ÖÎïÁË¡£
Monsters(row, column) = 0 µÄÐðÊöÔòÊǽ«¸Ã·¿¼äÄڵĹÖÎïÓèÒÔÇå³ý¡£ Òò´Ëµ±ÄãÔÙ
¶È½øÈë¸Ã·¿¼äʱ£¬±ã²»»áÔÙÔâÓöÈκÎÕ½¶·¡£
Ä㻹¼ÇµÃ SLEEP ÃüÁîÊÇÓÃÀ´ÔÝÍ£³Ìʽ¼¸ÃëÖÓµÄÂð£¿SLEEP ûÓиøÓè²ÎÊýµÄ»°£¬»á³Ö
ÐøµÈ´ý£¬Ö±µ½Ê¹ÓÃÕß°´¼üΪֹ¡£ ÎÒÃÇʹÓÃËûÀ´µÈ´ýʹÓÃÕß°´¼ü¡£µ±È»£¬ÄãͬÑùÒ²¿É
ÒÔʹÓà DO: LOOP UNTIL INKEY$ <> "" µÄ·½Ê½À´´¦Àí¡£
½ñÌì¾Íµ½´ËΪֹ°É¡£
ÔʹÓà DO: LOOP UNTIL INKEY$ <> "" µÄ·½Ê½À´´¦Àí¡£
½ñÌì¾Íµ½´ËΪֹ°É¡£
--
¡ù À´Ô´:¡¤BBS ˮľÇ廪վ bbs.net.tsinghua.edu.cn¡¤[FROM: 203.93.18.173]
--
¡ù À´Ô´:¡¤¹þ¹¤´ó×϶¡Ïã bbs.hit.edu.cn¡¤[FROM: 202.118.226.221]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
Ò³ÃæÖ´ÐÐʱ¼ä£º204.731ºÁÃë