猜数字游戏的VB代码

合集下载

一段简单的猜数字代码

一段简单的猜数字代码

⼀段简单的猜数字代码⼀段简单的猜数字代码,要求是1,要猜的数字是随机数字1到9;2,猜数字次数为三次;3,如果猜中就打印提⽰语,并且结束程序;4,如果猜错就打印正确值还有剩下的次数;5,如果次数为0,就打印结束,欢迎下次再来。

⽂件名为:easy_guess.py,代码如下:1# !usr/bin/env python32# *-* coding:utf-8 *-*34'''5⼀个简单的猜数字游戏6要猜的数字为随机数字1到97猜的次数为38如果猜中就打印猜中的提⽰语9如果没猜中就打印正确值,还有剩下的次数10如果次数为0,就打印结束,欢迎下次再来11'''1213from random import randint #导⼊模块141516#num_input = int(input("Please input a number(range 1 to 9 ) to continue: ")) #输⼊数字17 guess_time = 0 #定义猜数字次数1819'''开始主循环'''20while guess_time < 4:21 num_input = int(input("PLease input a number(range 1 to 9) to continue: ")) #开始输⼊字符,因为从终端输⼊python认为是字符串,所以要在最前⾯⽤int()函数强制转化为整型,不然后续⽐较的时候会出现错误;22 number = randint(1,9) #定义随机数字,从1到923 remain_time = 3 - guess_time #定义剩下的猜字次数2425if num_input == number: #⽐较输⼊的数字是否和随机数相等,代码的第21⾏前如果没有转化成整型,这⾥会提⽰str不能与int进⾏⽐较;26print("Great guess, you are right!") #相等就执⾏27break#跳出主循环,后续的代码都不会再执⾏28elif num_input > number: #⽐较输⼊的数字是否⼤于随机数29print("Large\n The right number is: {}\n You have {} chances!".format(number,remain_time)) #满⾜条件就提⽰正确答案和剩余次数30elif num_input < number:31print("Small\n The right number is: {}\n You have {} chances!".format(number,remain_time)) #满⾜条件就提⽰正确答案和剩余次数3233 guess_time += 1 #每次循环完成都让猜字次数(guess_time)⾃加1,直到不满⾜主循环条件guess_time < 4上⾯的代码并不能执⾏如果次数为0 就打印结束,欢迎下次再来,⽽且也没有判断⽤户输⼊,下⾯把代码改⼀下,来完善⼀下,⽂件名为another_easy_guess.py:1# usr/bin/env python32# *-* coding:utf-8 *-*34from random import randint #导⼊模块56 guess_time = 0 #定义猜数字次数78'''开始主循环'''9while guess_time < 4:10 remain_time = 3 - guess_time #定义猜的次数11 num_input = input("Please input a number(integer range 1 to 9) to continue(You have {} times to guess): ".format(remain_time)) #开始输⼊12 number = randint(1,9) #定义随机数131415if guess_time >=0 and guess_time < remain_time: #猜的次数⼤于0还有⼩于剩余次数才会执⾏下⾯的代码块16if not num_input.isdigit(): #判定输⼊的是否是数字17print("Please input a integer to continue.") #如果不是数字,提⽰⽤户输⼊数字18elif int(num_input) < 0 or int(num_input) > 10: #判定是不是在我们设定的数字范围内19print("Please use the number 1 to 9 to compare.") #如果不是就提⽰20elif int(num_input) == number: #判定输⼊的数字是否与随机数相等21print("Great guess, you are right!")22break23elif int(num_input) > number: #判定输⼊数是否⼤于随机数24print("Large\n The right number is: {}\n There are {} chances for you!".format(number,(remain_time - 1)))25elif int(num_input) < number: #判定输⼊数是否⼩于随机数26print("Small\n The right number is: {}\n There are {} chances for you!".format(number,(remain_time - 1)))27else:28print("You have arrived the limited, see you next time!") #次数⼩于剩余次数后执⾏29break#跳出循环3031 guess_time += 1 #猜的次数⾃增1直到guess_time < 4;323334'''历史遗留问题:1,上⾯的代码只针对⽤户输⼊的数字,⽤户输⼊字符串也是会计算次数的;35 2,如果都没猜中且次数⽤完,是直接打印最后的You have arrived the limited, see you next time!⽽预期的提⽰正确答案。

数字猜猜猜的vb编程

数字猜猜猜的vb编程
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then KeyAscii = 0
End If
Option Explicit
Dim intLow As Integer
Dim intHigh As Integer
Dim intMid As Integer
Private Sub Command2_Click()
‘点CMD2时重新开始,所以重置次数为0,重新产生一个随机数
cishu = 0
Randomize Timer
x = Int((Rnd * 10) + 1)
End Sub
Private Sub Form_Load()
’程序开始时自动重置一次,可以省去,如果省去的话开始前需要点CMD2开始游戏
Case Else
z = MsgBox("恭喜你猜中了!", 1)
End Select
End Sub
p.s.如果可以帮我修改一下代码就更好了~~
有分追加~~
Option Explicit
Private Sub Command1_Click()
On Error Resume Next
Dim x As Integer, y As Integer, z As Integer
Dim myvalue
myvalue = Int((10 * Rnd) + 1)
x = Val(myvalue)
y = Val(Text1.Text)
If Text1.Text = "" Or Not IsNumeric(Text1.Text) Then

猜数字游戏源代码

猜数字游戏源代码

猜数字游戏本案例知识要点●Visual C++ 6.0下创建Win32 Console Application并运行的方法●C++程序中类的定义和实现●C++程序中类文件的引用及类的实例化一、案例需求1.案例描述由计算机产生0到99的随机数,游戏参加者将猜到的数字从键盘输入,计算机对猜数结果进行判断直到猜出正确结果。

2.案例效果图猜数字游戏运行效果如图2-1所示。

3.功能要求(1)所猜0到99的目标数字由计算随机产生。

(2)0到99的随机数的产生、所猜数字和目标数字的比较等过程以类的形式实现。

(3)若游戏参加者所猜数字正确,则提示所猜总次数;若猜数错误,则提示所猜数字比目标数字大还是小。

二、案例分析本案例中设计了一个Guess类,实现产生随机数、进行参加游戏者输入数字与目标数字的比较、计算猜数次数。

