February 1, 2018

January 13, 2018

December 15, 2017

December 1, 2017

November 16, 2017

Please reload

最新記事

あみだくじの解説

July 25, 2017

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

 

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

 

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

 

まず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

 

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

 

 

 

Please reload

Please reload

アーカイブ