Small Basic中文站-快乐编程

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 426|回复: 0

用Small Basic写简单点名软件

[复制链接]
发表于 2017-7-2 03:34:48 | 显示全部楼层 |阅读模式
本帖最后由 鱼二六 于 2017-7-2 03:36 编辑

本文转载自www.codeweblog.com/用small-basic写简单点名软件/,感谢作者分享

原文:

妹子准备开学了,叫我写个点名软件,用来抽学生回答问题。说起来自己都有点罪恶感,自己上学时最烦被点到名字做题啦,回答问题啦,经常被老师鄙视。

那做就做咯,但是我从来没搞过桌面开发额,虽说主业也搞的不咋地,这个方面确实完全不会。其实吧我想,这个东西没啥意思啊,用个数组放一放,随机数做index,然后取一取咯,但是GUI我觉得好麻烦的,印象停留在java课上用swing写界面的感觉。

想着就这么个东西,不想用java了,vb,c#之类的我也不会啊,于是乎我发现了这货。

据说是一款儿童编程语言,儿童就儿童了,能完成任务就ok了。

其实一进去就感觉不错,很有爱的界面,果然儿童向。而且,语法提示很完全,边栏还有各个函数的解释,参数返回值的解释,应该说上手很快呀,都不需要什么文档了,当然本身也没什么东西。然后我就在那边瞎摸索,捣鼓半天终于写了个能用的东西。

  1. GraphicsWindow.Show()
  2. GraphicsWindow.CanResize=0
  3. GraphicsWindow.Width=400
  4. GraphicsWindow.Height=400
  5. GraphicsWindow.Title="小林老师点名"
  6. GraphicsWindow.FontSize = 64

  7. GraphicsWindow.MouseDown = MouseDownEvent
  8. GraphicsWindow.MouseUp = MouseUpEvent

  9. Path = Program.Directory
  10. pic = ImageList.LoadImage(Path + "\finger.png")
  11. GraphicsWindow.DrawResizedImage(pic,100,50,200,200)
  12. Path = Program.Directory
  13. pic = ImageList.LoadImage(Path + "\student.png")
  14. GraphicsWindow.DrawResizedImage(pic,30,300,80,80)

  15. name="sample"
  16. i=1
  17. While (name <> "")
  18.   name = File.ReadLine("nameList",i)
  19.   'TextWindow.WriteLine(i)
  20.   If (name <> "") Then
  21.     nameArray[i]=name
  22.     i=i+1
  23.   Endif
  24. EndWhile
  25. stuNum = Array.GetItemCount(nameArray)
  26. stuNumCalled = 0

  27. Sub MouseDownEvent
  28.   MX = GraphicsWindow.MouseX
  29.   MY = GraphicsWindow.MouseY
  30.   If(MX>100 And MX<300 And MY >50 And MY<250) Then
  31.    pic = ImageList.LoadImage(Path + "\finger_n.png")
  32.     GraphicsWindow.DrawResizedImage(pic,100,50,200,200)
  33.   EndIf

  34. EndSub

  35. Sub MouseUpEvent
  36.   MX = GraphicsWindow.MouseX
  37.   MY = GraphicsWindow.MouseY
  38.   If(MX>100 And MX<300 And MY >50 And MY<250) Then
  39.     GraphicsWindow.Clear()
  40.     pic = ImageList.LoadImage(Path + "\finger.png")
  41.     GraphicsWindow.DrawResizedImage(pic,100,50,200,200)
  42.     pic = ImageList.LoadImage(Path + "\student.png")
  43.     GraphicsWindow.DrawResizedImage(pic,30,300,80,80)
  44.     start:
  45.     index = Math.GetRandomNumber(stuNum)
  46.     If (nameArray[index]<>"") Then
  47.       GraphicsWindow.DrawText(130,300,nameArray[index])
  48.       nameArray[index]=""
  49.       stuNumCalled=stuNumCalled+1
  50.     ElseIf (stuNumCalled <> stuNum) Then
  51.       Goto start
  52.     Else
  53.       GraphicsWindow.DrawText(150,300,"End")
  54.     EndIf

  55.    EndIf  

  56. EndSub
复制代码

sb16.jpg

最后就是这样啦,按一下就随机出现个名字,符合需求了,可以交差了~

其实还真个是挺有趣的东西。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|Small Basic中文站-快乐编程 ( 闽ICP备09051788号 |

GMT+8, 2017-11-18 16:04 , Processed in 0.240329 second(s), 11 queries , File On.

Powered by Discuz! X3.3

快速回复 返回顶部 返回列表