رفتن به مطلب

مثال و قطعه کدها برای B4XTurtle *مهم*


Salar82

ارسال‌های توصیه شده

سلام به همه دوستان و بزرگان :53:

آموزش کامل کار با B4XTurtle، در تاپیک زیر داده شده و در این تاپیک مثال ها و نمونه کدهای رسم، برای استفاده قرار داده میشن. (خوشحال میشم دوستان در این زمینه همکاری داشته باشن :))

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

رسم مربع

java_oCn7ECmsOl.png.934983c0a9e1fc37622793ffb6d5f854.png

 

روش اول:

Sub Turtle_Start
    Turtle.SetPenColor(xui.Color_Blue).SetPenSize(5).SetSpeedFactor(1)
    Turtle.MoveForward(100).TurnLeft(90)
    Turtle.MoveForward(100).TurnLeft(90)
    Turtle.MoveForward(100).TurnLeft(90)
    Turtle.MoveForward(100).TurnLeft(90)
End Sub

 

روش دوم(داینامیک تر و بهتر):

Sub Turtle_Start
    Turtle.SetPenColor(xui.Color_Blue).SetPenSize(5).SetSpeedFactor(1)
    For i = 1 To 4
        Turtle.MoveForward(100).TurnLeft(90)
    Next
End Sub

 

در این مثال، اول 100dip به سمت جلو و هر دفعه 90 درجه بسمت چپ تغییر جهت میده. اگر چهار بار این اتفاق بیفته، یک مربع رسم میشه. :) 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

رسم دایره:

java_SfKJDvpl59.png.0cdaa603c733b70665915b9d89ab93d7.png

Sub Turtle_Start
    Turtle.SetPenColor(xui.Color_Blue).SetPenSize(5).SetSpeedFactor(1)
    For i = 1 To 360
        Turtle.MoveForward(1).TurnLeft(1)
    Next
End Sub

دقت داشته باشید که با یک بار دور زدن کامل، 360 درجه تغییر جهت میدیم.

حالا اگر 360 بار، یک درجه تغییر جهت بدیم، یک دور کامل میزنیم. درواقع (کسر) 1/360 محیط دایره رو حساب کردیم و هر بار باندازه 1dip حرکت میکنیم. اگر 360 بار اینکار انجام بشه، یک دایره بدست میاد.

 

:53:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

mb3vabCstA.gif.80c1ef4d4f991ee504115d54d11e50a4.gif

 

Sub Turtle_Start
    Turtle.SetPenColor(xui.Color_Blue).SetPenSize(5)
    Dim radius As Float = 100
    DrawCircle(radius)
    Turtle.PenUp.MoveBackward(radius).PenDown
    Turtle.SetPenColor(0xFFFF00B6)
    DrawSquare(radius * 2)
End Sub

Sub DrawCircle (Radius As Float)
    Dim DistancePerIteration As Float = 2 * cPI * Radius / 360 ' circle perimeter = 2 *  π  * radius '
    For i = 1 To 360
        Turtle.MoveForward(DistancePerIteration).TurnLeft(1)
    Next
End Sub

Sub DrawSquare (EdgeSize As Float)
    For i = 1 To 4
        Turtle.MoveForward(EdgeSize).TurnLeft(90)
    Next
End Sub

 

 به خط زیر توجه کنید:

Dim DistancePerIteration As Float = 2 * cPI * Radius / 360

با این کد، ابتدا محیط دایره رو بر اساس شعاع بدست میاریم (طبق فرمول محیط دایره، P=2⊓r)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...