主程序中通过类的实例化实现猜数过程。

三、案例设计为了实现猜数过程,设计Guess类,结构如图2-2所示。

●数据成员int Value产生的0到99间的目标数字。

int CompareTimes为游戏者已猜次数。

●函数成员Guess()构造函数,用来产生随机目标数字。

int Compare(int InputValue)用来判断游戏者所猜数字是否正确,其参数InputValue为游戏者所猜数字。

int GetCompareTimes()用来获得游戏者已猜次数。

五、案例实现猜数字游戏源程序代码如下所示。

************************************* // * Guess.h 类声明头文件************************************* #1. #include <time.h>#2. class Guess#3. {#4. private:#5.int Value; //计算机产生的目标数字#6. int CompareTimes; //所猜次数#7. public:#8. Guess(); //构造函数的声明#9. int Compare(int InputValue); #10. int GetCompareTimes();#11. };#12. Guess:: Guess ()//构造函数的实现#13. {#14. CompareTimes=0; //猜数次数置零#15. srand((unsigned)time(NULL)); //产生随机数种子#16. Value=rand()%100;//产生0~99的随机数#17. }#18.int Guess::Compare(int InputValue)//比较猜数是否正确#19. {#20. CompareTimes++; //所猜次数加1 #21. return InputValue-Value;//比较所猜数字和目标数字是否相同,相同//返回0#22. }#23. int Guess::GetCompareTimes()//获得已猜次数#24. {#25. return CompareTimes;#26. }//************************************* //* GuessNumber.cpp 源文件************************************* #1. #include <iostream>#2. #include "Guess.h"//将已定义的类文件包含到主程序文件中#3. using namespace std;#4. int main()#5. {#6. int InputValue;#7.cout<<"\n** 欢迎使用本程序**\n"; #8. for(;;)#9. {#10. char Select;#11. Guess guessobj;//实例化Guess类#12. cout<<"我已经想好数字啦(0~99),请猜吧!\n";#13. for(;;)#14. {#15. int CompareResult; #16. cout<<"\n我想的是:";#17. cin>>InputValue;//获得游戏者输入的所猜数字#18. CompareResult=pare (InputValue);//判断游戏者所猜数字是否正确#19. if(CompareResult==0) //正确#20. {#21. int GuessTimes=guessobj.GetCompareTimes(); #22. cout<<"\n恭喜您,猜对啦!"<<endl <<"您一共猜了"<<GuessTimes<<"次"<<endl;#23. break;#24. }#25. else if(CompareResult>0)#26. {#27. cout<<"\n对不起,您猜的数大啦!\n";#28. }#29. else#30. {#31. cout<<"\n对不起,您猜的数小啦!\n";#32. }#33. }#34. cout<<"\n您还想再玩吗?('n'=No,Others=Yes)\n";#35. cin>>Select;#36. cout<<'\n';#37. if(Select=='n'||Select=='N')#38. {#39. break;#40. }#41. }#42. cout<<"********** 感谢您的使用! **********\n";#43. return 0;#44. }六、案例总结与提高1.案例总结(1)本案例的重点是介绍Visual C++ 6.0下创建并运行一个C++Win32控制台应用程序的基本过程。

猜数字

猜数字

用VB6.0开发猜数字小游戏首先说一说猜数字这个游戏的玩法,一开始计算机会随机产生一个不重复的四位数,你要输入四位不重复的数与计算机给出的数作对比,如果与计算机给出的数的位置相同数字相同,那么将会是1A,如果数字相同而位置相不同,将会显示1B。

例如:计算机的随机数字为:1234 ,我猜的数字为:1356 ,那么这时计算机会给你提示为:1A1B,也就是说,你猜的数字中,有一位数字是猜对的,而且数字位置都对,所以显示为1A;还有一个数字也猜对了,但是位置不对,所以显示为1B。

就这些了,看谁猜的次数少。

首先在Form中加入一个CommandButtion控件,在Command1上点击鼠标右键,选择复制,在窗体上点击鼠标右键,选择粘贴在窗体上粘贴出九个Command1,此时出现对话框问你要不要创建控件数组,在此选择是。

然后再加入两个CommandButtion控件,一个ListBox、一个Frame、一个Label 。

设置窗体的Caption属性为“猜一猜”、BorderStyle 为1-Fixed Single、控件数组的Captin分别为0、1、2、3、4、5、6、7、8、9,Command2的Caption为“确定",Command3的Caption为“取消",Frame1的Caption为“提示:",Label1的Cpation为“0A0B"。

然后选择菜单编辑器编辑菜单为:游戏、新游戏、显示答案、结束游戏,她们的Name属性分别为:Game、New、View、End。

