游戏:我的游戏是一个简单的游戏,它从txt文件中获取单词列表并将它们放到网格上。然后将这些单词洗牌(在3 * 3网格上显示9个单词,并且用未使用的备用单词替换一个单词),然后用户必须猜测已被替换的单词是什么以及取代它的单词是什么也是。如果用户是正确的,那么他们会移动到更难的级别,即4 * 4网格。
问题:我一直在尝试通过检查列表中的单词的位置来验证来自用户的输入,因此我试图检查列表中第10个位置的哪个单词是是被替换的词。
代码脚本: “Global_Variables” -
> globalvar WordCount; globalvar WordColumn; globalvar WordRow;
> globalvar WordList; globalvar GridList; globalvar LineGap; globalvar
> WildCard; globalvar BoxSize; globalvar BoxIndent; globalvar BoxHeader;
> globalvar TimerIndent;
“Readfile” -
> filop = file_text_open_read(working_directory + "Words.txt");
> wordgridlist = ds_list_create(); gridcreate = ds_list_create();
> while(!file_text_eof(filop)){
> line = string_upper(file_text_readln(filop));
> ds_list_add(wordgridlist, line);
> } file_text_close(filop); wordgridlistshuffled =
> ds_list_shuffle(wordgridlist) "Output" - draw_set_colour(c_red)
> draw_set_font(Text_Font) Text_Grid = 0 for (X=0; X<3; X+=1){
> for (Y=0; Y<3; Y+=1){
> draw_text((X*710)+250,
> (Y*244)+300,ds_list_find_value(wordgridlist,Text_Grid));
> Text_Grid +=1
>
> }
> }
“Word_Question” -
> WordChangedEasy = get_string("What word changed?", "");
> WordChangedEasyAnswer = ds_list_shuffle(10); WordReplacedEasy =
> get_string("What word has been replaced?", "");
答案 0 :(得分:1)
我是从GameMaker:用户手册中找到的。
ds_list_find_value
查找列表中给定位置的值。 句法: ds_list_find_value(id,pos);
id:要使用的列表的ID。
pos:要查看的位置,其中0对应于列表的最开头,最终位置为ds_list_size(id)-1。
您应该使用ds_list_find_value(wordgridlist,9)来查找第十个值。