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

Project1

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

[胡扯] 诸位关于脚本教程的意见以及想要看到的内容

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1045
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

跳转到指定楼层
1
发表于 2013-4-20 09:14:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 DeathKing 于 2013-4-26 13:18 编辑
酱油一下,急寻 @「旅」 君一枚,听说ta今年高考,先预祝顺利,然后还望知情者告知ta或我一声。

因为最近在准备某个神秘的东西,所以经常回6R查一些资料,然后就翻到了各种教程,深入的看了其中的很多,有很多想法,我想利用这个帖子扯淡一下。

优点
  • 语言诙谐。虽然有时也有插科打诨之嫌。
  • 角度合理。大多数情况下就是教程作者的学习心路历程。

缺点
  • 偏离本意。教程讲的大多数是Ruby,而非RGSS。
  • 死磕细节。Ruby本来提供了足够高的抽象层了,建立好了完美的抽象屏障,我们反而逆其导而行之。
  • 误人子弟。这个是个别现象,最初的教程谬误一代人,然后恶性循环。
  • 不切实际。对于教程面向的受众来说,有些功能用不到。
  • 没有基础。有些知识需要先做好铺垫。

关于死磕细节。很明显,有的东西对写RGSS根本影响不大,譬如p和print的区别。这个通常都是用于调试,调试谁还在乎这些无所谓的格式呢?区别Fixnum、Bignum、Float有什么好处呢?我认为:只要讲明数在运算时的精度保留问题就行了。Ruby已经给你封装好了数,告诉你:不用担心数的大小、内部存储了,我(Ruby)已经帮你弄好了,我们又何必自讨苦吃呢?

就拿each来说,通常是用[1, 2, 3, 4, 5].each {|e| puts e}这种Block——块的形式,但是你要讲,你需要讲一些什么呢?

  • 信息隐藏。你看不到这个数组的内部结构,整个迭代是each进行实现的(迭代器);
  • 匿名函数。这个概念最早来自于Lisp(lambda-演算),把函数当作一个参数传递。这里,是把我们的匿名函数引用于迭代器传递过来的参数e。(有兴趣的同学可以读读《松本行弘的程序世界》)

这两大类容就涉及到了CS的一个核心内容——抽象。而信息隐藏在OOP中尤为重要,匿名函数则在FP中被强调。这几个都要求有很一定的科班积累。就从这一点来说,把这些东西6R也鲜有人能讲细了。况且就6R来说,目前看脚本教程的受众都是小学生、初中生,缺少一些前置知识以及抽象思考的能力,学起来相当费劲(少数高智商少年除外)!

我的想法

  • 完全分离。分离Ruby和RGSS的教程,这样,一份Ruby教程完全可以适应RGSS1、2、3的所有教程!
  • 最小化。只讲授能操作RGSS的最小化Ruby教程,一些语言特性或者和RGSS无关的东西就毋须给读者加重负担了。
  • 图表图示。大量使用图表图示给读者直观的感受。
  • 深入浅出。例如我上面提到的信息隐藏和匿名函数,写教程的人应该能抽取出之中最本质的东西,深入浅出的讲授给读者。
  • 扎实基础。强调Ruby程序设计中的基础概念与思想(譬如OOP),否则读者在读RGSS教程时,就会因为Ruby基础功太差而感到吃力。

欢迎大家谈谈自己的想法。

这里再酱油一下,对计算机抽象思维有兴趣的同学可以看看这个视频:http://v.youku.com/v_show/id_XNTEzMDAyMTU2.html






See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更

Lv2.观梦者

故九江太守

梦石
0
星屑
394
在线时间
2101 小时
注册时间
2012-12-5
帖子
4420
2
发表于 2013-4-20 10:16:06 | 只看该作者
太高深了!!  占个位
回复 支持 反对

使用道具 举报

Lv3.寻梦者

唯一的信徒

梦石
0
星屑
1665
在线时间
1357 小时
注册时间
2013-1-29
帖子
1637
3
发表于 2013-4-20 10:26:23 | 只看该作者
匿名函数感觉死活也讲不好=-=。。。<=是你理解不好吧=-=
其实我感觉先读一遍各种抽象的概念,之后在写代码中自己会慢慢领会的。。。。

