设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 792|回复: 2
打印 上一主题 下一主题

[已经解决] 【已解决】战斗结束根据得分打开开关 if score = 10 那么开...

[复制链接]

Lv4.逐梦者

梦石
0
星屑
6286
在线时间
1103 小时
注册时间
2015-8-15
帖子
658
跳转到指定楼层
1
发表于 2023-5-31 15:27:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 金芒芒 于 2023-6-1 13:40 编辑

@efs_after_battle_level =  judge_battle_level
if  score = 10  那么开关10号=开启  ,,,这句话应该加在那里啊
是加在定义里还是加在@efs_after_battle_level =  judge_battle_level下面啊


RUBY 代码复制
  1. def judge_battle_level#定义判断_战斗_级别
  2.     team_sum = 0    #团队总数=0                             
  3.     enermy_sum = 0  #敌人总数=0
  4.     @team_groups.each do |groups|#@团队。每个人做|组|
  5.       #团队总数 += 组。启动时处于活动状态
  6.        team_sum += groups.alive_while_starting      
  7.     end
  8.      #@敌人团体。每个做|组|
  9.     @enermy_groups.each do |groups|
  10.       #敌人总数 += 组。启动时处于活动状态
  11.       enermy_sum += groups.alive_while_starting
  12.     end   
  13.     team_down = 0 #团队总数=0
  14.     enermy_down = 0 #敌人总数=0
  15.     #对于$游戏地图中的f。战士值   
  16.     for f in $game_map.fighters.values
  17.       if f.team == 1 #如果f。团队==1
  18.         if f.dead? #如果f.死了?
  19.          team_down += 1 #团队朝下+=1
  20.         end  
  21.       else#========否则
  22.         if f.dead? #如果f.死了?
  23.          enermy_down += 1 #敌人团队朝下+=1
  24.         end  
  25.       end #if team
  26.     end  #do
  27.     # 团队_r= 团队落后。至f/团队总和
  28.     team_r = team_down.to_f/team_sum
  29.     # 敌人团队_r= 敌人团队落后。至f/敌人团队总和
  30.     enermy_r = enermy_down.to_f/enermy_sum
  31.  
  32.     if @efs_victory #如果@efs获胜
  33.      # 得分=(5队r*5+敌人_r*5)。整数
  34.       score =  (5-team_r*5+enermy_r*5).round
  35.      #得分=[[得分,6].最大值,10].最小值
  36.       score = [[score,6].max,10].min
  37.     else #否则
  38.       #得分=10-(团队_r*5+ 5-敌人_r*5).整数
  39.       score = 10 - (team_r*5+ 5-enermy_r*5).round
  40.       #得分 = [[得分,0].最大值,4].最小值
  41.       score = [[score,0].max,4].min
  42.     end  
  43.     return score#刷新得分
  44.   end

Lv3.寻梦者

梦石
0
星屑
4476
在线时间
380 小时
注册时间
2012-11-8
帖子
272
2
发表于 2023-6-1 08:40:12 | 只看该作者
两种都可以,关键在于不同地方调用了这个方法,开关10会不会影响其他地方。
写在方法定义里就放在return score前
加在@efs_after_battle_level =  judge_battle_level下面要改成if @efs_after_battle_level==10 .....
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6286
在线时间
1103 小时
注册时间
2015-8-15
帖子
658
3
 楼主| 发表于 2023-6-1 09:11:10 | 只看该作者
本帖最后由 金芒芒 于 2023-6-1 14:43 编辑
qq634488405 发表于 2023-6-1 08:40
两种都可以,关键在于不同地方调用了这个方法,开关10会不会影响其他地方。
写在方法定义里就放在return sc ...


等中午休息的时候试一下

