| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2755 人关注过本帖
标题:35+男爸,以前学的是basic,看到个智力小游戏,用Qbasic实现了(提供源程序) ...
只看楼主 加入收藏
yahooglz
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2012-10-18
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:37 
35+男爸,以前学的是basic,看到个智力小游戏,用Qbasic实现了(提供源程序),求用VB实现它,感谢!(在线等)
源程序如下:忘了从哪个地方看见的游戏了,用QBasic生成的exe文件用起来太麻烦了,还要调用Dosbox,中文用TW实现,下面附图。求用VB做个XP下可用的,方便好看点的东东用。感谢!(真的懒再去学VB了)
2 CLS
COLOR 6
LOCATE 3, 10
PRINT "   欢迎您,让我们来玩猜数字游戏吧!现在我有一个四位数,您可以猜8次。"
PRINT "   记住,这个四位数每个数位上的数字是不相同的。"
PRINT "   还有,您每猜测一次,我都会给出一个提示的,好好利用提示,"
PRINT "   您肯定会胜利的,把脑筋动起来吧!"
PRINT "   提示方法:A和B,A表示您猜的数字中有一个数位上的数字与答案的"
PRINT "   数位相同,数字也相同。B表示您猜的数字中有一个数字与答案中的一个"
PRINT "   数字相同,但数位不对。"
PRINT "   例子:比如答案是1234,你猜5243,我给出的提示就是1A2B,1A表示有一个数字对了(指百位上的2),"
PRINT "   2B表示有两个数字对了(指3和4),但数位不对,您明白了吗?"
COLOR 7
PRINT "   那让我们开始吧!"
10 RANDOMIZE TIMER
a = 0
b = 0
c = 0
d = 0
k = 0
a = INT(RND * 10)
b = INT(RND * 10)
c = INT(RND * 10)
d = INT(RND * 10)
IF a <> b AND a <> c AND a <> d AND b <> c AND b <> d AND c <> d THEN e = 1000 * a + 100 * b + 10 * c + d ELSE GOTO 10
COLOR 11
PRINT "   现在我有这个四位数了。"
5 k = k + 1
IF k = 9 THEN GOTO 100
20 PRINT "   这是您第"; k; "次猜数,您猜猜是多少?"
COLOR 11
INPUT z
IF z < 1000 OR z > 9999 THEN PRINT "   您输入错误了,记住,您要猜的是一个4个数字都不相同的四位数。请重新输入吧!": GOTO 20
IF z = e THEN PRINT "   您太聪明能干了,您猜对了,这个数字就是"; e; "。": GOTO 150
a1 = 0
b1 = 0
c1 = 0
d1 = 0
a1 = INT(z / 1000)
b1 = INT((z - a1 * 1000) / 100)
c1 = INT((z - a1 * 1000 - b1 * 100) / 10)
d1 = z - a1 * 1000 - b1 * 100 - c1 * 10
IF a1 = b1 OR a1 = c1 OR a1 = d1 OR b1 = c1 OR b1 = d1 OR c1 = d1 THEN PRINT "您输入错误了,记住,您要猜的是一个4个数字都不相同的四位数。请重新输入吧!": GOTO 20
n = 0
m = 0
q = 0
w = 0
o = 0
r = 0
t = 0
y = 0
IF a1 = a THEN m = 1 ELSE IF a1 = b THEN n = 1 ELSE IF a1 = c THEN n = 1 ELSE IF a1 = d THEN n = 1
IF b1 = a THEN q = 1 ELSE IF b1 = b THEN w = 1 ELSE IF b1 = c THEN q = 1 ELSE IF b1 = d THEN q = 1
IF c1 = a THEN o = 1 ELSE IF c1 = b THEN o = 1 ELSE IF c1 = c THEN r = 1 ELSE IF c1 = d THEN o = 1
IF d1 = a THEN t = 1 ELSE IF d1 = b THEN t = 1 ELSE IF d1 = c THEN t = 1 ELSE IF d1 = d THEN y = 1
m1 = 0
n1 = 0
m1 = m + w + r + y
n1 = n + q + o + t
PRINT "   这是您第"; k; "次猜数,可惜了,不对,这次的提示是"; m1; "A"; n1; "B"
GOTO 5
100 PRINT "   不好意思,在8次机会里您都没有猜对这个数字,真遗憾!这个数字是"; e; "。"
150 INPUT "   重玩一次请输入(Y/y),不想玩了请输入(N/n)"; h$
IF h$ = "Y" OR h$ = "y" THEN GOTO 2 ELSE IF h$ = "N" OR h$ = "n" THEN GOTO 200 ELSE PRINT "您输入错误,请重新输入!": GOTO 150
200 END

