Chinaunix首页 | 论坛 | 博客
  • 博客访问: 533842
  • 博文数量: 526
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 3235
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-29 17:52
文章分类

全部博文(526)

文章存档

2011年(1)

2008年(525)

我的朋友

分类: LINUX

2008-08-29 18:08:03

 
第8章编程基础
学习编程,主要应该学习三方面的知识,即程序开发环境的使用、编程语言的语法规则以及可供直接使用的标准类库/函数库。限于篇幅,本章着重讨论程序开发环境的使用。
本章附有例程,保存在目录turial-basic-redflag41-8-example中。

Basic集成开发工具Gambas

在红旗Linux4.1的开发工具盘中,提供了Gambas.0.99。
“Gambas几乎就是Basic!”,是基于AdvancedBasic语言的集成开发环境。该工具可视化程度高、面向对象,并且简单易学,适合编程初学者做编程练习使用。
下面将结合一个小游戏的开发来讨论Gambas的基本使用方法。

需求分析--“聪明宝贝”的功能要求

要开发的小游戏被命名“聪明宝贝”。这是一个数字0到9的加法游戏。每局游戏开始后,程序会自动产生1道题,给出两个0到9范围内的随机数,要求游戏者算出这两个数的和。
初步分析,为了实现上述功能,大体上应该做如下事情:
1、建立一个应用程序窗体,游戏就在这个窗体上进行;
2、寻找一种产生随机数的办法、显示题目;
3、接收游戏者输入的答案,判断正确性。
对于“聪明宝贝”这样的小程序,上述需求分析已经足够,可以开始进行设计了。

设计

需求分析明确了应该做什么,设计则要解决如何做的问题。
象“聪明宝贝”这样的“微型”软件,其设计工作完全可以和编程工作混合在一起做。不过,为了便于说明,这里还是专门考虑一下设计的问题。

开发工具的选择

显而易见,“聪明宝贝”是一个图形化的应用程序,应该选择支持可视化编程的开发工具。这里就选择Gambas.0.99。

用户界面

Gambas提供的一些常用控件就可以满足“聪明宝贝”用户界面的设计需要。可以用窗体控件Form建立应用程序窗体;用标签控件Label显示题目;游戏者用鼠标点击命令按钮Button即可输入答案。
总地来看,程序涉及的控件有Form、Label、Button。各控件的布局和数量可以在编程时确定。

后台运算

Gambas提供了随机数生成函数Rnd,调用它就可以产生随机性的算术题目。
两个0~9的数字之和有可能是一位数字,也可能是两位数字。程序在产生一道题后,应该自动计算答案。当答案是一位数时,游戏者输入一位数字后就可以判断其回答的正确性;当答案是两位数时,就要等游戏者输入两个数字之后再进行判断。

编程第一回

有了基本的设计之后,就可以着手编写程序了。编程可以由粗到细,由简到繁地进行。先绘出用户界面轮廓,实现简单地操作,然后再逐步细化,最后达到设计目标。

启动Gambas新建工程

从开始菜单就可以启动Gambas:
【开始】→【应用程序】→【软件开发】→【Gambas】
开发工具启动后,首先会出现一个对话框,询问是要新建工程还是打开已有的工程。点击新建工程就会启动工程创建向导。
按照工程创建向导程序的提示,可以完成有关工程的一些基本信息的设置。这主要包括:
工程类型:用gambas可以编写图形化界面的程序,也可以开发命令行界面的程序。还可以用已有的工程做模板创建新的工程。这里应该选“创建一个图型工程”。
工程名:就是给工程订立一个名字。可以用smartbaby。
工程标题:就用汉字标题“聪明宝贝”吧。
保存位置:指定工程文件保存到哪里?
工程创建向导收集上述信息后就会自动生成一个smartbaby目录,在其中保存所有相关的文件。

新建窗体

完成工程创建工作后,gambas也就启动起来了。在屏幕左侧那个有菜单的窗口是gambas的主窗口。
在主窗口中用树形图表示了本工程所涉及的类、窗口、模块、和数据,工程名smartbaby就是树根。
用鼠标右键点击工程名smartbaby或者其下面的分支,都会出现弹出菜单,其中【新建】→【窗体】就是用来给工程添加窗体的。执行此功能,建立第一个窗体。开发工具会询问窗体的名字。这个窗体是游戏的主窗体,不妨定名为frmMain。注意,一定把“启动类”的复选框勾选上,因为程序启动时这个窗口就应该直接显示出来。

运行工程

现在工程已经有了可见的窗体了,不妨试着运行一下。方法很简单,用鼠标单击gambas主窗口工具栏中的绿色三角图标即可。程序运行起来后,应该显示一个窗口,虽然上面什么也没有。但可以执行窗口的基本操作,即:最小化和关闭。可以点击窗口右上角的最小化图标和关闭图标试试。
关闭窗口,意味着程序运行的终止。程序是在gambas的环境中运行的,也可以用鼠标单击gambas主窗口工具栏中的红色方块图标来终止程序的运行。

