あみだくじの解説

前回、あみだくじの動画とダウンロードを紹介しました。

前回のブログはコチラ→あみだくじ

前回まとめきれなかった解説をしていこうと思います。

まず4本のウチから一本選びます。(灰色の部分をクリック)

クリックしたら道と当たりが自動で作られてそれに沿って亀が動き出します。

たまたま当たりました。

ブログ用に当たりに行くようには、してないです。

プログラムも解説していきます。

GraphicsWindow.Show() GraphicsWindow.DrawText(230,15,"4本の内どれか選んで下さい。") GraphicsWindow.DrawLine(40,70,40,360) GraphicsWindow.DrawLine(215,70,215,360) GraphicsWindow.DrawLine(390,70,390,360) GraphicsWindow.DrawLine(565,70,565,360) GraphicsWindow.BrushColor="gray" GraphicsWindow.FillRectangle(30,50,20,20) GraphicsWindow.FillRectangle(205,50,20,20) GraphicsWindow.FillRectangle(380,50,20,20) GraphicsWindow.FillRectangle(555,50,20,20)

ここまでのプログラムで1枚目の画像ができます。

1行目がグラフィックウィンドウの表示

2行目が文章の記入

3から6行目でラインを引いてます。

7行目で□の色を指定してます。

8から11行目で□を書いてます。

GraphicsWindow.MouseDown = OnMouseDown

roop: A=0

Sub OnMouseDown x = GraphicsWindow.MouseX y = GraphicsWindow.MouseY EndSub

If y>50 And y<70 then Goto bunki EndIf Goto roop

bunki:

Turtle.Speed=6

If x>30 And x<50 then A=1 Turtle.Show() Turtle.X=40 Turtle.Y=60 Turtle.Angle=180 EndIf

If x>205 and x<225 Then A=2 Turtle.Show() Turtle.X=215 Turtle.Y=60 Turtle.Angle=180 EndIf

If x>380 and x<400 Then A=3 Turtle.Show() Turtle.X=390 Turtle.Y=60 Turtle.Angle=180 EndIf

If x>555 and x<575 Then A=4 Turtle.Show() Turtle.X=565 Turtle.Y=60 Turtle.Angle=180 EndIf

If A=0 Then Goto roop EndIf

ここまでが4つの□からマウスでクリックして亀を出現させるプログラムです。

b=40 c=Math.GetRandomNumber(3) c=c-1 c=c*175 b=b+c GraphicsWindow.DrawLine(b,120,b+175,120)

If b=40 Then one[1]=1 two[1]=2 EndIf

If b=215 Then two[1]=1 three[1]=2 EndIf

If b=390 Then three[1]=1 four[1]=2 EndIf

b=40 c=Math.GetRandomNumber(3) c=c-1 c=c*175 b=b+c GraphicsWindow.DrawLine(b,180,b+175,180)

If b=40 Then one[2]=1 two[2]=2 EndIf

If b=215 Then two[2]=1 three[2]=2 EndIf

If b=390 Then three[2]=1 four[2]=2 EndIf

b=40 c=Math.GetRandomNumber(3) c=c-1 c=c*175 b=b+c GraphicsWindow.DrawLine(b,240,b+175,240)

If b=40 Then one[3]=1 two[3]=2 EndIf

If b=215 Then two[3]=1 three[3]=2 EndIf

If b=390 Then three[3]=1 four[3]=2 EndIf

b=40 c=Math.GetRandomNumber(3) c=c-1 c=c*175 b=b+c GraphicsWindow.DrawLine(b,300,b+175,300)

If b=40 Then one[4]=1 two[4]=2 EndIf

If b=215 Then two[4]=1 three[4]=2 EndIf

If b=390 Then three[4]=1 four[4]=2 EndIf

GraphicsWindow.BrushColor="red" ran=Math.GetRandomNumber(4) ran=ran-1 ran=ran*175 GraphicsWindow.DrawText(25+ran,390,"当たり")

ここまでのプログラムで分岐の横ラインを書いたり、ゴールの当たりの文字を書いたりしてます。

分岐の横ラインとゴールはランダムで変わる様にプログラミングしてます。

分岐時に亀が横ラインの方向に動く様にあらかじめ判定の数字を割り振ってます。(青色で書いてる所です。)

Turtle.Move(60)

AA=0

