神経衰弱

神経衰弱

いわゆる神経衰弱ですね。

キャスト番号は1-10までが表向けのカードのグラフィック。12番が裏返しのカードのグラフィックです。
スプライトは1から20までがパペットになっていて、左上から順番に1、2と配置しています。

スクリプトは以下の通りです。

on startMovie
 global kotaeList,MyList
 --最初は答えのリストはきちんとならべておきました
 set kotaeList=[1,1, 2 , 2 , 3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10]
 --このリストは最初に1枚目と2枚目に何を選択したかをいれておくリストです
 set Mylist =[0,0]
 --スプライトをパペットにしておきます
 repeat with m=1 to 20
  puppetSprite m,TRUE
 end repeat
 --ハンドラmazeruを実行します
 mazeru
end
--

on mazeru
 global KotaeList
 --20回ほど並べ替えます
 repeat with m=1 to 20
  --どこを並べ替えるのかをランダムに決めます(変数はtargetとしておきます)
  put random(20) into target
  --リストの最後に、さっきtargetで示された場所の数字を入れ...
  setAt KotaeList, 21, getAt(kotaeList, target)
  --もとの数字を消します(これで全体の数を調整します)
  deleteAt kotaeList, target
 end repeat
end
--
on hantei
 global kotaeList,mylist
 --選択した2枚があっているかを判断します
 if getAt(kotaeList,getAt(myList,1))<>getAt(kotaeList,getAt(myList,2)) then
  --ここでタイマーを作動させます(別に無くてもよいです)
  startTimer
  repeat while the mouseUp
   --3秒間はめくったカードを表示させます(別になくてもいいかな)
   if the timer <3*60 then
    nothing
   else
    --3秒以上たったら裏返します
    set the castNum of sprite getAt(myList,1) to 12
    set the castNum of sprite getAt(myList,2) to 12
    updatestage
   end if
  end repeat
  --3秒以内に他のところをクリックされた場合の裏返し処理です
  set the castNum of sprite getAt(myList,1) to 12
  set the castNum of sprite getAt(myList,2) to 12
  updatestage
 else
  --2枚があっているときはビープ音を2回鳴らします
  beep 2
 end if
 --mylistを初期化します
 set myList=[0,0]
end

こっちは裏がえしのカードのキャストのスクリプトです
on mouseUp
 global kotaeList,mySpNum,MyList
 --クリックされたら自分のスプライト番号を変数mySpNumにいれます
 put the clickon into mySpNum
 --もしMylistがからっぽだったら...
 if getat(Mylist ,1) = 0 then
  --myListにそのスプライト番号をいれ、
  setAt mylist, 1, mySpNum
  --そのスプライトを適切なキャストに置き換えます
  set the castNum of sprite mySpNum to getAt (kotaeList,mySpNum )
 else
  --2枚目の場合も似たようなことをします
  setAt Mylist , 2,mySpNum
  set the castNum of sprite mySpNum to getAt (kotaeList,mySpNum )
  updatestage
  --ここで判定のルーチンに飛びます   hantei
  updatestage
 end if
end
ちょっとリスト表記のところがめんどくさいですかね。
© Akira SAno 1996
一応こんなページでも著作権は佐野彰に存在します
リンクフリーですがメールでご連絡頂けたら嬉しいです

96/11/2更新 homeホームに戻る