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

📄 qb

📁 rpg游戏源码
💻
字号:
第二天                                                                           
                                                                                 
为了让游戏显得有趣些,让我们使用 RND 在迷宫内制造一些怪物吧。而每个房间内        
出现的金币多寡,则需视看守者的强弱而定。OK,请接著输入以下程式:                 
                                                                                 
CLS                                                                              
DIM monster(10, 10)                             :REM  <--- new                   
FOR count1 = 1 TO 10                            :REM    |                        
 FOR count2 = 1 TO 10                           :REM    |                        
  monster(count1, count2) = INT(RND * 11)       :REM    |                        
 NEXT count2                                    :REM    |                        
NEXT count1                                     :REM   _|                        
                                                                                 
row = 5                                                                          
column = 5                                                                       
moveErr$ = "You cannot move in that direction!"                                  
exitRow = INT(RND * 10) + 1                                                      
exitColumn = INT(RND * 10) + 1                                                   
gold = 0                                                                         
                                                                                 
DIM monster$(10)                            :REM  <--- new                       
RESTORE monsterData                         :REM    |                            
FOR count = 1 TO 10                         :REM    |                            
 READ monster$(count)                       :REM    |                            
NEXT count                                  :REM   _|                            
                                                                                 
LOCATE 14, 1                                                                     
PRINT "Commands:   n - north"                                                    
PRINT "            s - south"                                                    
PRINT "            e - east"                                                     
PRINT "            w - west"                                                     
PRINT "            x - use exit"                                                 
PRINT                                                                            
PRINT "            q - quit"                                                     
                                                                                 
DO                                                                               
 LOCATE 1, 1                                                                     
 PRINT "Your position:"; row; column                                             
 IF ((row = exitRow) AND (column = exitColumn)) THEN                             
  LOCATE 2, 1                                                                    
         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                                                     
          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                                                                   
我们需要在每个房间增加一个数值,来记录每个房间内的怪物种类。 还记得迷宫的        
规模吧?没错, 我们需要 10x10 的空间来储存这些资料。 还记得主角的位置是以        
row 与 column 两个变数来记录的吗?同样地, 我们也可以用类似的方式来记录房        
间内的怪物。 因此只要透过 column,row 变数值,就可以得知主角所在位置内的生        
物种类了(透过 monster(row, column) 来完成)。                                   
                                                                                 
在程式的开头,  我们设定了每个房间的怪物种类,  范围从  0  到  10  (记住        
,INT(RND*11) 是不可能产生 11 这个数值的)                                       
                                                                                 
那麽, 为什麽不从 1 编到 10 呢?这是因为 0 被用来作为空房间(无怪物存在)        
之用。                                                                           
                                                                                 
READ与RESTORE是做什麽用的?                                                      
                                                                                 
READ 命令会自动找寻程式中的 DATA 叙述, 并读取其後对应的资料。 除非你使用        
RESTORE 命令改变资料读取的启始位置, 否则资料将从第一个 DATA 叙述开始读取        
                                                                                 
                                                                                 
为什麽要使用   READ、  DATA   的资料储存与读取方式,   我们不是也可以用像        
monster$(1) = "blind bat "、monster$(2) = "rat " 的作法来处理吗?                
                                                                                 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -