设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 52879|回复: 13
打印 上一主题 下一主题

猜密码游戏

[复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2013-9-8 00:32:09 |显示全部楼层 |倒序浏览
再来一个相对简单点的。

以前电子词典上有个游戏:要你猜一个4位密码,密码由0-9组成,不重复。猜对正确位置上的数字为A,猜到数字但位置不正确为B。每次显示答案中A和B的个数。

比如:密码是1234

猜2345,显示0A3B
猜4231,显示2A2B

直到显示4A0B的时候,游戏胜利。

以此为基础,做个游戏。
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2013-9-8 16:02:44 |显示全部楼层
Myk_cc 发表于 2013-9-8 13:36
写了3个小时才完成,看来光看先生的课和模仿先生的代码是不够的啊,自己写个程序就发现困难重重好在最终还 ...

Good Job!
运行了下,挺好的!

敢再进一步吗?
随便说说:比如用pygame做成图形界面?

有人挑战吗?
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

板凳
发表于 2013-9-13 01:38:33 |显示全部楼层
test777 发表于 2013-9-12 21:58
pygame做图形界面看起来很麻烦啊,连输入框都要自己写么..   想想就觉得头大 ...

你这个和题目要求不太一样哎,你这个告诉别人哪个数字是b,哪个数字是a了,本来这个游戏只告诉你有几个b,几个a
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

地板
发表于 2013-9-13 01:43:53 |显示全部楼层
test777 发表于 2013-9-12 21:58
pygame做图形界面看起来很麻烦啊,连输入框都要自己写么..   想想就觉得头大 ...

发现我当初题目没说清楚,刚改了下
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

5#
发表于 2013-9-16 15:03:59 |显示全部楼层
scz_000 发表于 2013-9-16 11:33
好像能用,就传了。

还是有些问题的。
  1. if guess[i]==password[i]:
  2.                     guess_result='A'
  3.                 if guess[i]!=password[i]:
  4.                     guess_result+='B'
复制代码
一个是=,一个是+=
i在每次循环后没有重置,前面用来记次数,后面又用来记录a、b
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

6#
发表于 2013-9-25 20:29:24 |显示全部楼层
aresli 发表于 2013-9-25 17:12
测了几次,好像应该是对的!

蛮好的。应该是对的

第17行可能是你复制到网页的时候缩进出了问题吧

另外,你password拼成了passowrd,但你全部都拼错了,所以就没有问题了
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

7#
发表于 2013-10-2 00:51:21 |显示全部楼层
scz_000 发表于 2013-10-1 12:41
之前做的不完善,没有随机生成密码,输入长度不对好像会有问题,也没有记录成绩。
这次重新改了哈,不过没 ...

期待图形界面
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

8#
发表于 2014-11-26 19:26:42 |显示全部楼层
z344618505 发表于 2014-11-25 13:37
C老师,这个朋友的代码正确吗,我全粘贴上去的也运行不了,到提示我输入数字的时候,我输入以后就什么也 ...

直接粘贴,大概格式上会有问题吧
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

9#
发表于 2016-3-28 17:34:35 |显示全部楼层
shangyaoshi 发表于 2016-3-28 09:55
C老师,绝对新手请教啊,为什么我这个代码,即使输出了4A0B,也结束不了呢,还是会继续让猜数字,而不会输 ...

函数内部的end_try和外面的变量end_try不是同一个,具体原因参见后面关于作用域的课程。
你现在的做法,应该是判断compare的返回值是否为 4a0b
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

10#
发表于 2017-3-8 17:21:17 |显示全部楼层
huiwenwu 发表于 2017-3-8 06:22
看完教程写的,比较初级。。
不知有什么方便的方法复制代码到留言区?

留言框上有一个 <> 标志,可以添加代码
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-4 15:03 , Processed in 0.023810 second(s), 26 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部