如何将单词的所有字符分成单独的字段?

时间:2016-05-20 00:31:37

标签: livecode

我有一个完美无缺的随机单词生成脚本。我还有一些单个字符宽度字段,与可生成的最长字可能完全相同。在每个字段下面,我有一条类似下划线的线。每个字段都有一个唯一的id,编号从一个如下:“letter1”,“letter2”....等等。同样,每行的id为“line1”,“line2”,依此类推。

现在我已经开始了舞台,这就是我想要发生的事情。在卡的打开时,我希望隐藏所有字母字段,因为我将在这个子例程之外单独显示它们。然后我想要隐藏所有行,然后只显示随机单词所需的行数。 (从左到右与length(randomword)相同的数字。)现在,随机字应循环通过,第一个字符应为put到字段“letter1”,第二个字符应为“letter2” , 等等。每次打开卡片时这个词都会改变,所以重要的是这不是强制性的(不幸的是,我自己有两周的LiveCode经验,这是我唯一具体知道如何做的事情。)

有经验的人可以帮我做一个坚实的并提供我需要做的代码,以及我应该放入代码的位置吗? (卡片?字母字段?此时我真的不知道。)

如果我没有明确表达我的问题,我很乐意提供进一步的说明。

2 个答案:

答案 0 :(得分:0)

试试这个(我的LiveCode有点生锈):

on openCard
   //Put your word generation script here

   put 0 into amtOfLines
   put 0 into amtOfLetters
   repeat until amtOfLines is 6 //Replace 6 with the amount of lines
      add 1 to amtOfLines
      put "line" & amtOfLines into x
      set the visible of graphic x to false
   end repeat
   repeat until amtOfLetters is 6 //Replace 6 with the amount of fields
      add 1 to amtOfLetters
      put "letter" & amtOfLetters into x
      set the visible of field x to false
   end repeat

   put 0 into amtOfLines
   put 0 into amtOfLetters
   repeat until amtOfLines is length(randomword)
      add 1 to amtOfLines
      put "line" & amtOfLines into x
      set the visible of graphic x to true
   end repeat
   repeat until amtOfLetters is length(randomword)
      add 1 to amtOfLetters
      put "letter" & amtOfLetters into x
      set the visible of field x to true
   end repeat

   put 0 into amtOfChars
   repeat until amtOfChars is length(randomword)
      add 1 to amtOfChars
      put "letter" & amtOfChars into x
      set the text of field x to char amtOfChars of randomword
   end repeat
end openCard 

这将出现在卡片脚本中。

编辑:修正了一些错误。

答案 1 :(得分:0)

这将进入卡片脚本:

on setup pRandomWord
  put 6 into tNumObjs -- or however many fields there are
  put length(pRandomWord) into tLen
  repeat with x = 1 to tNumObjs
    hide fld ("letter"&x)
    if x <= tLen then
      put char x of pRandomWord into fld ("letter"&x)
      show grc ("line"&x)
    else
      hide grc ("line" & x)
    end if
  end repeat
end setup

当您想要使用它时,将随机单词放入变量并调用设置处理程序,如下所示:

setup randomWord

这可以在一个重复循环中完成所有操作。随机字在参数“pRandomWord”中传递给设置处理程序。