×

GM教程 Gamemaker 小玉米的图文教程 玉米原创

小玉米图文教程No.5 - 随机选取,文本文件的读取,以及数据结构列表的使用

Mage松仁玉米 Mage松仁玉米 发表于2015-09-13 18:41:02 浏览6662 评论2

2人参与发表评论

本篇教程献给那些不会使用随机的孩子们、不会读文件的孩子们,还有不会用数据结构列表的孩子们当作范例。


我后悔在QQ空间发布了一条说说,内容是这样的:

0.png

于是乎貌似真的有了30个赞。真是日了狗。。

不过男子汉大丈夫决不食言。。所以说我要从我的好友列表里面挑基佬了!

1.jpg

嗯 好友列表,一共296个好友,除去自己的小号,自己加的自己还有各种服务号码和所有女性同胞还有一些性别未知的。。,一共有194个待选择基佬嗯。。。

于是我把这些男同胞从好友列表里面提取出来,然后写进了一个txt文件里面,就像下面这样:

2.jpg

为了达到随机性,我就用GM编写了一套程序,随机从所有人中调出一位。就是下面这个了。

这下就用到了各种GM中的函数了,代码如下:

list = ds_list_create() //创建一个列表,用于存储大家的名字
file = file_text_open_read("name.txt")  //打开文本文件
while(!file_text_eof(file)) {
    // 嵌套循环读取文本文件,
    var name;
    //从文件中读取一行,因为在文件中每一行都有一个名字,所以这样就把所有名字都读出来了
    name = file_text_read_string(file)
    ds_list_add(list,name)  //将名字加入到列表
    file_text_readln(file)  //读取换行符,如果不换行,程序就会一直读取文件第一行
}
file_text_close(file)   //文件读取结束,讲打开的文件关闭
count = ds_list_size(list)  //查看列表中一共记录了多少个名字
show_debug_message("一共有" + count + "个待选男性可以表白") //输出一共有多少条数据

repeat(5) ds_list_shuffle(list) //使用这个函数打乱列表,起到随机效果
pos = irandom(count) //返回一个随机整数,这个数从0到count之间,可以用这个数从列表中提取名字
name = ds_list_find_value(list,pos) //提取出随机选择的人的名字
show_debug_message("GM为你选出的这个人是:" + name) //输出要进行表白的人

这里运用了好多的GM函数呢,有file系列的,有ds系列的,还有随机数系列的,就完美的达到了从txt文件中把所有人的名字信息全都提取出来,然后随机选择一个人的效果。

之后,运行一下,看看结果,别忘了一定要用debug模式运行,才能打开Message窗口:

4.jpg

因为是随机选取,所以每次选取的人都不同呢,这个是我第一次运行所得到的结果,,果然是个基佬。

好吧!既然已经选出来是轮回了,,我就去跟他表白了!

在此之前,我还特意把我QQ性别改成了女的。。。

5.jpg

然后就是聊天记录了。。。


于是乎,,我就这样被拒绝了,唉,果然。。我只能单身吗?女生不要我,男生也不要我。。

我只能靠gamemaker活一辈子了吗?

↓↓支持小站发展,点一点小广告,么么哒(づ ̄ 3 ̄)づ↓↓

BB点儿啥

访客
yunzl yunzl2016-03-29 23:29:52 · 回复 哈哈哈哈哈哈哈
小可爱包子头 小可爱包子头2016-04-04 03:10:27 · 回复 满分2333333333333