最近闲的无聊,就网上搜索好玩的程序设计,看到有趣的VB编程,于是自己又下载了一个VB6.0试试这个代码,发现,我勒个去,有几个明显的错误,最要命的是,哥不懂VB啊!!于是开始漫长的学习,看语法变量,看精度等等,你妹的,一中午最后终于搞懂这些代码的变量是怎么回事,通过错误提示,找到了那个字符串转换成整形的方法,最后那棵树长出来,果子结了,哥阴笑了....顺便提一句:那个树枝密度:可以改的,那个Text1控件不是给你看着玩的!启动VB6,建立一个标准exe工程,添加两个命令按钮COMMAND1(CAPTION=“画出一棵树”),COMMAND2(CAPTION=“显示果子”),一个标签控件(就是那个LabelCAPTION=“树枝密度:”),和一个文本控件TEXT1(用来设置树枝数量),调整上述控件到适当位置,双击窗体,(写入前把窗体下的代码都删掉,空白的写入)写入以下代码:OptionExplicitDimCreateLinesAsIntegerDimLinesAsIntegerDimmLine()AsLine'树枝DimFruit()AsShape'果子DimCreateFruitAsIntegerDimAppleAsIntegerDimEvaluateAsBoolean'是否已经画出了数DimClearAsIntegerDimEraserAsIntegerDimShoWAppleAsBoolean'是否已经显示了果子PrivateDeclareSubSleepLibkernel32(ByValdwMillisecondsAsLong)'定时器PrivateSubCommand1_Click()'画出树枝IfEvaluate=TrueThen'如果已经画出了树枝ForClear=2ToUBound(mLine)SetmLine(Clear)=NothingSetFruit(Clear)=NothingNextControls.Remove(MotherLine)ForEraser=2ToUBound(mLine)Controls.Remove(linea&Eraser)Controls.Remove(fruta&Eraser)NextEndIf'那么将它们清理'否则直接按照TEXT1中设置的数量画出树枝'树枝数量Lines=Asc(Text1.Text)ReDimmLine(1ToLines)'定义树枝数组SetmLine(1)=Controls.Add(vb.line,MotherLine)'初始化树干WithmLine(1).X1=Form1.ScaleWidth/2.X2=Form1.ScaleWidth/2'据窗体中间.Y1=Form1.ScaleHeight.Y2=Form1.ScaleHeight-1000'高度比窗体小1000单位.Visible=True'可见.BorderWidth=8'树干宽度8.BorderColor=vbBlack'以黑色填充EndWith'开始画出树枝ForCreateLines=2ToLinesSetmLine(CreateLines)=Controls.Add(Vb.line,Linea&CreateLines)IfCreateLinesMod2=0Then'向左上方画出随机的直线(树枝)WithmLine(CreateLines).X1=mLine(CreateLines/2).X2.X2=(mLine(CreateLines/2).X2)-Int(Rnd*1000).Y1=mLine(CreateLines/2).Y2.Y2=(mLine(CreateLines/2).Y2)-Int(Rnd*1000).Visible=True.BorderColor=vbGreen'以绿色填充.BorderWidth=3'宽度为3EndWithElseWithmLine(CreateLines)'向右上方画出随机的直线.X1=mLine((CreateLines-1)/2).X2.X2=(mLine((CreateLines-1)/2).X2)+Int(Rnd*1000).Y1=mLine((CreateLines-1)/2).Y2.Y2=(mLine((CreateLines-1)/2).Y2)-Int(Rnd*1000).Visible=TrueEndWithEndIfDoEventsSleep(50)'每隔0.05秒画出并且显示一个树干NextReDimFruit(2ToLines)'画出每个树枝结出的果子,但是并不马上显示,直到单击了“结出果子”按钮ForCreateFruit=2ToLinesSetFruit(CreateFruit)=Controls.Add(vb.shape,fruta&CreateFruit)WithFruit(CreateFruit).Width=200.Height=200'结出果子的大小.Left=mLine(CreateFruit).X2-100.Top=mLine(CreateFruit).Y2-100'结果位置.FillColor=RGB(255,0,0)'以红色填充.FillStyle=0'边框类型.Shape=3'圆形的的果子.ZOrder0EndWithNextEvaluate=True'设置树枝已经画出标志ShoWApple=False'设置显示果子标志Command2.Caption=显示果子'设置结果按钮标题EndSubPrivateSubCommand2_Click()'结出果子按钮按下OnErrorGoToErroIfShoWApple=FalseThen'如果果子没有显示,那么将它们全部显示出来ForApple=LBound(Fruit)ToUBound(Fruit)Fruit(Apple).Visible=TrueDoEventsSleep(50)'每隔0.05秒显示一个果子NextShoWApple=True'重新设置显示果子标志Command2.Caption=取消果子Else'如果果子已经显示,那么将它们全部隐藏ForApple=LBound(Fruit)ToUBound(Fruit)Fruit(Apple).Visible=FalseNextShoWApple=False'重新设置显示果子标志Command2.Caption=显示果子EndIfErro:IfErr.Number=9ThenMsgBox必须首先画出数,才能结出果子!EndIfEndSubPrivateSubForm_Load()Me.Caption=App.Title'添加应用程序标题Me.Left=(Screen.Width-Me.Width)/2Me.Top=(Screen.Height-Me.Height)/2'窗体具中Evaluate=FalseShoWApple=FalseEndSubPrivateSubText1_Validate(CancelAsBoolean)'验证树枝数量是否为0或者1IfText1.Text=OrText1.Text=1ThenCancel=TrueMsgBox必须输入树枝的数量!而且要大于1,vbOKOnly,ErrorEndIfEndSubPrivateSubForm_Unload(CancelAsInteger)EndEndSub'代码结束