Recent Posts
Recent Comments
Link
관리 메뉴

NaggingMachine

SmallBasic Example [TurtleMachine] - 30분만에 만들어본 간단한 SmallBasic 예제 본문

Visual Studio

SmallBasic Example [TurtleMachine] - 30분만에 만들어본 간단한 SmallBasic 예제

naggingmachine 2009. 7. 1. 00:42

On the previous article, you can download the latest SmallBasic version(currently 0.5) from MSDN site. This time, I made a simple program to get the idea of the way to use SmallBasic. There is no simpler way to feel and smell the new feature of a programming language than learning through example. In this simple code, you can learn a few programming technique like using Timer object and implemeting mouse event.

Very funny and easy. You can download the full source code from here.

SmallBasic이 어떤놈인지 알아볼겸 간단한게 만들어봤습니다. 역시나 예제를 만들어보면서 배우는것 만큼 확실한 방법도 없는것 같네요. Basic 생각도 나고 말입니다. 예제는 SmallBasic에서 기본제공하는 Turtle 객체를 마우스 움직임에 따라 이동시킵니다. Timer등을 사용해서 이벤트 처리하는 방법, GraphicsWindow에서 마우스 이벤트 처리하는 방법등을 배우실 수 있습니다.

참 쉽죠~ 전체 소스 코드는 http://smallbasic.com/smallbasic.com/program/?QLM601에서 확인하실 수 있습니다.


'-----------------------
' Author: Naggingmachine
' Blog: http://naggingmachine.tistory.com
' Email: wooseok.seo@gmail.com
'-----------------------

'-----------------------
' Timer setup
'-----------------------
Timer.Interval = 50
Timer.Tick = onTimerTick


'-----------------------
' Mouse setup
'-----------------------
GraphicsWindow.MouseMove = onMouseMove
mouseX = GraphicsWindow.MouseX
mouseY = GraphicsWindow.MouseY



'-----------------------
' Turtle setup
'-----------------------
turtleX = GraphicsWindow.Width/2
turtleY = GraphicsWindow.Height/2
Turtle.X = turtleX
Turtle.Y = turtleY
Turtle.Show()


'-----------------------
' Initialize
'-----------------------
GraphicsWindow.Title = "Having fun with Turtle"
GraphicsWindow.BrushColor = GraphicsWindow.GetColorFromRGB(127,127,127)
GraphicsWindow.FontName="arial"
GraphicsWindow.FontSize=30
GraphicsWindow.Fontbold="true"
GraphicsWindow.DrawText(0, 0, "Move mouse, then the turtle will follow you.")

moveHorizontal = 5
moveVerticle = 5

Sub onTimerTick

  ' Get the new X position of the turtle
  If (mouseX < turtleX) Then
    If (turtleX - mouseX < 5) Then
      turtleX = mouseX
    Else
      turtleX = turtleX - moveHorizontal
    EndIf
  ElseIf (mouseX > turtleX) Then
    If (mouseX - turtleX < 5) Then
      turtleX = mouseX
    Else
      turtleX = turtleX + moveHorizontal
    EndIf
  EndIf

  ' Get the new Y position of the turtle
  If (mouseY < turtleY) Then
    If (turtleY - mouseY < 5) Then
      turtleY = mouseY
    Else
      turtleY = turtleY - moveVerticle
    EndIf
  ElseIf (mouseY > turtleY) Then
    If (mouseY - turtleY < 5) Then
      turtleY = mouseY
    Else
      turtleY = turtleY + moveVerticle
    EndIf
  EndIf

  ' Move the turtle to new position
  Turtle.X = turtleX
  Turtle.Y = turtleY

EndSub

Sub onMouseMove
  mouseX = GraphicsWindow.MouseX
  mouseY = GraphicsWindow.MouseY
EndSub

'Visual Studio' 카테고리의 다른 글

Undo/Redo C# 프레임워크  (0) 2009.07.08
C# 4.0 스펙 정보 업데이트  (0) 2009.07.02
SmallBasic 0.5 출시  (2) 2009.06.30
Visual Studio 애드인으로 작성된 Mono Tools  (0) 2009.06.29
C# Interactive Shell  (0) 2009.06.29