好了,其余属性使用缺省的即可,最后的界面应跟下图一样:以下是程序清单:Dim PcA, PcB, PcC, PcD As Integer '电脑给出的每一位数Dim UserA, UserB, UserC, UserD As Integer '用户输入的每一位数Dim Degree As Integer '用户猜了几次Dim Num As Integer '判断用户输入次数的变量Private Sub Form_Load()'程序运行行时'初始化For i = 0 To 9Command1(i).Enabled = FalseNext iCommand2.Enabled = FalseCommand3.Enabled = FalseView.Enabled = FalseEnd SubPrivate Sub New_Click()'开始一个新游戏时View.Enabled = True '可以看答案List1.Clear '清空列表框Degree = 0' 对随机数生成器做初始化RandomizeNum = 1Label1.Caption = 0 &“A" &0 &“B"'电脑给出的每一位数PcA = Int(9 *Rnd)DoPcB = Int(9 *Rnd)Loop While PcB = PcADoPcC = Int(9 *Rnd)Loop While PcC = PcA Or PcC = PcBDoPcD = Int(9 *Rnd)Loop While PcD = PcA Or PcD = PcB Or PcD = PcCFor i = 0 To 9Command1(i).Enabled = TrueNext iCommand2.Enabled = FalseCommand3.Enabled = TrueEnd SubPrivate Sub Command1_Click(Index As Integer)'用户输入时'使得输入过的按钮无效If Num <= 4 ThenCommand1(Index).Enabled = FalseEnd If'判断用户输入了几位,如果输入了四位则确认按钮有效If Num = 4 ThenCommand2.Enabled = TrueEnd If'取得用户输入Select Case IndexCase 0UserEnter (0) '调用UserEnter过程Case 1 UserEnter (1)Case 2 UserEnter (2)Case 3 UserEnter (3)Case 4 UserEnter (4)Case 5 UserEnter (5)Case 6 UserEnter (6)Case 7 UserEnter (7)Case 8 UserEnter (8)Case 9 UserEnter (9)End SelectEnd SubPrivate Sub Command2_Click()'单击确定按钮时'判断用户输入是否正确Dim A, B As IntegerA = 0B = 0Degree = Degree + 1If UserA = PcA ThenA = A + 1ElseIf UserA = PcB Or UserA = PcC Or UserA = PcD ThenB = B + 1End IfIf UserB = PcB ThenA = A + 1ElseIf UserB = PcA Or UserB = PcC Or UserD = PcD ThenB = B + 1End IfIf UserC = PcC ThenA = A + 1ElseIf UserC = PcA Or UserC = PcB Or UserC = PcD ThenB = B + 1End IfIf UserD = PcD ThenA = A + 1ElseIf UserD = PcA Or UserD = PcB Or UserC = PcC ThenB = B + 1End If'显示提示Label1.Caption = A &“A" & B &“B"List1.AddItem UserA &UserB &UserC &UserD &“" &Label1.Caption '初始化输入按钮Command2.Enabled = FalseFor i = 0 To 9Command1(i).Enabled = TrueNext iNum = 1'判断输赢If A = 4 ThenMsgBox “你猜对了!" &“你一共猜了" &Degree &“次"For i = 0 To 9Command1(i).Enabled = FalseNext iCommand2.Enabled = FalseEnd IfEnd SubPrivate Sub Command3_Click()'单击取消按钮时Num = 1For i = 0 To 9Command1(i).Enabled = TrueNext iCommand2.Enabled = FalseEnd SubPrivate Sub View_Click()'显示答案时MsgBox “答案是:" &PcA &PcB &PcC &PcD &“你答对了吗?" End SubPrivate Sub End_Click()'游戏结束时EndEnd SubSub UserEnter(i) '取得用户输入If Num = 1 ThenUserA = iNum = Num + 1ElseIf Num = 2 ThenUserB = iNum = Num + 1ElseIf Num = 3 ThenUserC = iNum = Num + 1ElseIf Num = 4 ThenUserD = iNum = Num + 1Else: MsgBox “四位数够了!"End IfEnd Sub。

用VB编写猜数游戏

用VB编写猜数游戏

任务:用VB编写猜数游戏1、启动VB,新建一个“标准EXE”工程;2、适当调整Form1的大小;3、添加4个CommandButton,排列位置和大小如图所示,根据红色文字更改名称;4、添加3个Label,排列位置和大小如图所示,根据红色文字更改名称,更改Caption属性;5、添加2个Text,排列位置和大小如图所示,根据红色字体更改名称,将Caption设为空白;双击Form1,输入以下代码Private Sub Command1_Click()Dim a As IntegerRandomize '初始化随机种子a = Int(20 * Rnd + 1) '随机产生一个100以内的整数Text1.Text = a '把随机数的值赋给文本框1.End SubPrivate Sub Command2_Click()Text1.Visible = TrueEnd SubPrivate Sub Command3_Click()Dim a, b As Integera = Text1.Text '获取系统产生的随机数,并赋给变量ab = Text2.Text '把用户输入的值赋给变量bIf b = a Then Label3.Caption = "恭喜你,你猜对了!你可以点击查看随机数按钮"If b > a Then Label3.Caption = "猜大了,改小点,再试试"If b < a Then Label3.Caption = "猜小了,改大点,再试试"End SubPrivate Sub Command4_Click()Text1.Visible = FalseEnd Sub最后,点击运行,测试程序是否能成功运行。

然后在桌面用自己的姓名新建一个文件夹,将工程保存到这个文件夹内,并提交到教师机FTP相关文件夹处。

(完整版)vb小游戏代码

(完整版)vb小游戏代码

数字排序小游戏Option ExplicitDim Label2X As Integer '记录标签控件数组中要移动的标签控件左上角X的位置Dim Label2Y As Integer '记录标签控件数组中要移动的标签控件左上角Y的位置'让标签数组中的每个标签控件上显示的数字是随机的,无重复的Private Sub Init()RandomizeDim a(7) As IntegerDim i As Integer, k As IntegerLabel1.Caption = ""For i = 0 To 7a(i) = iNextFor i = 0 To 7k = Int(Rnd * 8)Do While a(k) = -1 'a(k)=-1表示该数组元素对应的数字已经被使用过了k = Int(Rnd * 8) '重新生成k的值,直到a(k)的值不等于-1LoopLabel2(i).Caption = Trim(Str(a(k)))a(k) = -1 'a(k)的值已经使用了,不能再用,重新赋值为-1与其他的元素值相区别Next iEnd SubPrivate Sub Command1_Click()Dim x As Integer, y As IntegerDim z As IntegerInitPicture1.Enabled = True'让空白标签Label1出现的位置随机Randomize'记录下空白标签Label1的位置x = Label1.Lefty = Label1.Topz = Int(Rnd * 8)'将空白标签Label1和标签控件数组任一控件交换位置Label1.Move Label2(z).Left, Label2(z).TopLabel2(z).Move x, yCommand1.Enabled = FalseEnd SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub Form_Load()Dim i As IntegerPicture1.Enabled = False'在标签中显示游戏说明信息Label3.Caption = "如左图所示,将数字按0-7顺" & vbCrLf & vbCrLf & "序依次排列,即取得胜利。

VB编写猜数字小游戏教程

VB编写猜数字小游戏教程

VB编写猜数字小游戏傻瓜教程本人原创,只在百度文库发布,希望对想学习VB的朋友有所帮助,提高学习VB的兴趣。

本文以VB6为例介绍编写一个最简单的猜数字小游戏过程,VB6在百度上很容易搜索到,本文所需要控件极少,安装一个大小只有6MB的VB6精简版就可以体验了。

不敢说“抛砖引玉”,只怕抛个小砖换来个板儿砖。