下面是附图:
图片附件: 游客没有浏览图片的权限,请 登录注册


图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 游戏吧 在线 源程序 
2012-10-18 20:49
yahooglz
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2012-10-18
收藏
得分:0 
忘了写了,如果改好了,请发给我邮箱:yahooglz@ 最好能说一下,附点说明就最好了,拜上!
2012-10-18 20:55
yahooglz
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2012-10-18
收藏
得分:0 
好吧。提供QBasic生成的cai.EXE文件和天汇汉字系统TW.exe,用DOSBOX(自个下载)支持DOS 先调用TW 再调用EXE文件可以玩了。我用BAT文件直接玩的。
cai.zip (247.88 KB)


2012-10-18 21:43
yahooglz
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2012-10-18
收藏
得分:0 
好吧。提供QBasic生成的cai.EXE文件和天汇汉字系统TW.exe,用DOSBOX(自个下载)支持DOS 先调用TW 再调用EXE文件可以玩了。我用BAT文件直接玩的。
cai.zip (247.88 KB)


2012-10-18 21:47
yahooglz
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2012-10-18
收藏
得分:0 
小智力游戏,还是不错的,挺考逻辑的,最好谁谁能把它转去安卓那边,做个在安卓上能用的小Game就最好了,我好象就是哪个旧手机上看见的。
2012-10-18 21:52
yahooglz
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2012-10-18
收藏
得分:0 
附上说明吧。