保存和关闭工程

执行gambas主窗口菜单【文件】→【保存工程】可以把新建的工程保存起来。
执行gambas主窗口菜单【文件】→【退出】则可以将整个工程关闭并退出gambas。
上面做的工作虽然简单,但却解决了用gambas编程的最基本问题:
*如何建立一个新工程;
*如何添加窗体;
*如何在调试环境下运行程序;
*如何保存和关闭。

编程第二回

前面已经创建了新工程并且创建了窗体。接下来解决随机数生成和题目显示的问题。

打开已有工程

再次启动Gambas,会出现一个对话框,询问是要新建工程还是打开已有的工程。在对话框的右侧有一个列表,列出了最近的工程。可以从这个列表直接选择smartbaby。也可以点击“打开工程”按钮,然后在弹出的选择工程对话框中找到smartbaby。

添加控件

双击主窗口树形图中的frmMain,主窗口就显示出来了。
现在,要把一个标签控件和一个命令按钮控件加到窗体中。
在屏幕右侧,有一个工具箱窗口。需要的控件就在这个窗口里。如果工具箱窗口没有显示出来,执行Gambas主窗口菜单【视图】→【工具箱】就可以。
标签控件,即Label,可以用来显示不可修改的文本。在“聪明宝贝”中,用它来显示算术题目。先用鼠标单击工具箱中的标签图标,这个图标就会被黑线方框圈起来,变成的样子。这表明选中了这个图标。然后用鼠标在主窗口任意位置进行拖放,主窗口上就会出现一个标签控件。
单击控件即可选中它。可以拖放选中的控件来调整其摆放位置。用鼠标指向被选中控件的边缘然后拖放,则可以调整控件大小。
用鼠标右键点击控件,执行弹出菜单中的“属性”则可以显示出该控件的属性窗口。默认的控件名称(Name)属性为Label1,改成lblDisplay。
命令按钮控件,即Button,点击它可以执行命令。命令按钮控件对于的图标是同理可以调整该按钮的位置和大小并修改其属性。控件名称(Name)改成btnNew,文本(text)设成“新
局”。将来程序做好时,点击这个按钮将开始新的一局游戏。

编写代码

窗体上已经有了一个按钮btnNew,和一个标签lblDisplay。可以编写代码实现这样的功能:单击按钮,调用随机数函数,产生两个随机数,作为算术题目的加数和被加数,然后组合形成字符串,通过标签显示出来。这样就解决随机数生成和题目显示的问题。
显然,这些代码应该在单击按钮时执行。“单击按钮”就是所谓的事件,而添加的代码,就是事件处理程序。
如何编写btnNew“单击事件”处理程序代码呢?用鼠标双击btnNew,就会弹出代码编辑器。在其中已经有了一些简单的代码:´Gambasclassfile
PUBLICSUBbtnNew_Click()
END
这几行代码是Gambas自动生成的。应该把btnNew“单击事件”处理程序代码写到PUBLICSUB
btnNew_Click()与随后的END之间。PUBLICSUBbtnNew_Click()表示一个函数的开始,END则表示一个函数的结束。这就是说,按钮btnNew发生“单击事件”时,程序将执行btnNew_Click()这个函数。目前这个函数是空的,也就意味着按钮btnNew发生“单击事件”时,什么也不做。要实现前面提到的功能,就要编写程序,告诉计算机应该做什么。下面是定义好的程序代码:
PUBLICSUBbtnNew_Click()
DIMaASInteger
DIMbASInteger
a=Int(Rnd(10))
b=Int(Rnd(10))
lblDisplay.Text=Str$(a)&" "&Str$(b)&"="
END
这个事件处理程序中,前两行以DIM开头定义了两个整型变量,即a和b,分别用来存加数和被加数。
接下来的两行是对a、b赋值。Rnd(10)函数将返回0到10范围内的随机数,Int()函数则是取整函数,取随机数的整数部分。最后一行把a、b转换成字符串,并与加号( )和等号(=)连接起来,形成算术表达式的字符串,此字符串被传递给lblDisplay的Text属性,从而把题目显示出来。

红旗4.1初级教程《初学者必看》《续》红旗4.1初级教程《初学者必看》《续》红旗4.1初级教程《初学者必看》《续》红旗4.1初级教程《初学者必看》《续》红旗4.1初级教程《初学者必看》《续》红旗4.1初级教程《初学者必看》《续》红旗4.1初级教程《初学者必看》《续》红旗4.1初级教程《初学者必看》《续》红旗4.1初级教程《初学者必看》《续》红旗4.1初级教程《初学者必看》《续》
阅读(210) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~