总之,本文重点不是从零开始学VB,主要是介绍编写这个小游戏的过程。

首先,启动VB,然后点击文件菜单,点击新建一个工程,即可出现如下界面。

按照下图红色箭头的指向,鼠标在左侧工具条上拖一个文本标签、一个文本输入框、一个按钮到工程界面里边来,然后调整大小和位置大概跟下图比例差不多就行了。

接着,点击label标签,在右边属性窗口里调整字体大小为三号字,因为默认的字体太小了,不爽。

什么?三号字还小?那你自己看着办吧,但我可要告诉你哦,等下显示的内容超出显示区域可别怪我。

改好了吗?本次编程就这三个控件,菜吧?现在双击工程界面的空白区域,不要点在控件上了哦。

双击空白区域后,就弹出了代码编写窗口。

按照下图把代码一个一个给我打上去。

都好几分钟了,打上去了吗?哦,忘了告诉你,复制下面的代码也是一样的。

代码:Dim cai As Integer '定义一个变量用来存储欲猜的数字Private Sub Form_Load()Randomize '重设随机因子Label1.Caption = "请填入你猜测的数字" '让label1显示为空Text1.T ext = "" '让text1文本显示为空Command1.Caption = "确定" '让command1显示为"确定"cai = Int(Rnd * 899) + 100 '随机选择一个三位数作为欲猜的数字End Sub以上代码都做了注释,就不需要过多说明了。

猜数字游戏课程设计vb

猜数字游戏课程设计vb

猜数字游戏课程设计vb一、教学目标本课程旨在通过“猜数字游戏”项目的设计与实现,让学生掌握Visual Basic编程基础,培养其逻辑思维能力和问题解决能力。

具体目标如下:•了解和掌握Visual Basic的基本语法和编程结构。

•理解事件驱动编程的概念。

•学习如何使用Visual Basic进行窗口应用程序的设计。

•学生能独立设计并实现一个简单的猜数字游戏。

•学生能够运用所学的知识解决实际问题。

•提升学生利用编程语言进行创新和实践的能力。

情感态度价值观目标:•培养学生对计算机科学的兴趣,增强其学习编程的动力。

•培养学生面对挑战不轻言放弃的精神。

•引导学生理解编程在现代社会的重要性。

二、教学内容教学内容将围绕Visual Basic编程展开,具体包括:•Visual Basic简介:介绍Visual Basic的发展历史和特点。

•基本语法:变量、数据类型、运算符、控制结构等。

•面向对象编程:理解类和对象的概念,学习如何定义和使用类。

•事件驱动编程:学习事件的概念,理解如何响应用户事件。

•用户界面设计:学习如何设计图形用户界面(GUI)。

•猜数字游戏设计:通过项目实践,综合运用以上知识设计游戏。

三、教学方法本课程将采用讲授法、实践法和小组讨论法相结合的方式进行教学:•讲授法:用于向学生介绍和解释Visual Basic的基本概念和语法。

•实践法:通过让学生动手设计猜数字游戏,强化知识的应用和技能的培养。

•小组讨论法:在游戏设计过程中,鼓励学生进行小组合作,共同解决问题,培养团队协作能力。

四、教学资源教学资源包括:•教材:《Visual Basic编程基础》。

•多媒体资料:包括教学PPT、在线编程教程和视频讲解。

•实验设备:计算机实验室,每台计算机安装有Visual Basic环境。

•在线编程平台:供学生在线练习和提交作业。

以上资源将配合教学内容和方法,为学生提供一个全面、互动的学习环境。

五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:通过学生在课堂上的参与度、提问回答、小组讨论等来评估其学习态度和理解程度,占总评的30%。

猜数游戏完整代码

猜数游戏完整代码