开关10只是启动10号公共事件,公共事件启动后显示一张图片然后等待10秒图片消失,然后关闭10号开关
RUBY 代码复制
  1. @efs_after_battle_level =  judge_battle_level
  2.     p Wzj::EFS_AFTER_BATTLE_TEXT[@efs_after_battle_level]
  3.     if @efs_after_battle_level == 10
  4.     $game_switches[51] = true #true  
  5.     Notification.post("10号开关已经打开")
  6.     end  
  7.     if @efs_after_battle_level == 9
  8.     $game_switches[52] = true
  9.     Notification.post("9号开关已经打开")
  10.     end   
  11.     if @efs_after_battle_level == 8
  12.     $game_switches[53] = true  
  13.     Notification.post("8号开关已经打开")
  14.     end
  15.     if @efs_after_battle_level == 7
  16.     $game_switches[54] = true  
  17.     Notification.post("7号开关已经打开")
  18.     end
  19.     if @efs_after_battle_level == 6
  20.     $game_switches[55] = true  
  21.     Notification.post("6号开关已经打开")
  22.     end
  23.       if @efs_after_battle_level == 5
  24.     $game_switches[56] = true  
  25.     Notification.post("5号开关已经打开")
  26.     end
  27.       if @efs_after_battle_level == 4
  28.     $game_switches[57] = true  
  29.     Notification.post("4号开关已经打开")
  30.     end
  31.       if @efs_after_battle_level == 3
  32.     $game_switches[58] = true  
  33.     Notification.post("3号开关已经打开")
  34.     end  
  35.      if @efs_after_battle_level == 2
  36.     $game_switches[59] = true  
  37.     Notification.post("2号开关已经打开")
  38.     end
  39.     if @efs_after_battle_level == 1
  40.     $game_switches[60] = true  
  41.     Notification.post("1号开关已经打开")
  42.     end
  43.     if @efs_after_battle_level == 0
  44.     $game_switches[61] = true  
  45.     Notification.post("11号开关已经打开")
  46.     end

RUBY 代码复制
  1. def judge_battle_level#定义判断_战斗_级别
  2.     team_sum = 0    #团队总数=0                             
  3.     enermy_sum = 0  #敌人总数=0
  4.     @team_groups.each do |groups|#@团队。每个人做|组|
  5.       #团队总数 += 组。启动时处于活动状态
  6.        team_sum += groups.alive_while_starting      
  7.     end
  8.      #@敌人团体。每个做|组|
  9.     @enermy_groups.each do |groups|
  10.       #敌人总数 += 组。启动时处于活动状态
  11.       enermy_sum += groups.alive_while_starting
  12.     end   
  13.     team_down = 0 #团队总数=0
  14.     enermy_down = 0 #敌人总数=0
  15.     #对于$游戏地图中的f。战士值   
  16.     for f in $game_map.fighters.values
  17.       if f.team == 1 #如果f。团队==1
  18.         if f.dead? #如果f.死了?
  19.          team_down += 1 #团队朝下+=1
  20.         end  
  21.       else#========否则
  22.         if f.dead? #如果f.死了?
  23.          enermy_down += 1 #敌人团队朝下+=1
  24.         end  
  25.       end #if team
  26.     end  #do
  27.     # 团队_r= 团队落后。至f/团队总和
  28.     team_r = team_down.to_f/team_sum
  29.     # 敌人团队_r= 敌人团队落后。至f/敌人团队总和
  30.     enermy_r = enermy_down.to_f/enermy_sum
  31.  
  32.     if @efs_victory #如果@efs获胜
  33.      # 得分=(5队r*5+敌人_r*5)。整数
  34.       score =  (5-team_r*5+enermy_r*5).round
  35.      #得分=[[得分,6].最大值,10].最小值
  36.       score = [[score,6].max,10].min
  37.     else #否则
  38.       #得分=10-(团队_r*5+ 5-敌人_r*5).整数
  39.       score = 10 - (team_r*5+ 5-enermy_r*5).round
  40.       #得分 = [[得分,0].最大值,4].最小值
  41.       score = [[score,0].max,4].min
  42.     end
  43.     if score == 10
  44.     @efs_after_battle_level == 10
  45.     end
  46.     if score == 9
  47.     @efs_after_battle_level == 9
  48.     end
  49.     if score == 8
  50.     @efs_after_battle_level == 8
  51.     end
  52.     if score == 7
  53.     @efs_after_battle_level == 7
  54.     end
  55.     if score == 6
  56.     @efs_after_battle_level == 6
  57.     end
  58.     if score == 5
  59.     @efs_after_battle_level == 5
  60.    end
  61.     if score == 4
  62.     @efs_after_battle_level == 4
  63.     end
  64.     if score == 3
  65.     @efs_after_battle_level == 3
  66.     end
  67.     if score == 2
  68.     @efs_after_battle_level == 2
  69.     end   
  70.      if score == 1
  71.     @efs_after_battle_level == 1
  72.     end
  73.     if score == 0
  74.     @efs_after_battle_level == 11
  75.     end
  76.  
  77.     return score#刷新得分
  78. #        -----------战斗结束平分开关----
  79.  
  80.   end

1254.png (88.39 KB, 下载次数: 5)

1254.png
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-28 00:22

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表