2 CLS                                 --清屏
COLOR 6                               --取颜色6
LOCATE 3, 10                          --文字起始定位
PRINT "   欢迎您,让我们来玩猜数字游戏吧!现在我有一个四位数,您可以猜8次。"         --下面文字都是游戏说明
PRINT "   记住,这个四位数每个数位上的数字是不相同的。"
PRINT "   还有,您每猜测一次,我都会给出一个提示的,好好利用提示,"
PRINT "   您肯定会胜利的,把脑筋动起来吧!"
PRINT "   提示方法:A和B,A表示您猜的数字中有一个数位上的数字与答案的"
PRINT "   数位相同,数字也相同。B表示您猜的数字中有一个数字与答案中的一个"
PRINT "   数字相同,但数位不对。"
PRINT "   例子:比如答案是1234,你猜5243,我给出的提示就是1A2B,1A表示有一个数字对了(指百位上的2),"
PRINT "   2B表示有两个数字对了(指3和4),但数位不对,您明白了吗?"
COLOR 7                                                                        --取颜色7
PRINT "   那让我们开始吧!"
10 RANDOMIZE TIMER                                                          --可以使用随机函数RND
a = 0                                                --定义四个数位上的数字为a b c d   k为判断猜的次数用
b = 0
c = 0
d = 0
k = 0
a = INT(RND * 10)        --随机生成一个个位数a RND是生成0~1之间的一个随机数 乘以10后再取整 得一个个位数a
b = INT(RND * 10)        
c = INT(RND * 10)
d = INT(RND * 10)
IF a <> b AND a <> c AND a <> d AND b <> c AND b <> d AND c <> d THEN e = 1000 * a + 100 * b + 10 * c + d ELSE GOTO 10       --判断 a b c d 四个数不相同 如果相同 则返回行号10行 重新取值 不相同则用加法加出结果数为e
COLOR 11             --取颜色11
PRINT "   现在我有这个四位数了。"   
5 k = k + 1                    --k值进1
IF k = 9 THEN GOTO 100         --用k值判断猜的次数,超过8次跳到行号100行
20 PRINT "   这是您第"; k; "次猜数,您猜猜是多少?"
COLOR 11
INPUT z                        --z为你猜的数
IF z < 1000 OR z > 9999 THEN PRINT "   您输入错误了,记住,您要猜的是一个4个数字都不相同的四位数。请重新输入吧!": GOTO 20               --对z值大小判断,小于1000或大于9999 则跳回行号20行 重新输入
IF z = e THEN PRINT "   您太聪明能干了,您猜对了,这个数字就是"; e; "。": GOTO 150    --判断结果z=e 对了跳到行号150行 重玩判断
a1 = 0         --先定a1 b1 c1 d1 为0
b1 = 0
c1 = 0
d1 = 0
a1 = INT(z / 1000)                     --a1 b1 c1 d1 为你猜的数z 用减法和取整拆出的各个数位上的数字
b1 = INT((z - a1 * 1000) / 100)
c1 = INT((z - a1 * 1000 - b1 * 100) / 10)
d1 = z - a1 * 1000 - b1 * 100 - c1 * 10
IF a1 = b1 OR a1 = c1 OR a1 = d1 OR b1 = c1 OR b1 = d1 OR c1 = d1 THEN PRINT "您输入错误了,记住,您要猜的是一个4个数字都不相同的四位数。请重新输入吧!": GOTO 20       --判断你输入的四位数上四个数字没有相同的 否则跳回重新输入
n = 0
m = 0
q = 0
w = 0
o = 0
r = 0
t = 0
y = 0
IF a1 = a THEN m = 1 ELSE IF a1 = b THEN n = 1 ELSE IF a1 = c THEN n = 1 ELSE IF a1 = d THEN n = 1
IF b1 = a THEN q = 1 ELSE IF b1 = b THEN w = 1 ELSE IF b1 = c THEN q = 1 ELSE IF b1 = d THEN q = 1
IF c1 = a THEN o = 1 ELSE IF c1 = b THEN o = 1 ELSE IF c1 = c THEN r = 1 ELSE IF c1 = d THEN o = 1
IF d1 = a THEN t = 1 ELSE IF d1 = b THEN t = 1 ELSE IF d1 = c THEN t = 1 ELSE IF d1 = d THEN y = 1
m1 = 0       --上面多重判断a b c d 和 a1 b1 c1 d1 相比较 相同则进1 最后下面加起来得数 m1 和 n1
n1 = 0
m1 = m + w + r + y
n1 = n + q + o + t
PRINT "   这是您第"; k; "次猜数,可惜了,不对,这次的提示是"; m1; "A"; n1; "B"    --给出提示 m1 “A” 和 n1 “B”
GOTO 5      --返回 k值进1
100 PRINT "   不好意思,在8次机会里您都没有猜对这个数字,真遗憾!这个数字是"; e; "。"
150 INPUT "   重玩一次请输入(Y/y),不想玩了请输入(N/n)"; h$
IF h$ = "Y" OR h$ = "y" THEN GOTO 2 ELSE IF h$ = "N" OR h$ = "n" THEN GOTO 200 ELSE PRINT "您输入错误,请重新输入!": GOTO 150   --重玩判断
200 END


这样能快点吧....
2012-10-18 22:55
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
一开始还真被骗到开始写
写到一半突然想到我有"大绝招"
谷歌关键字搜索:

VB6 猜数字 源码 代码

http://tw.knowledge.
http://www.
........
........
........
一大堆还真不少

不要選我當版主
2012-10-19 00:18
yahooglz
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2012-10-18
收藏
得分:0 
骗?
不是吧。
上面的地址,第一个我打不开。

再说了我要一个可以在XP下执行的exe,感谢了,快写
2012-10-19 00:45
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
以下是引用yahooglz在2012-10-19 00:45:10的发言:

骗?
不是吧。
上面的地址,第一个我打不开。

再说了我要一个可以在XP下执行的exe,感谢了,快写


此骗非彼骗
是太老实认真的意思
直接照你的字义去做而不思考其他变通方法
你误会了

有现成的干嘛要自己写
太闲吗?也要上班的
等放假有空再帮你做-个

不要選我當版主
2012-10-19 04:03
yahooglz
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2012-10-18
收藏
得分:0 
这么简单的小东东,要很长时间嘛?
2012-10-19 08:06
快速回复:35+男爸,以前学的是basic,看到个智力小游戏,用Qbasic实现了(提供源程 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.056837 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved