2016-03-07 127 views
1

遊戲:我的遊戲是一個簡單的遊戲,它從txt文件中獲取單詞列表並將它們放到網格中。然後將這些單詞進行混洗(在3 * 3網格上顯示9個單詞,並且其中一個替換爲未使用的備用單詞),那麼用戶必須猜測被替換的單詞是什麼以及替換它的單詞也是。如果用戶是正確的,那麼他們就會進入一個4 * 4網格的較硬層面。GML - 驗證答案

問題:我一直在試圖通過檢查已被混洗的單詞的位置來檢查列表中的單詞來驗證輸入,所以我試圖檢查列表的第十個位置中的哪個單詞爲這是被取代的詞。

代碼腳本: 「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?", ""); 

回答

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)來查找第十個值。