2016-05-24 26 views
0

編集:私は、問題を修正しました 。それはまっすぐ下にスクリプトの後に新しい単語を選んでたとその単語ではなく、私はそれを使用していた単語の長さを使用していたことが分かりました。私の悪い!あなたが今すぐそれにつまずいている場合は、この質問を無視してください。Livecodeでコードを修正するにはどうすればよいですか?

on openCard 
    setup randomword 
    put randomword into fld "testfield" 
end openCard 

command test 
    put 11 into tNumObjs 
    put length(randomword) into tLen 
    repeat with x = 1 to tNumObjs 
     show fld ("letter"&x) 
    end repeat 
end test 

on setup pRandomWord 
    put 11 into tNumObjs 
    put length(pRandomWord) into tLen 
    repeat with x = 1 to tNumObjs 
     put empty into fld ("letter"&x) 
     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 

on checkForCharacterMatch pUserChar 
    local noMatch = true 
    repeat with N = 1 to (length(randomword)) 
     put long id of field ("letter" & N) into theLetter 
     put long id of graphic ("Line" & N) into theLine 
     if (the text of theLetter = pUserChar) then 
     show theLetter 
     hide theLine 
     put false into noMatch 
     end if 
    end repeat 
    --if noMatch then 
     -- DO PENALTY STUFF HERE 
    --end if 
end checkForCharacterMatch 
+0

を追加する理由

repeat with N = 1 to (length(randomword)) 

、これはそれを解決しない場合、あなたはここに絞首刑執行人のゲームをコーディングしている説明してください...? – uliwitness

+0

ええ、かなり。 – notHalfBad

答えて

0

私の推測では、あなたが他の目的のために11個のフィールドを持っているし、最初のLetterNフィールドの数は、あなたのスクリプトを書き始めたが、今はフィールド名を使用しているとき12.おそらくあなたはフィールド番号を使用していることです。 「11」を削除し、それが動作するはずです:あなたは11

+1

これは先に述べたはずですが、11個のchar-widthフィールドがあります。 11はタイプミスですが、私はそれを編集しました。 – notHalfBad

関連する問題