/**猜数游戏的完整代码*/import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Scanner;public class GuessNumber_all{public static void compareNum(){ //使用BufferedReader读入数据流try{//获取随机产生的数字int random=(int)(Math.random()*100+1);for( int i=1;;i++){BufferedReader br=new BufferedReader(new InputStreamReader(System.in));System.out.println("请猜数:");int keyBoardNum=Integer.parseInt(br.readLine()); //获取键盘输入的数字//比较两数的大小if(keyBoardNum!=random){if(keyBoardNum>random){System.out.println("大了");}else{System.out.println("小了");}}else{System.out.println("随机数是"+random);System.out.println("恭喜你猜对了,你的战斗力是:"+(int)((1-i/8.0f)*100));break;}if(i>=8){System.out.println("超过次数,尚需努力");System.out.println("正确答案是:"+random);break;}}}catch (Exception e){System.out.println("输入错误,请重新输入");}}public static void GameSet(){System.out.println(" 游戏难度设置:1 :容易 2 :一般3:难");int select=getInput();switch(select){case 1:Easy();break;//处理1:容易case 2:Middle();break;//处理2:一般case 3:Difficult();break;//处理3:难default:System.out.println("程序结束");return;}}public static int getInput(){//从键盘获取数字输入,若输入非数字字符,返回-1int res=-1;try{Scanner x=new Scanner(System.in);//构造一个Scanner对象,其传入参数为System.inres=x.nextInt();}catch(Exception e){//通过异常处理来捕获输入的字符/**System.out.println("非法输入,请重新选择:");rentInVechile(); */}return res;}public static void Easy(){try{//获取随机产生的数字int random=(int)(Math.random()*100+1);for( int i=1;;i++){BufferedReader br=new BufferedReader(new InputStreamReader(System.in));System.out.println("请猜数:");intkeyBoardNum=Integer.parseInt(br.readLine()); //获取键盘输入的数字//比较两数的大小if(keyBoardNum!=random){if(keyBoardNum>random){System.out.println("大了");}else{System.out.println("小了");}}else{System.out.println("随机数是"+random);System.out.println("恭喜你猜对了,你的战斗力是:"+(int)((1-i/8.0f)*100));break;}if(i>=8){System.out.println("超过次数,尚需努力");System.out.println("正确答案是:"+random);break;}}}catch (Exception e){System.out.println("输入错误,请重新输入");}}public static void Middle(){{//获取随机产生的数字int random=(int)(Math.random()*100+1);for( int i=1;;i++){BufferedReader br=new BufferedReader(new InputStreamReader(System.in));System.out.println("请猜数:");intkeyBoardNum=Integer.parseInt(br.readLine()); //获取键盘输入的数字//比较两数的大小if(keyBoardNum!=random){if(keyBoardNum>random){System.out.println("大了");}else{System.out.println("小了");}else{System.out.println("随机数是"+random);System.out.println("恭喜你猜对了,你的战斗力是:"+(int)((1-i/6.0f)*100));break;}if(i>=6){System.out.println("超过次数,尚需努力");System.out.println("正确答案是:"+random);break;}}}catch (Exception e){System.out.println("输入错误,请重新输入");}}public static void Difficult(){try{//获取随机产生的数字int random=(int)(Math.random()*100+1);for( int i=1;;i++){BufferedReader br=new BufferedReader(new InputStreamReader(System.in));System.out.println("请猜数:");intkeyBoardNum=Integer.parseInt(br.readLine()); //获取键盘输入的数字//比较两数的大小if(keyBoardNum!=random){if(keyBoardNum>random){System.out.println("大了");}else{System.out.println("小了");}}else{System.out.println("随机数是"+random);System.out.println("恭喜你猜对了,你的战斗力是:"+(int)((1-i/4.0f)*100));break;}if(i>=4){System.out.println("超过次数,尚需努力");System.out.println("正确答案是:"+random);break;}}}catch (Exception e){System.out.println("输入错误,请重新输入");}}//处理主窗体public static int readSelect(BufferedReader br) {int select=0;while(true){try{System.out.println("请输入您的选择");String s=br.readLine();select=Integer.parseInt(s);if(select>=1 && select<=3)break;System.out.println("无效选择");}catch(Exception ex){System.out.println("请输入数字!");}}return select;}public static void main(String[] args) {System.out.println("请输入一个(0-100)之间的一个数");BufferedReader br=new BufferedReader(new InputStreamReader(System.in));while(true){System.out.println("1.开始猜数");System.out.println("2.游戏参数设置");System.out.println("3.退出");int select=readSelect(br);switch(select){case 1:compareNum();break;case 2:GameSet();break;case 3:System.out.println("程序结束");return;}}}}。

VB编写猜数字小游戏教程

VB编写猜数字小游戏教程

VB编写猜数字小游戏傻瓜教程本人原创,只在百度文库发布,希望对想学习VB的朋友有所帮助,提高学习VB的兴趣。

本文以VB6为例介绍编写一个最简单的猜数字小游戏过程,VB6在百度上很容易搜索到,本文所需要控件极少,安装一个大小只有6MB的VB6精简版就可以体验了。

不敢说“抛砖引玉”,只怕抛个小砖换来个板儿砖。

总之,本文重点不是从零开始学VB,主要是介绍编写这个小游戏的过程。

首先,启动VB,然后点击文件菜单,点击新建一个工程,即可出现如下界面。

按照下图红色箭头的指向,鼠标在左侧工具条上拖一个文本标签、一个文本输入框、一个按钮到工程界面里边来,然后调整大小和位置大概跟下图比例差不多就行了。

接着,点击label标签,在右边属性窗口里调整字体大小为三号字,因为默认的字体太小了,不爽。

什么?三号字还小?那你自己看着办吧,但我可要告诉你哦,等下显示的内容超出显示区域可别怪我。

改好了吗?本次编程就这三个控件,菜吧?现在双击工程界面的空白区域,不要点在控件上了哦。

双击空白区域后,就弹出了代码编写窗口。

按照下图把代码一个一个给我打上去。

都好几分钟了,打上去了吗?哦,忘了告诉你,复制下面的代码也是一样的。

代码:Dim cai As Integer '定义一个变量用来存储欲猜的数字Private Sub Form_Load()Randomize '重设随机因子Label1.Caption = "请填入你猜测的数字" '让label1显示为空Text1.Text = "" '让text1文本显示为空Command1.Caption = "确定" '让command1显示为"确定"cai = Int(Rnd * 899) + 100 '随机选择一个三位数作为欲猜的数字End Sub以上代码都做了注释,就不需要过多说明了。

vb猜字游戏程序

vb猜字游戏程序

用VB60开发猜数字小游戏时间:2009-6-2 10:24:01 作者:来源:随着windows95and98的流行,越来越多的人加入windows程序设计的队伍之中。

以前,windows程序设计是那些训练有素的专业程序设计者才会涉足的神秘领域,几乎所有的windows程序都是用c/c++语言编写的,这对大部分普通程序设计者来说,要想高效迅速地编写出具有一定功能的windows程序就不是一件容易的事情了。

1991年,microsoft公司首次推出了visualbasicforwindows,从此,人们不用c/c++或汇编就可以编写windows程序了。

到目前为止,我认为在所有的windows程序设计工具中,visualbasic是最方便的,它以一种全新的思想让程序员快捷和高效地设计出windows程序。

目前,visualbasic的最高版本为6.0,本文讲述用运行于win95/98上的vb6.0来开发一个猜数字的小游戏。

首先说一说猜数字这个游戏的玩法,一开始计算机会随机产生一个不重复的四位数,你要输入四位不重复的数与计算机给出的数作对比,如果与计算机给出的数的位置相同数字相同,那么将会是1a,如果数字相同而位置相不同,将会显示1b。

例如:计算机的随机数字为:1234,我猜的数字为:1356,那么这时计算机会给你提示为:1a1b,也就是说,你猜的数字中,有一位数字是猜对的,而且数字位置都对,所以显示为1a;还有一个数字也猜对了,但是位置不对,所以显示为1b。

就这些了,看谁猜的次数少。

首先在form中加入一个commandbuttion控件,在command1上点击鼠标右键,选择复制,在窗体上点击鼠标右键,选择粘贴在窗体上粘贴出九个command1,此时出现对话框问你要不要创建控件数组,在此选择是。

然后再加入两个commandbuttion控件,一个listbox、一个frame、一个label。

VB第3章 猜数游戏

VB第3章  猜数游戏

任务3.3 VB 2010程序设计基础
3.3.2 数据类型
任务3.3 VB 2010程序设计基础
任务3.3 VB 2010程序设计基础
3.3.3 变量
12.变量名的是的定程命义序名运规行则时,随时可以改变的量。程序运行时,变量存放在 某个内存空间中。每一个变量都有一个名字和相应的数据类型,这个 定 例 D名标(字((合不im义如法合字识1母23) ) )变:的 法a将符、Dg标名标量变变ie在的下m需识称识量量A代命划变s要名名符不符码名线I量n指::是区的t名中规,e定i5xtxs以分最grm!$tu被则不ae变Au((e字大大arNs(引如能量s包'包as将数母小长(m关的用下包含含a据或写度e不键g名非,:含r非类ei为文。能字p称定法而 小法型_以字)t和义字1p数 数字数6类开为符c符3据 点o字型I8始$un“类 和)3开nt。的e!t个型 空g5头变一_”e5字决 格)r量类)个符定 。的型字定。了的符义变变序语量量列句的语,储法后存格面方式可式为以。:是数字、 可(以4)在不一个能语使句用中V定B 义20多10个的变量关,键而字不。需要重复声明数据类型。例如: D(im5)na在m变e, 量se的x, t作ele用ph域o范ne围As内s,trin变g'量定名义了是3唯个一str的in。g类型的变量
3.2.1 Label控件
Label控件的主要属性: ((21))BToerxdteArlSigtynl属e属性性 BoTerdxetArSlitgynle属属性性描用述来L设ab置elL控ab件e上l控文件字的的边对框齐风方格式。。Label控件的对 齐方式共有九种,分别对应Label控件的4条边、4个角和中心。
任务3.2 学习控件
3.2.2 TextBox控件

VB上机实验手册 实验3 猜数游戏

VB上机实验手册 实验3 猜数游戏

2013年5月10日星期五
赋值运算
赋值运算符除了实验1介绍的“=”外,还有 += 、-= 、*= 、 /= 、\= 、^= 、&= 等,这些运算符的运算功能是:将一个表达式与 一个变量或属性进行运算,并将结果赋给该变量或属性。 如: += —— 将一个数值表达式的值与一个数值变量或属性的值相 加,并将结果赋给该变量或属性。 &= —— 连接String表达式与String变量或属性,并将结果赋 给该变量或属性。 运算符“+=”除了作数值运算外,也可以作字符串(String) 连接运算,但通常使用“&=”作为String连接运算符。
2013年5月10日星期五
【预备知识】
1.赋值运算 2.相关函数 3.For-Next语句 4.MessageBox.Show()方法 5.Me
2013年5月10日星期五
【实验步骤】
1.创建及保存项目 2.“即时”窗口的使用 3.窗体设计 4.程序设计 5.程序调试 6.程序改进
2013年5月10日星期五
2013年5月10日星期五
Val()函数
该函数用于将字符串转换为数值。转换时,如果第1个字符不 是数字字符,则返回数值0。例如: Val("23KM") 返回值:23 Val(“APPLE”) 返回值:0。 Val()函数在转换时能识别E、小数点、&O前缀(八进制)、 &H前缀(十六进制),并且会排除空格、制表符和换行符。例如: Val("2.6E3KM") 返回值:2600 Val("&O14") 返回值:12 Val("&H1F") 返回值:31 Val(" 1615 198th Street N.E.") 返回值:1615198

vb程序源代码

vb程序源代码
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FF0000&
Height = 615
Left = 1800
Width = 615
End
Begin bel Label8
Caption = "游"
BeginProperty Font
Name = "宋体"
Begin bel Label6
Caption = "猜"
BeginProperty Font
Name = "宋体"
Size = 24
Charset = 134
BeginProperty Font
Name = "宋体"
Size = 24
Charset = 134
Weight = 400
EndProperty
ForeColor = &H000080FF&
Height = 615
Left = 3720
TabIndex = 11
Top = 240
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H0000FF00&
Weight = 400
Underline = 0 'False
Italic = 0 'False

猜数字游戏的VB程序代码

猜数字游戏的VB程序代码

猜数字游戏的VB程序代码(改进版)本猜数字游戏的方法及规则:系统自动生成一个四位数(四个数字没有重复),玩者需要猜中这个数字。

玩者在四个文本框内输入四个数字,按“ENTER”后,如果猜对,则文本框变绿,本轮结束,按“CLEAR”进入下一轮。

如果不对,则会在下面显示“xAxB”,其中“xA”表示有四个数字中有多少个数字是数字和所在位置都猜对的,“xB”表示有多少个数字猜对但是所在位置不对。

比如,答案是“1234”,玩者猜“5432”,则显示“1A2B”,因为“3”猜对且位置也对,“4”猜对但位置不对,“2”猜对但位置不对。

如果玩者猜“1324”,则显示“2A2B”;如果玩者猜“4567”则显示“0A1B”;如果玩者猜“4256”,则显示“1A1B”,原因自己推。

(四位数也可能是零开头。

)最多猜错十次,如十次没有猜对,则游戏失败,本轮结束,按“CLEAR”进入下一轮。

按“QUIT”可查看答案,同时本轮结束。

各控件在界面上的布局如下:程序代码:Option ExplicitDim key_num, count_enter As IntegerDim key_dig(1 To 4) As IntegerPrivate Sub Command1_Click()Dim i, j, count_A, count_B As IntegerDim ans_dig(1 To 4) As Integercount_enter = count_enter + 1ans_dig(1) = Val(Text1.Text): ans_dig(2) = Val(Text2.Text): ans_dig(3) = Val(Text3.Text): ans_dig(4) = Val(Text4.Text)For i = 1 To 4 Step 1For j = 1 To 4 Step 1If ans_dig(i) = key_dig(j) ThenIf i = j Then count_A = count_A + 1 Else count_B = count_B+ 1 '最主要的步骤End IfNextNextIf count_A < 4 And count_enter < 10 ThenFor i = 1 To 25 Step 1Print " ";NextPrint Str(count_enter) + ":";For i = 1 To 4 Step 1Print Str(ans_dig(i));NextPrint " " + Str(count_A) + "A" + Str(count_B) + "B"ElseFor i = 1 To 25 Step 1Print " ";NextIf count_A = 4 ThenText1.BackColor = vbGreen: Text2.BackColor = vbGreen: Text3.BackColor = vbGreen: Text4.BackColor = vbGreen Text5.ForeColor = vbBlack: Text5.BackColor = vbGreenIf key_num \ 1000 = 0 Then Text5.Text = "0" + Str(key_num)Else Text5.Text = Str(key_num)Form1.FontSize = "40": Form1.ForeColor = vbGreen: Print "BINGO!"Command2.Enabled = True: Command3.Enabled = Falsecount_enter = 0Command1.Enabled = FalseElseForm1.FontSize = "40": Form1.ForeColor = vbRed: Print "你输了!"Text5.ForeColor = vbRedIf key_num \ 1000 = 0 Then Text5.Text = "0" + Str(key_num) Else Text5.Text = Str(key_num)Command2.Enabled = True: Command3.Enabled = Falsecount_enter = 0Command1.Enabled = FalseEnd IfEnd IfEnd SubPrivate Sub Command2_Click()Call FormInitializationCommand2.Enabled = FalseCommand1.Enabled = True: Command3.Enabled = TrueEnd SubPrivate Sub Command3_Click()Dim i As IntegerFor i = 1 To 25 Step 1Print " ";NextForm1.FontSize = "40": Form1.ForeColor = vbRed: Print "QUITTED"Text5.ForeColor = vbRed: Text5.Text = Str(key_num) Command2.Enabled = Truecount_enter = 0Command1.Enabled = FalseCommand3.Enabled = FalseEnd SubPrivate Sub Form_Load()Call FormInitializationEnd SubPrivate Function FormInitialization()ClsWith Form1.ForeColor = vbBlack: .Font = "黑体": .FontSize = "18" End WithDim n, i, j As Integer, is_appliable As BooleanFor n = 1 To 7 Step 1Print " "NextDois_appliable = TrueRandomizekey_num = Int(Rnd * (9876 - 123 + 1)) + 123For i = 1 To 4 Step 1key_dig(i) = key_num \ 10 ^ (4 - i) Mod 10NextFor i = 1 To 3 Step 1For j = i + 1 To 4 Step 1If key_dig(i) = key_dig(j) Then is_appliable = False NextNextLoop Until is_appliableWith Command1.Font = "Times New Roman": .FontSize = "15": .Caption = "ENTER":End WithWith Command2.Font = "Times New Roman": .FontSize = "12": .Caption = "Next Round": .Enabled = FalseEnd WithWith Command3.Font = "Times New Roman": .FontSize = "9": .Caption = "QUIT" End WithWith Label1.Font = "宋体": .FontSize = "9": .Caption = "正确答案:": .ForeColor = vbBlackEnd WithWith Label2.Font = "宋体": .FontSize = "20": .Caption = "“bingo”游戏": .ForeColor = vbBlackEnd WithWith Label3.Font = "宋体": .FontSize = "9": .ForeColor = vbBlack .Caption = "系统自动生成一个四位数(四个数字没有重复),玩者需要猜中这个数字。

vb新手事例

vb新手事例

Vb编程示例1、猜数字游戏控件名称属性form1 caption(“猜数游戏“),maxbutton(false)label1 caption (”请输入一个数字(0-100):‘)label2 caption (“”)autosize (true)forecolor(红色)text text(“”)command1 caption(“开始游戏”)command2 caption (“让我猜"),default(true )command3 caption (”退出游戏“) ,cancel (true )private sub command1 _click ()dim n as integerrandomizen = int (rnd * 101)form1.tag = ncommand1.enabled = falsetext1.setfocus ' 文本框获得焦点end subprivate sub command2 _click ()dim m as integerm =val(text1.text )if m >form1.tag thenlabel2.caption = " 你猜的数字太大了!"' 下面两条语句实现选中文本框内容text1.selstart = 0text1.sellength = len(text1.text)elseif m <form1.tag thenlabel2.caption = " 你猜的数字太小了!"' 下面两条语句实现选中文本框内容text1.selstart = 0text1.sellength = len(text1.text)elselabel2.caption = "恭喜你!猜对了!" command1.enabled = trueend ifend subprivate sub command3 _click ()unload meend subprivate sub form_ unload (cancel as integer)dim n as integer'当用户退出系统时,提示用户是否退出n = msgbox ("确实要退出游戏吗?" , vbyesno = vbformtion ,"游戏提示")if n= vbno thencancel = trueend ifend sub运行时的图片为;2、制作一个登录窗口制作一个登陆窗口,在窗口上绘制2个标签控件,两个文本控件2个命令按钮对象属性label1 caption (" 请输入账号"),autosize (ture )label2 caption (" 请输入密码"),autosize (ture )tetusername text (清空),maxlenth (10) ,tooltiptext ("账号不超过10位")tetpasssword text (清空),passwordchar (*)command1 caption(确定&OK) , default (true )command2 caption(取消&cancer),cancer(true)form1 caption(登录窗口),maxbutton(false)运行时如图3、制作一个要求输入年龄和性别的窗口要求用户输入年龄和性别private sub command1_click ()dim age as integer,sex as stringage = val(text1.text )sex = text2.textif age < 18 thenlabel3.caption = "本游戏不允许未成年人进入" endelseif sex = "男" thenlabel3.caption = "欢迎这位男士!"elselabel3.caption ="欢迎这位女士!"end ifend ifend sub运行时如图3、自动监控游戏窗口的实现方法演示程序代码本程序用vb编写。

程序规划基础(VB)猜数字

程序规划基础(VB)猜数字

程序设计基础(VB)
实验15
实验目的:
猜数字小游戏
实验内容:
在D盘创建一个文件夹,将其命名为自己的学号+姓名,按要求完成以下程序,均保存到自己的文件夹中。

猜数字小游戏。

游戏规则:随机产生4个数字,由玩家输入4个不重复的数字(如:8 3 1 2)按确定后电脑给出提示,其形式为"?A?B"。

你所输入的四位数中,位置和数字都正确则为A,数字相同但位置不相同时为B。

参考代码如下:
命令按钮View
复习课上讲过的其他内容,编写程序练习。

作业上交:
将自己的文件夹压缩,发邮件至:xlw+cehui14vb@。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

猜数字游戏的VB代码本猜数字游戏的方法及规则:系统自动生成一个四位数(四个数字没有重复),玩者需要猜中这个数字。

玩者在四个文本框内输入四个数字,按“ENTER”后,如果猜对,则文本框变绿,本轮结束,按“CLEAR”进入下一轮。

如果不对,则会在下面显示“xAxB”,其中“xA”表示有四个数字中有多少个数字是数字和所在位置都猜对的,“xB”表示有多少个数字猜对但是所在位置不对。

比如,答案是“1234”,玩者猜“5432”,则显示“1A2B”,因为“3”猜对且位置也对,“4”猜对但位置不对,“2”猜对但位置不对。

如果玩者猜“1324”,则显示“2A2B”;如果玩者猜“4567”,则显示“0A1B”;如果玩者猜“4256”,则显示“1A1B”,原因自己推。

(四位数也可能是零开头。

)最多猜错十次,如十次没有猜对,则游戏失败,本轮结束,按“CLEAR”进入下一轮。

按“QUIT”可查看答案,同时本轮结束。

各控件在界面上的布局如下:Option ExplicitPrivate Sub Command1_Click() '此为“确认”按钮。

If Form1.ForeColor <> vbMagenta ThenIf Command2.Enabled = False ThenDim keydig(1 To 4) As Integer, ansdig(1 To 4) As IntegerDim n, m, cnt_A, cnt_B As Integer, isappliable As BooleanStatic count, keynum As Integer 'command按钮事件执行终,必须使变量count仍然残留。

DoIf count = 0 Then '“count”变量计算Command1_Click执行的次数,每执行一次增加1。

Randomizekeynum = Int(Rnd * (9876 - 123 + 1)) + 123 '生成一个四位随机整数。

End If '3rdFor n = 1 To 4 Step 1keydig(n) = keynum \ 10 ^ (4 - n) Mod 10 '“keydig(n)”数组有四个元素,存放四位随机数的四个数字。

Nextisappliable = TrueFor m = 1 To 3 Step 1 '生成的四位整数不能有任何两位相同,否则重新生成。

For n = m + 1 T o 4 Step 1If keydig(m) = keydig(n) Then isappliable = FalseNextNextLoop Until isappliable = True '如果有相同数字就返回去重算。

ansdig(1) = Val(Text1.Text): ansdig(2) = Val(Text2.Text): ansdig(3) = Val(Text3.Text): ansdig(4) = Val(Text4.Text)For m = 1 To 4 Step 1For n = 1 To 4 Step 1If keydig(m) = ansdig(n) ThenIf m = n Then cnt_A = cnt_A + 1 Else cnt_B = cnt_B + 1End IfNextNextIf cnt_A = 4 Or count = 9 ThenText5.Text = Str(keynum): Text5.FontSize = "15"Command2.Enabled = True: Command1.Enabled = FalseIf cnt_A = 4 Then '5thText1.BackColor = vbGreen: Text2.BackColor = vbGreen: Text3.BackColor = vbGreen: Text4.BackColor = vbGreen: Text5.BackColor = vbGreen: Label2.Caption = "BINGO!": Label2.ForeColor = vbBlue: Text5.ForeColor = vbBlackElseWith Form1.ForeColor = vbRed: .Font = "Times New Roman": .FontSize = "20"End WithText5.ForeColor = vbRed: Text1.Text = "": Text2.Text = "": Text3.Text = "": T ext4.Text = ""Print Tab(65); "YOU LOSE!"End If '5thElseForm1.FontSize = "13": Text1.Text = "": Text2.Text = "": Text3.Text = "": Text4.Text = ""Print Tab(41); Str(count + 1)Print Tab(47); Str(ansdig(1)) + Str(ansdig(2)) + Str(ansdig(3)) + Str(ansdig(4)) + " " + Str(cnt_A) + "A" + Str(cnt_B) + "B"End If '4thcount = count + 1Elsecount = 0End If '2ndElseText5.Text = Str(keynum)End If '1stEnd SubPrivate Sub Command2_Click()Dim n As IntegerIf Form1.ForeColor = vbRed Or Label2.Caption = "BINGO!" Or Form1.ForeColor = vbMagenta ThenClsCall FormInitializationFor n = 1 T o 15 Step 1Print ""NextCall Command1_ClickElseCommand1.Enabled = True: Command3.Enabled = True: Command3.Caption = "QUIT": Command2.Enabled = FalseEnd IfEnd SubPrivate Sub Command3_Click()If Form1.ForeColor <> vbMagenta ThenCommand2.Enabled = True: Command1.Enabled = FalseForm1.ForeColor = vbMagenta: Form1.Font = "Times New Roman": Form1.FontSize = "40"Command3.Caption = "See the key"Print Tab(40); "QUIT"Text1.Text = "": Text2.Text = "": Text3.Text = "": Text4.Text = ""ElseCall Command1_ClickText5.ForeColor = vbRed: Text5.FontSize = "15"Command3.Enabled = FalseEnd IfEnd SubPrivate Sub Form_Load()Dim n As IntegerCall FormInitializationFor n = 1 T o 15 Step 1Print ""NextCommand2.Enabled = FalseEnd SubPrivate Function FormInitialization() As IntegerWith Form1.ForeColor = vbBlack: .Font = "宋体": .FontSize = "9"End WithWith Command1.Font = "Times New Roman": .FontSize = "15": .Caption = "ENTER" End WithWith Command2.Caption = "CLEAR": .Font = "Times New Roman": .FontSize = "12" End WithWith Label2.Font = "Times New Roman": .FontSize = "20": .Caption = "'Bingo' Game": .ForeColor = vbBlackEnd WithWith Text1.Text = "": .FontSize = "35": .BackColor = vbWhiteEnd WithWith Text2.Text = "": .FontSize = "35": .BackColor = vbWhiteEnd WithWith Text3.Text = "": .FontSize = "35": .BackColor = vbWhiteEnd WithWith Text4.Text = "": .FontSize = "35": .BackColor = vbWhiteEnd WithWith Text5.ForeColor = vbBlack: .Text = "": .BackColor = vbWhiteEnd WithLabel1.Caption = "正确答案:"Command3.Caption = "QUIT": Label3.Caption = "系统生成一个四位随机整数(四个数字没有重复),玩者要想方设法猜中这个四位数。

相关文档
最新文档