Project1

标题: 某新手作品-遍历地图+评价地图 [打印本页]

作者: abc612008    时间: 2012-3-11 18:27
标题: 某新手作品-遍历地图+评价地图
本帖最后由 abc612008 于 2012-3-11 19:19 编辑

求高手评价
从任务窗口+金钱窗口中删删减减算是弄好了
更新
V1.1
1、添加了ESC删除
2、更正了顺序
3、以50层魔塔为基准修改,更改了评分方法
V1.2
1、继续修改顺序。。。

召唤方法:$scene = Scene_LCPD.new
仅用于魔塔
RUBY 代码复制
  1. class Window_Lou < Window_Base
  2.   #--------------------------------------------------------------------------
  3.   # ● 初始化窗口
  4.   #--------------------------------------------------------------------------
  5.   def initialize
  6.     super(0, 0, 640, 480)
  7.     self.contents = Bitmap.new(width - 32, height - 32)
  8.     refresh
  9.   end
  10.   #--------------------------------------------------------------------------
  11.   # ● 刷新
  12.   #--------------------------------------------------------------------------
  13.   def refresh
  14.     self.contents.clear
  15.     self.contents.font.color = system_color
  16.     #self.contents.draw_text(左右, 上下, 宽, 高, 文字, 0左1中2右)
  17.     guai=0
  18.     npc=0
  19.     wu=0
  20.     lu=0
  21.     xue=0
  22.     bao=0
  23.     mo=0
  24.     mall=0
  25.     men=0
  26.     an=0
  27.     yao=0
  28.     for i in $game_variables[90][0]...$game_variables[90][0]+$game_variables[90][1]
  29.       for j in $game_variables[90][2]...$game_variables[90][2]+$game_variables[90][3]
  30.         if $game_map.have_an_event?(i,j)
  31.           k=$game_map.check_event(i,j)
  32.             mall=mall+1
  33.           if $game_map.events[k].event.name[0,6]=="怪物"
  34.             guai=guai+1
  35.           end
  36.           if $game_map.events[k].event.name[0,3]=="npc"
  37.             npc=npc+1
  38.           end
  39.           if $game_map.events[k].event.name[0,3]=="暗"
  40.             an=an+1
  41.           end
  42.           if $game_map.events[k].event.name[0,6]=="物品"
  43.             wu=wu+1
  44.           end
  45.           if $game_map.events[k].event.name[6,12]=="路障"
  46.             lu=lu+1
  47.           end
  48.           if $game_map.events[k].event.name[3,9]=="血瓶"
  49.             xue=xue+1
  50.           end
  51.           if $game_map.events[k].event.name[3,9]=="钥匙"
  52.             yao=yao+1
  53.           end
  54.           if $game_map.events[k].event.name[3,9]=="宝石"
  55.             bao=bao+1
  56.           end
  57.           if $game_map.events[k].event.name[0,6]=="魔力"
  58.             mo=mo+1
  59.           end
  60.           if $game_map.events[k].event.name[3,6]=="门"
  61.             men=men+1
  62.           end
  63.         end
  64.       end
  65.     end
  66.     x=30
  67.     melse=0
  68.     melse=mall-guai-npc-wu-lu-xue-bao-mo-men-an-yao
  69.  
  70.     #怪物 占50分 '50
  71.     #npc  占10分 '60
  72.     #物品 占10分 '70
  73.     #路障 占10分 '80
  74.     #血瓶 占30分 '110
  75.     #门   占30分 '140
  76.     #钥匙 占20分 '160
  77.     #宝石 占40分 '200
  78.     #暗墙 占100分 '300
  79.     #满分100
  80.  
  81.     ####################
  82.     fguai=0
  83.     fnpc=0
  84.     fwu=0
  85.     flu=0
  86.     fxue=0
  87.     fmen=0
  88.     fyao=0
  89.     fbao=0
  90.     fan=0
  91.     ####################
  92.     fguai=50
  93.     fnpc=10
  94.     fwu=10
  95.     flu=10
  96.     fxue=30
  97.     fmen=30
  98.     fyao=20
  99.     fbao=40
  100.     fan=100
  101.     ####################
  102.  
  103.     fguai-=50 if guai>30
  104.     fguai-=40 if guai<25
  105.     fguai-=30 if guai<20
  106.     fguai-=10 if guai<18
  107.     fguai= 0  if guai<15
  108.     fguai-=10 if guai<10
  109.     fguai-=20 if guai<5
  110.     fguai-=30 if guai<3
  111.     fguai-=40 if guai<1
  112.  
  113.     fnpc-=10 if guai>10
  114.     fnpc-= 9 if guai<8
  115.     fnpc-= 6 if guai<6
  116.     fnpc-= 3 if guai<4
  117.     fnpc=  0 if guai<2
  118.     fnpc=  0 if guai<1
  119.  
  120.     fwu-=10 if guai>10
  121.     fwu-= 9 if guai<8
  122.     fwu-= 6 if guai<6
  123.     fwu-= 3 if guai<4
  124.     fwu=  0 if guai<2
  125.     fwu=  0 if guai<1
  126.  
  127.     flu-=10 if guai>10
  128.     flu-= 9 if guai<8
  129.     flu-= 6 if guai<6
  130.     flu-= 3 if guai<4
  131.     flu=  0 if guai<2
  132.     flu=  0 if guai<1
  133.  
  134.     fxue-=30 if xue>25
  135.     fxue-=10 if xue<20
  136.     fxue= 0  if xue<15
  137.     fxue-=10 if xue<10
  138.     fxue-=20 if xue<5
  139.     fxue-=30 if xue<1
  140.  
  141.     fmen-=30 if men>25
  142.     fmen-=10 if men<15
  143.     fmen= 0  if men<10
  144.     fmen-=10 if men<6
  145.     fmen-=20 if men<5
  146.     fmen-=30 if men<1
  147.  
  148.     fyao-=10 if yao>20
  149.     fyao-=10 if yao<15
  150.     fyao= 0  if yao<10
  151.     fyao-=10 if yao<5
  152.     fyao-=20 if yao<1
  153.  
  154.     fbao-=40 if bao>45
  155.     fbao-=30 if bao<40
  156.     fbao-=10 if bao<30
  157.     fbao= 0  if bao<20
  158.     fbao-=10 if bao<10
  159.     fbao-=20 if bao<5
  160.     fbao-=40 if bao<1
  161.  
  162.     fan-=100 if an>30
  163.     fan-=80 if an<20
  164.     fan-=65 if an<15
  165.     fan-=40 if an<10
  166.     fan-=30 if an<5
  167.     fan-=15 if an<2
  168.     fan=  0 if an<1
  169.     ####################
  170.     fen=300
  171.     fen+=fguai
  172.     fen+=fnpc
  173.     fen+=fwu
  174.     fen+=flu
  175.     fen+=fxue
  176.     fen+=fmen
  177.     fen+=fbao
  178.     fen+=fan   
  179.     fen/=3
  180.     ####################
  181.     self.contents.draw_text(0, x*0, 220, 20, "地图上的   怪物  有" + guai.to_s + "个", 0)
  182.     self.contents.draw_text(0, x*1, 220, 20, "地图上的    npc  有" + npc.to_s + "个", 0)
  183.     self.contents.draw_text(0, x*2, 220, 20, "地图上的   物品  有" + wu.to_s + "个", 0)
  184.     self.contents.draw_text(0, x*3, 220, 20, "地图上的   路障  有" + lu.to_s + "个", 0)
  185.     self.contents.draw_text(0, x*4, 220, 20, "地图上的   血瓶  有" + xue.to_s + "个", 0)
  186.     self.contents.draw_text(0, x*5, 220, 20, "地图上的   宝石  有" + bao.to_s + "个", 0)
  187.     self.contents.draw_text(0, x*6, 220, 20, "地图上的   魔力  有" + mo.to_s + "个", 0)
  188.     self.contents.draw_text(0, x*7, 220, 20, "地图上的   暗墙  有" + an.to_s + "个", 0)
  189.     self.contents.draw_text(0, x*8, 220, 20, "地图上的    门   有" + men.to_s + "个", 0)
  190.     self.contents.draw_text(0, x*9, 220, 20, "地图上的  钥匙   有" + yao.to_s + "个", 0)
  191.     self.contents.draw_text(0, x*10, 280, 20, "地图上的其他事件有" + melse.to_s + "个", 0)
  192.     self.contents.draw_text(0, x*11, 280, 20, "地图上的事件一共有" + mall.to_s + "个", 0)
  193.     self.contents.draw_text(30, x*12, 280, 20, "综合评分:" + fen.to_s , 0)
  194.     ###################
  195. self.contents.draw_text(330, x*0, 220, 20, "扣分" + fguai.to_s, 0)
  196. self.contents.draw_text(330, x*1, 220, 20, "扣分" + fnpc.to_s, 0)
  197. self.contents.draw_text(330, x*2, 220, 20, "扣分" + fwu.to_s, 0)
  198. self.contents.draw_text(330, x*3, 220, 20, "扣分" + flu.to_s, 0)
  199. self.contents.draw_text(330, x*4, 220, 20, "扣分" + fxue.to_s, 0)
  200. self.contents.draw_text(330, x*5, 220, 20, "扣分" + fbao.to_s, 0)
  201. self.contents.draw_text(330, x*7, 220, 20, "扣分" + fan.to_s, 0)
  202. self.contents.draw_text(330, x*8, 220, 20, "扣分" + fmen.to_s, 0)
  203. self.contents.draw_text(330, x*9, 220, 20, "扣分" + fyao.to_s, 0)
  204.  
  205.  
  206.   end
  207.  
  208.  
  209. end
  210.  
  211. class Scene_LCPD
  212.   #--------------------------------------------------------------------------
  213.   # ● 主处理
  214.   #--------------------------------------------------------------------------
  215.   def main
  216.     # 生成任务内容窗口
  217.     @playtime_window = Window_Lou.new
  218.     @playtime_window.x = 0
  219.     @playtime_window.y = 0
  220.     # 执行过渡
  221.     Graphics.transition
  222.     # 主循环
  223.     loop do
  224.       # 刷新游戏画面
  225.       Graphics.update
  226.       # 刷新输入信息
  227.       Input.update
  228.       # 刷新画面
  229.       update
  230.       # 如果画面被切换的话就中断循环
  231.       if $scene != self
  232.         break
  233.       end
  234.     end
  235.     # 准备过渡
  236.     Graphics.freeze
  237.     # 释放窗口
  238.     @playtime_window.dispose
  239.   end
  240.   #--------------------------------------------------------------------------
  241.   # ● 刷新画面
  242.   #--------------------------------------------------------------------------
  243.   def update
  244.  
  245.         if Input.trigger?(Input::B)
  246.       # 演奏取消 SE
  247.       $game_system.se_play($data_system.cancel_se)
  248.       # 这里设置返回的场景,返回地图是Scene_Map.new,菜单是Scene_Menu.new(任务界面index)
  249.       $scene = Scene_Map.new
  250.       return
  251.     end
  252.     @playtime_window.update
  253.   end
  254. end


作者: ♂雨    时间: 2012-3-16 22:01
LZ,图呢?
作者: abc612008    时间: 2012-3-17 07:09
本帖最后由 abc612008 于 2012-3-17 07:10 编辑
♂雨 发表于 2012-3-16 22:01
LZ,图呢?



这是旧版的
作者: chd114    时间: 2012-5-25 12:33
打开了关不掉




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1