If A=1 And one[1]=1 Then Turtle.Angle=90 Turtle.Move(175) Turtle.Angle=180 AA=2 EndIf

If A=2 And two[1]=1 Then Turtle.Angle=90 Turtle.Move(175) Turtle.Angle=180 AA=3 EndIf

If A=2 And two[1]=2 Then Turtle.Angle=270 Turtle.Move(175) Turtle.Angle=180 AA=1 EndIf

If A=3 And three[1]=1 Then Turtle.Angle=90 Turtle.Move(175) Turtle.Angle=180 AA=4 EndIf

If A=3 And three[1]=2 Then Turtle.Angle=270 Turtle.Move(175) Turtle.Angle=180 AA=2 EndIf

If A=4 And four[1]=2 Then Turtle.Angle=270 Turtle.Move(175) Turtle.Angle=180 AA=3 EndIf

If AA=0 Then AA=A EndIf Turtle.Move(60) AAA=0

If AA=1 And one[2]=1 Then Turtle.Angle=90 Turtle.Move(175) Turtle.Angle=180 AAA=2 EndIf

If AA=2 And two[2]=1 Then Turtle.Angle=90 Turtle.Move(175) Turtle.Angle=180 AAA=3 EndIf

If AA=2 And two[2]=2 Then Turtle.Angle=270 Turtle.Move(175) Turtle.Angle=180 AAA=1 EndIf

If AA=3 And three[2]=1 Then Turtle.Angle=90 Turtle.Move(175) Turtle.Angle=180 AAA=4 EndIf

If AA=3 And three[2]=2 Then Turtle.Angle=270 Turtle.Move(175) Turtle.Angle=180 AAA=2 EndIf

If AA=4 And four[2]=2 Then Turtle.Angle=270 Turtle.Move(175) Turtle.Angle=180 AAA=3 EndIf If AAA=0 Then AAA=AA EndIf

Turtle.Move(60)

AAAA=0

If AAA=1 And one[3]=1 Then Turtle.Angle=90 Turtle.Move(175) Turtle.Angle=180 AAAA=2 EndIf

If AAA=2 And two[3]=1 Then Turtle.Angle=90 Turtle.Move(175) Turtle.Angle=180 AAAA=3 EndIf

If AAA=2 And two[3]=2 Then Turtle.Angle=270 Turtle.Move(175) Turtle.Angle=180 AAAA=1 EndIf

If AAA=3 And three[3]=1 Then Turtle.Angle=90 Turtle.Move(175) Turtle.Angle=180 AAAA=4 EndIf

If AAA=3 And three[3]=2 Then Turtle.Angle=270 Turtle.Move(175) Turtle.Angle=180 AAAA=2 EndIf

If AAA=4 And four[3]=2 Then Turtle.Angle=270 Turtle.Move(175) Turtle.Angle=180 AAAA=3 EndIf

If AAAA=0 Then AAAA=AAA EndIf

Turtle.Move(60)

If AAAA=1 And one[4]=1 Then Turtle.Angle=90 Turtle.Move(175) Turtle.Angle=180 EndIf

If AAAA=2 And two[4]=1 Then Turtle.Angle=90 Turtle.Move(175) Turtle.Angle=180 EndIf

If AAAA=2 And two[4]=2 Then Turtle.Angle=270 Turtle.Move(175) Turtle.Angle=180 EndIf

If AAAA=3 And three[4]=1 Then Turtle.Angle=90 Turtle.Move(175) Turtle.Angle=180 EndIf

If AAAA=3 And three[4]=2 Then Turtle.Angle=270 Turtle.Move(175) Turtle.Angle=180 EndIf

If AAAA=4 And four[4]=2 Then Turtle.Angle=270 Turtle.Move(175) Turtle.Angle=180 EndIf

Turtle.Move(60)

亀がラインに沿って動くプログラムです。

青字のTurtle.Move(60)~Turtle.Move(60)の間が各分岐のプログラムです。

全部で四ヶ所の分岐する道があります。

以上でプログラムの全文です。

一個ずつ説明していくとだいぶ長くなりそうなのでこの辺でやめておきます。

書いてて解説になってない気がするのですが、

分かりにくくてすみませんm(_ _)m

もっと色々改善点がありそうなのでちょっとずつ編集して良さそうなのが出来たら又ブログに掲載します。


最新記事
アーカイブ