Small Basic 编程入门 07 - 绘制图形

在这一章节中,我们将运用前面学到的知识来做一些有趣的事。

在本章的示例中,我们将向你展示几个有趣的方法,让你可以结合目前所学到的全部知识来创建看上去非常酷的应用程序。

矩形

以下的示例利用一个循环语句绘制一组大小逐渐递增的矩形。

GraphicsWindow.BackgroundColor = "Black" 
GraphicsWindow.PenColor = "LightBlue" 
GraphicsWindow.Width = 200 
GraphicsWindow.Height = 200 
For i = 1 To 100 Step 5
  GraphicsWindow.DrawRectangle(100 - i, 100 - i, i * 2, i * 2) 
EndFor
Small Basic 编程入门 07 - 绘制图形

图 33 – 矩形组

圆形

在前面程序的基础上加以改变,绘制一组圆形(而不是矩形)。

GraphicsWindow.BackgroundColor = "Black" 
GraphicsWindow.PenColor = "LightGreen" 
GraphicsWindow.Width = 200 
GraphicsWindow.Height = 200 
For i = 1 To 100 Step 5
  GraphicsWindow.DrawEllipse(100 - i, 100 - i, i * 2, i * 2) 
EndFor
Small Basic 编程入门 07 - 绘制图形

图 34 – 圆形组

随机的图案

以下程序利用 GraphicsWindow.GetRandomColor 为画笔设置随机颜色,在使用 Math.GetRandomNumber 设置圆形的 x 和 y 座标。这个有趣的程序将两种运算巧妙地结合,每次运行时都可以绘制出不同的图案。

GraphicsWindow.BackgroundColor = "Black" 
For i = 1 To 1000
  GraphicsWindow.BrushColor = GraphicsWindow.GetRandomColor()
  x = Math.GetRandomNumber(640)
  y = Math.GetRandomNumber(480)
  GraphicsWindow.FillEllipse(x, y, 10, 10) 
EndFor
Small Basic 编程入门 07 - 绘制图形

图 35 – 随机的图案

分形

以下程序使用随机数绘制一个简单的三角分形。分形是一种几何图形,它可以被分割成多个子图形,其中每个子图形都与该分形形状完全相同。在这个示例中,程序将绘制一个由几百个小三角形组成的大三角形,其中每个小三角形都与大三角形完全相同。由于这个程序需要运行几秒钟,我们可以在程序运行时看到三角形从小点开始,逐渐形成大三角形的过程。程序本身的逻辑很难描述,大家可以尝试研究一下。

GraphicsWindow.BackgroundColor = "Black" 
x = 100 
y = 100 
For i = 1 To 100000
  r = Math.GetRandomNumber(3)
  ux = 150
  uy = 30
  If (r = 1) then
    ux = 30
    uy = 1000
  EndIf
  If (r = 2) Then
    ux = 1000
    uy = 1000
  EndIf 
  x = (x + ux) / 2
  y = (y + uy) / 2
  GraphicsWindow.SetPixel(x, y, "LightGreen") 
EndFor
Small Basic 编程入门 07 - 绘制图形

图 36 – 三角分形

如果你想认真观察小三角形逐渐形成三角分形的过程,可以在循环中引入Proram.Delay 延迟。这个运算通过读取指定的数值(以毫秒为单位),延迟程序的执行时间。以下为修改后的程序,修改的代码以粗体显示。

GraphicsWindow.BackgroundColor = "Black" 
x = 100 
y = 100 
For i = 1 To 100000
  r = Math.GetRandomNumber(3)
  ux = 150
  uy = 30
  If (r = 1) then
    ux = 30
    uy = 1000
  EndIf 
  If (r = 2) Then
    ux = 1000
    uy = 1000
  EndIf 
  x = (x + ux) / 2
  y = (y + uy) / 2
  GraphicsWindow.SetPixel(x, y, "LightGreen")
  Program.Delay(2) 
EndFor

通过增加延迟时间,可以让程序执行得更慢。你可以将延迟时间调整到自己喜欢的数值。

我们还可以对程序进行其它修改,将以下代码:

GraphicsWindow.SetPixel(x, y, "LightGreen")

替换为:

color = GraphicsWindow.GetRandomColor() 
GraphicsWindow.SetPixel(x, y, color)

修改后的程序将以随机颜色绘制三角形。


- 本文内容来自网络,如有侵权,请联系本站处理。

2022-05   阅读(7)   评论(0)
 标签: program Basic

涨知识
I2C

I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。

评论:
相关文章
Small Basic 编程入门 11 - 事件(Events)和交互(Interactivity)

事件就像被触发的信号,例如,为了应对类似移动或点击鼠标的用户操作。某种程度上说,事件同操作是相对的。对于操作,您作为一个程序员调用操作让计算机做一些事情;然后对于事件,计算机通知您一些有意思的事情发生了。



Small Basic 编程入门 09 - 子例程(Subroutines)

在编程时我们经常遇到需要重复执行相同一组步骤的情况。这种情况下,多次重写相同的语句是不合理的。这时我们需要借助子例程。


Small Basic 编程入门 08 - Turtle Graphics (海龟绘图法)

Small Basic 语言中也引入了 Turtle (龟标)对象,编程人员可以通过Small Basic 自带的很多命令调用这个对象。


Small Basic 编程入门 06 - 图形入门

Small Basic 还有一组强大的图形功能。




Small Basic 编程入门 03 - 引入变量

如果我们的程序能够对用户的姓名说“你好”而不只是单纯的“世界你好”,那样不是更好吗?


Small Basic 编程入门 02 - 解读我们的第一个程序

一个程序是一组计算​机指令。这些指令准确地告诉计算机做什么,并且计算机总是遵循这些指令。就像人们一样,计算机只能遵循用它们能明白的语言指定的指令。这些语言被称为编程语言。有非常多的语言计算机能明白,Small Basic 是其中之一。


Small Basic 编程入门 01 - 介绍

微软 Small Basic 将“乐趣”重新投入到计算机编程中。有一个友好的开发环境,很容易掌握,它使儿童和成人都容易进入编程的世界。