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

Project1

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

[已经解决] 怎样精简相似的代码?

[复制链接]

Lv5.捕梦者

梦石
10
星屑
39587
在线时间
1920 小时
注册时间
2010-11-14
帖子
3320

R考场第七期纪念奖

跳转到指定楼层
1
发表于 2018-12-25 23:36:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
代码相似并且需要修改实参,基本上是不同变量做相同内容……



虽然运行起来没有问题但是还是想知道有没有精简的办法……
自己现在想出来的办法可读性极差……



用头画头像,用脚写脚本

Lv6.析梦学徒

老鹰

梦石
40
星屑
34725
在线时间
6740 小时
注册时间
2012-5-26
帖子
3259

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

2
发表于 2018-12-26 11:12:56 | 只看该作者
好…复杂 ,怎么有这么多组变量

推荐效仿默认的 Game_BattlerBase 那样的写法,先把这些东西都封装到类中
然后两者共有的丢到父类里,然后再继承它,在子类里修改不同的地方

比如效仿Game_Battler里对于当前战斗者是角色或者是敌人的判定
两者共有 def actor?; false; end 和 def enemy?; false; end; 两个方法
但在 Game_Actor 里,就覆盖了其中的一个并且变成 def actor?; true; end
而在 Game_Enemy 里,就覆盖另一个变成返回true

点评

好吧,我再学习一下类的知识……  发表于 2018-12-26 12:15
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

3
发表于 2018-12-26 13:04:00 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
10
星屑
39587
在线时间
1920 小时
注册时间
2010-11-14
帖子
3320

R考场第七期纪念奖

4
 楼主| 发表于 2018-12-26 14:01:11 | 只看该作者
晴兰 发表于 2018-12-26 13:04
https://glot.io/snippets/f7xv44oruv

另外 bbb(...) ccc(...)

这个方法有点为所欲为啊(把全局读写直接变成简单的操作符了)
不过记个笔记√

现在正在修改unit_base的类,把一些player_unit和enemy_unit的行为塞进去
总之是看起来舒服多了_(:3」∠)_
用头画头像,用脚写脚本
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

5
发表于 2018-12-26 17:08:36 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 22:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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