3目並べ     作品例:3目並べ.mwx <学習内容>
・論理判定

 を左クリックして始めます。
 先手がを左クリックするとになります。

 後手がを左クリックするとになります。
 3つ並ぶと「winner」のメッセージが出ます。
<考え方>
(1)3×3に黒白のカメを配置する。
(2)順に黒白にする。
(3)3つ並んだか判定する。



(1)3×3に黒白のカメを配置する

<考え方>
・ カメの形を黒白にして3×3に並べます。
黒白のもと.mwxを 左クリックしてはじめましょう。 

 KAME11をコピーして3×3に並べます。

 をして、3×3個 ()り付けます。
 

 名前を KAME11~KAME33 に変えます。


 
 
KAME11 KAME21  KAME31 
KAME12  KAME22 KAME32
KAME13 KAME23 KAME33
 



(2) 順に黒白にする

<考え方>
・ 先手は黒、後手は白にする。。
順に黒白のもと.mwxを 左クリックしてはじめましょう。 


 順に黒白を置くプログラムを書きます。

・ テキストボックス J を使って、先手はJを1として形を2にして、後手はJを2 として形を3にします。
英語 日本語
to GO
setJ 1
everyone[setshape 1]
end
to G1
if shape = 1
[
 ifelse J = 1
 [
 setshape 2
 if (P 222) [announce[winner 1] stopall]
 setJ 2
 ]
 [
 setshape 3
 if (P 333) [announce[winner 2] stopall]
 setJ 1
 ]
]
end
手順は GO
Jは 1
全部「形は 1」
終わり
手順は G1
もし  形 = 1

 もしどちらかを J = 1
 「
 形は 2
 もし (P 222) 「メッセージを出す「winner 1」 みんなとまる」
 Jは 2
 」
 「
 形は 3
 もし (P 333) 「メッセージを出す「winner 2」 みんなとまる」
 Jは 1
 」

終わり
先手は、 後手はになります。



(3) 並んだかの判定

<考え方>
・ 同じ形のカメが並んだかを判定します。
並んだかの判定のもと.mwxを 左クリックしてはじめましょう。 


 並んだカメの形を判定するプログラムを書きます。

手順 P :N で、3個のカメの形をワードにして判定します。
英語 日本語
to GO
setJ 1
everyone[setshape 1]
end
to G1
if shape = 1
[
 ifelse J = 1
 [
 setshape 2
 if (P 222) [announce[winner 1] stopall]
 setJ 2
 ]
 [
 setshape 3
 if (P 333) [announce[winner 2] stopall]
 setJ 1
 ]
]
end
to P :N
if (word KAME11's [shape] KAME12's[shape] KAME13's[shape]) = :N [output "true]
if (word KAME21's [shape] KAME22's[shape] KAME23's[shape]) = :N [output "true]
if (word KAME31's [shape] KAME32's[shape] KAME33's[shape]) = :N [output "true]
if (word KAME11's [shape] KAME21's[shape] KAME31's[shape]) = :N [output "true]
if (word KAME12's [shape] KAME22's[shape] KAME32's[shape]) = :N [output "true]
if (word KAME13's [shape] KAME23's[shape] KAME33's[shape]) = :N [output "true]
if (word KAME11's [shape] KAME22's[shape] KAME33's[shape]) = :N [output "true]
if (word KAME13's [shape] KAME22's[shape] KAME31's[shape]) = :N [output "true]
output "false
end
手順は GO
Jは 1
全部「形は 1」
終わり
手順は G1
もし  形 = 1

 もしどちらかを J = 1
 「
 形は 2
 もし (P 222) 「メッセージを出す「winner 1」 みんなとまる」
 Jは 2
 」
 「
 形は 3
 もし (P 333) 「メッセージを出す「winner 2」 みんなとまる」
 Jは 1
 」

終わり
手順は P :N
もし(ワード 頼む ”KAME11 「形」 頼む ”KAME12 「形」 頼む ”KAME13 「形」) = :N 「表示 ”ほんとう」
もし(ワード 頼む ”KAME21 「形」 頼む ”KAME22 「形」 頼む ”KAME23 「形」) = :N 「表示 ”ほんとう」
もし(ワード 頼む ”KAME31 「形」 頼む ”KAME32 「形」 頼む ”KAME33 「形」) = :N 「表示 ”ほんとう」
もし(ワード 頼む ”KAME11 「形」 頼む ”KAME21 「形」 頼む ”KAME31 「形」) = :N 「表示 ”ほんとう」
もし(ワード 頼む ”KAME12 「形」 頼む ”KAME22 「形」 頼む ”KAME32 「形」) = :N 「表示 ”ほんとう」
もし(ワード 頼む ”KAME13 「形」 頼む ”KAME23 「形」 頼む ”KAME33 「形」) = :N 「表示 ”ほんとう」
もし(ワード 頼む ”KAME11 「形」 頼む ”KAME22 「形」 頼む ”KAME33 「形」) = :N 「表示 ”ほんとう」
もし(ワード 頼む ”KAME13 「形」 頼む ”KAME22 「形」 頼む ”KAME31 「形」) = :N 「表示 ”ほんとう」
表示 ”うそ
終わり
3つ並ぶと「winner 」のメッセージが出ます。