顺便请教一下dk 大大。。。最近在学instance_eval 还有 class_eval (你这种不系统的学习=找抽!)
  1. Fixnum.instance_eval("def test; true;end")
  2. puts Fixnum.test

  3. Fixnum.class_eval("def ten;10;end")
  4. puts 1.ten
复制代码
于是完全不明白为什么。。据说第一个是把Fixnum 当作实例变量弄。。。这个我理解。
。问题是后面那个完全不知道怎么回事。。。
『我只是一个正在潜心修炼的渣乐师罢了』
Dear Time\(^o^)/~


假如上面的图片挂了的话麻烦各位去发个帖 @ 一下 orzFly 让他修复 deartime
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1045
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

4
 楼主| 发表于 2013-4-20 10:51:13 | 只看该作者
LBQ 发表于 2013-4-20 10:26
匿名函数感觉死活也讲不好=-=。。。

简言之: class_eval从“类”的层次操纵对象,而非“对象/实例”的层次。理解这句话,首先要知道这点:

Ruby中的类也是一个对象。是Class类的一个实例。特别的,Class类是Class类的一个实例。


A.instance_eval ==> 强调A是一个实例,而不是从类的层面上考量
A.class_eval  ==> 强调A是一个类

导致的结果就是
RUBY 代码复制
  1. A.instance_eval {
  2.   def a
  3.     puts "1"
  4.   end
  5. }
  6. # ==>
  7. def A.a
  8.   puts "1"
  9. end
  10.  
  11. A.class_eval {
  12.   def b
  13.     puts "2"
  14.   end
  15. }
  16. # ==>
  17. class A
  18.   def b
  19.     puts "2"
  20.   end
  21. end


另外,以前翻译过Ruby元编程系列教程:http://deathking.is-programmer.com/posts/29100.html

分清楚集合和元素之间的关系是很重要的,不然就会出现类似于罗素悖论这种逻辑上的错误。

点评

备注 当作用于类时,class_eval将会定义实例方法,而instance_eval定义类方法。  发表于 2013-4-20 10:55

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1045
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

5
 楼主| 发表于 2013-4-25 21:34:34 | 只看该作者
额,现在就没人关注这些了?

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

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

开拓者

6
发表于 2013-4-25 22:39:09 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3121
在线时间
1534 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

7
发表于 2013-4-27 13:32:20 | 只看该作者
几点想法
1 为毛要学脚本,搞脚本就不能搞游戏,懂了OOP这辈子就不再懂汉字的“脚本”,这是真理不用证明也不用来争。
2 如果你抱定决心要去学Script,那你不需要搞懂什么OOP什么CLASS类,只要会写UI,会做体力劳动就好了
3 EVAL 几百年用一次,真的在做游戏的人用不到这货,即使要用考虑到可读性请TRIGGER公共事件
4 你是程序员,很好,恭喜你我们不需要教你什么是OOP了,你只需要一个语法说明和花一小时看一遍默认脚本。
5 严禁装逼,BLOCK 或者是 PROC 真心几百年用一次
结论:Think or not think in Java,that's really a question.

最后……祝小旅小柯高考顺利
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1624
在线时间
1609 小时
注册时间
2007-8-28
帖子
3253

第3届短篇游戏大赛主流游戏组冠军第1届Title华丽大赛新人奖

8
发表于 2013-4-27 13:45:07 | 只看该作者
現在是出錢 定制腳本的年代了
“我推荐你一个游戏吧,avg的,剧情特感人”
“我擦,都是文字图片的游戏有啥好玩的,连个战斗都没有!”
“我推荐你一个游戏吧,rpg的,战斗也新颖”
“我擦,怎么米有作i弊器?“
”你不是喜欢战斗么?”
“不,我是剧情党!!”

继续阅读请点击
http://rpg.blue/blog-53316-10027.html
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
1
星屑
8940
在线时间
4371 小时
注册时间
2005-10-22
帖子
6751

开拓者贵宾

9
发表于 2013-4-27 14:03:54 | 只看该作者

现在是出钱,咱也不给乃们写脚本的年代了(大雾)

点评

Maybe :3  发表于 2013-4-27 22:08
我出节操,乃帮我写么?  发表于 2013-4-27 18:21
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-26 06:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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