⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qb

📁 rpg游戏源码
💻
字号:
第三天                                                                           
                                                                                 
如果房间里的怪物不懂得攻击,那干嘛还摆在那儿?                                   
事不宜迟,马上开始著手进行我们的『改造』工作:                                   
                                                                                 
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 + -