pathon设计一个简单的c程序设计 猜数字游戏戏

请用JAVA编一个猜数字游戏 回答满意追加100分_百度知道
请用JAVA编一个猜数字游戏 回答满意追加100分
设计猜数游戏设计要求:1)设计参考图如附图2)点击开始由计算机随机产生一个不重复的四位数,用户点击数字按钮在文本框中输入四位不重复的数与计算机给出的数进行比较,若有一位与计算机给出的数的数字和位置相同,那么将会提示1A,有两位相同提示2A,……若有一位相同而位置不同,将会提示1B,有两位数字相同而位置不同提示2B,……。3)点[结束穿龚扁夹壮蝗憋伟铂连程序]可结束程序运行,点击[取消]取消当前输入。
提问者采纳
界面类:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MainFrame extends JFrame implements ActionListener, KeyListener { private static final long serialVersionUID = 1L; private JLabel lb1; private JButton btnE private JButton btnC private JTextArea taD private JTextField txtE private O private JButton btnR S private JButton btnE public static void main(String[] args) {
new MainFrame(); } public MainFrame() {
oprator = new Oprator();
oprator.randAnswer();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container con = this.getContentPane();
this.setContentPane(con);
con.setLayout(null);
con.setSize(467, 237);
lb1 = new JLabel(&请输入一个4位数:&);
con.add(lb1);
lb1.setBounds(44, 24, 140, 17);
txtEnter = new JTextField();
con.add(txtEnter);
txtEnter.setBounds(47, 64, 76, 24);
txtEnter.addKeyListener(this);
taDispaly = new JTextArea();
con.add(taDispaly);
taDispaly.setBounds(249, 9, 225, 203);
taDispaly.setBorder(BorderFactory.createBevelBorder(1));
btnEnter = new JButton();
btnEnter.setEnabled(false);
con.add(btnEnter);
btnEnter.setText(&确定&);
btnEnter.setBounds(30, 105, 60, 24);
btnEnter.addActionListener(this);
btnCancel = new JButton();
con.add(btnCancel);
btnCancel.setText(&取消&);
btnCancel.setBounds(107, 105, 60, 24);
btnCancel.addActionListener(this);
btnReplay = new JButton();
con.add(btnReplay);
btnReplay.setText(&重玩&);
btnReplay.setBounds(28, 148, 60, 24);
btnEnd = new JButton();
con.add(btnEnd);
btnEnd.setText(&结束&);
btnEnd.setBounds(107, 148, 60, 24);
this.setSize(494, 257);
this.setVisible(true); } public void actionPerformed(ActionEvent e) {
JButton btn = (JButton) e.getSource();
if (btn == btnCancel) {
btnEnter.setEnabled(false);
txtEnter.setText(&&);
if (!oprator.isEnd()) {
if (btn == btnEnter) {
oprator.setCount(oprator.getCount() + 1);
int[] result = oprator.check(txtEnter.getText());
if (result[0] == 1) {
oprator.setEnd(true);
taDispaly.append(&猜中了!!\n&);
} else if (oprator.getCount() != 10) {
taDispaly.append(txtEnter.getText() + &
+ result[1] + &A& + result[2] + &B\n&);
} else if (oprator.getCount() == 11) {
taDispaly.append(&失败!!\n&);
btnEnter.setEnabled(false);
txtEnter.setText(&&);
if(btn == btnEnd){
this.dispose();
if(btn == btnReplay){
oprator.randAnswer();
taDispaly.setText(&&);
txtEnter.setText(&&);
txtEnter.setEnabled(false);
} } public void keyPressed(KeyEvent e) { } public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) {
/** 实现只能输入4位数字,并且数字不能重复 */
JTextField text = (JTextField) e.getSource();
tx = text.getText();
int b = e.getKeyChar();
if (b & 48 || b & 57) {
e.setKeyChar('\0');
if (tx.indexOf(b) != -1) {
e.setKeyChar('\0');
if (tx.length() == 4) {
e.setKeyChar('\0');
if (tx.length() == 3) {
btnEnter.setEnabled(true);
} }}操作类:import java.util.*;public class Oprator {
private int[] private boolean isEnd =
public Oprator(){
/** 产生随机答案 */ public void randAnswer(){
answer = new int[4];
int[] digits = {0,1,2,3,4,5,6,7,8,9};
Random rand = new Random((new Date()).getTime());
for(int i=0;i&digits.i++){
int ptr = Math.abs(rand.nextInt())%10;
int temp = digits[ptr];
digits[ptr] = digits[i];
digits[i] = 穿龚扁夹壮蝗憋伟铂连 }
for(int i=0;i&4;i++){
answer[i] = digits[i];
* 检查答案
* @param guessNum
* @return int[] 第一位标识是否猜对,第二为A的数量,第三为B的数量.
*/ public int[] check(String guessNum){
int[] guess = new int[4];
for(int i=0;i&4;i++){
guess[i] = Integer.parseInt(guessNum.substring(i, i+1));
int a=0,b=0,c=0;
for(int i = 0;i&4;i++){
for(int j=0;j&4;j++){
if(answer[i]==guess[j]&&i==j){
}else if(answer[i]==guess[j]){
return new int[] {c,a,b}; }
public static void main(String[] args) {
Oprator op = new Oprator();
op.randAnswer();
for(int i=0;i&op.answer.i++){
System.out.print(op.answer[i]);
System.out.println();
Scanner in = new Scanner(System.in);
while(true){
op.check(in.next());
public int[] getAnser(){
return this. }
public int getCount() { } public void setCount(int count) {
this.count = } public boolean isEnd() {
return isE } public void setEnd(boolean isEnd) {
this.isEnd = isE }}分呢??
其他类似问题
为您推荐:
猜数字游戏的相关知识
下载知道APP
随时随地咨询
出门在外也不愁world77 的BLOG
用户名:world77
文章数:191
评论数:224
访问量:406926
注册日期:
阅读量:5863
阅读量:12276
阅读量:291182
阅读量:1014396
51CTO推荐博文
& & & 从第一个python的脚本到写着这篇博客,日子也不短了,没有像样的写个博客,人老懒散,恶习难改啊,不知老之将至矣,。古人是“发愤忘食,乐以忘忧,才会忘记老之将至”,呜呼,无病呻吟下。。。 & & & 好了,言归正传,开始今天的正题,今天这里讲要介绍一个简单的脚本――猜数字,这种小脚本几乎每个编程语言都会有的练习题,好了,下面直接上脚本了:看脚本之前介绍下这篇博客的3个回合:1.正常脚本运行2.添加统计猜测次数的代码3.如何利用作弊器来作弊,确保百发百中。#!/usr/bin/env python
import random
secret=random.randint(1,100)
print "This game is to guess a number for you!"
print " It is a number form 1 to 99,I'll give you 6 times to try. "
while guess != secret and tries & 6:
guess=input("Please input your guess number: ")
if guess & secret:
print "====Your guess is too low !====\n"
elif guess & secret:
print "====Your guess is too high!====\n"
tries=tries+1
if guess == secret:
print "Congratulations to you! Your
guess is right ! "
print "No more guesses! Better luck next time for you!"
print "The secret number was",secret & 上面的脚本十分简单,下面来解释下:第三行:secret=random.randint(1,100) & &表示这个数字是在1--99之间的范围,random这个模块是个求随机数的功能。第四,五行是定义了2个变量,第6,7行只是提示作用,没有其他作用,相信大家没有问题。第8行开始while的一个循环,并且规定了次数不能超过6次。第9--14行是个判断,如果猜测的数字和系统产生的数字比较之后,给出的提示。第15行的作用,当每输入一次并且猜测的不对的时候,次数加一做记录。第16行表示猜测正确之后的提示。 & & 下面我来给个脚本运行结果的截图吧:This game is to guess a number for you!
It is a number form 1 to 99,I'll give you 6 times to try.
Please input your guess number: 34
====Your guess is too high!====
Please input your guess number: 17
====Your guess is too high!====
Please input your guess number: 10
====Your guess is too high!====
Please input your guess number: 8
====Your guess is too high!====
Please input your guess number: 4
====Your guess is too high!====
Please input your guess number: 2
====Your guess is too high!====
No more guesses! Better luck next time for you!
The secret number was 1 &这个结果看上还不错吧,但是还不是很直观,我想给他加个猜测的次数,这样看起来就更清晰点:我们来看下最后的结果:C:\Documents and Settings\qhz\桌面&python a.py
This game is to guess a number for you!
It is a number form 1 to 99,I'll give you 6 times to try.
Please input your guess number: 23
====Your guess is too low !====
Above is No 1 Times guess
Please input your guess number: 34
====Your guess is too low !====
Above is No 2 Times guess
Please input your guess number: 56
====Your guess is too high!====
Above is No 3 Times guess
Please input your guess number: 49
====Your guess is too high!====
Above is No 4 Times guess
Please input your guess number: 42
====Your guess is too high!====
Above is No 5 Times guess
Please input your guess number: 40
====Your guess is too high!====
Above is No 6 Times guess
No more guesses! Better luck next time for you!
The secret number was 37这个结果就需要在原来的脚本上添加一行代码: print &Above is No & + str(tries) + & Times guess \n& & 打印结果表示这个是第几行。 & &哈哈,最后这个脚本介绍的差不多了,最后我想给他加个作弊器,想预先知道这个系统产生的数字是多少,你只要 在脚本中添加一行 print secret ,这样一个简单的作弊器就好了,哈哈,你可以运行下,方便你的测试,我们添加这行代码之后,可以运行下看看结果:C:\Documents and Settings\qhz\桌面&python a.py
The game system generated number is 62
This game is to guess a number for you!
It is a number form 1 to 99,I'll give you 6 times to try.
Please input your guess number: 45
====Your guess is too low !====
Above is No 1 Times guess
Please input your guess number: 34
====Your guess is too low !====
Above is No 2 Times guess
Please input your guess number: 62
Above is No 3 Times guess
Congratulations to you! Your
guess is right ! & & 哈哈,有作弊器就是管用,我也懒得猜了,直接输入结果,GAME OVER......最后贴下完整的代码:#coding=utf-8
#!/usr/bin/env python
Edit By QiaoHaiZhong
Version 0.0.1
import random
secret=random.randint(1,100)
print secret
print "The game system generated number is " + str(secret) + "\n"
print "This game is to guess a number for you!"
print " It is a number form 1 to 99,I'll give you 6 times to try. "
while guess != secret and tries & 6:
guess=input("Please input your guess number: ")
if guess & secret:
print "====Your guess is too low !====\n"
elif guess & secret:
print "====Your guess is too high!====\n"
tries=tries+1
print "Above is No " + str(tries) + " Times guess \n"
if guess == secret:
print "Congratulations to you! Your
guess is right ! "
print "No more guesses! Better luck next time for you!"
print "The secret number was",secret本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)猜数字游戏课程设计完整版_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
猜数字游戏课程设计完整版
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩23页未读,继续阅读
你可能喜欢 上传我的文档
 下载
 收藏
本店资源来源于互联网,版权为原作者所有,若侵犯到您的版权, 请提出指正, 我们将立即删除。
 下载此文档
正在努力加载中...
《C程序设计》-猜数字游戏课程设计报告
下载积分:1000
内容提示:《C程序设计》-猜数字游戏课程设计报告
文档格式:DOC|
浏览次数:28|
上传日期: 23:15:57|
文档星级:
该用户还上传了这些文档
《C程序设计》-猜数字游戏课程设计报告
官方公共微信java实现的简单猜数字游戏代码
投稿:shichen2014
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了java实现的简单猜数字游戏代码,通过随机数与逻辑判断来实现游戏功能,具有一定的参考借鉴价值,需要的朋友可以参考下
本文实例讲述了java实现的简单猜数字游戏代码。分享给大家供大家参考。
具体代码如下:
import java.util.InputMismatchE
import java.util.S
public class Main {
&&&&&&& public static void main(String[] args) {
&&&&&&&&&&&&&&& // 产生一个随机数
&&&&&&&&&&&&&&& int number = (int) (Math.random() * 100) + 1;
&&&&&&&&&&&&&&& // 加入count
&&&&&&&&&&&&&&& int count = 0;
&&&&&&&&&&&&&&& // 在这里加入最大值,和最小值
&&&&&&&&&&&&&&& int max = 100;
&&&&&&&&&&&&&&& int min = 1;
&&&&&&&&&&&&&&& while (true) {
&&&&&&&&&&&&&&&&&&&&&&& // 键盘录入数据
&&&&&&&&&&&&&&&&&&&&&&& Scanner sc = new Scanner(System.in);
&&&&&&&&&&&&&&&&&&&&&&& System.out.println("请输入你要猜的数据:(" + min + "~" + max + ")");
&&&&&&&&&&&&&&&&&&&&&&& try {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& count++;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& int guessNumber = sc.nextInt();
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& // 判断
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& if (guessNumber & number) {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& max = guessN
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& System.out.println("你猜大了");
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& } else if (guessNumber & number) {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& min = guessN
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& System.out.println("你猜小了");
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& } else {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& System.out.println("恭喜你,花了" + count + "次就猜中了");
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& // 问是否继续
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& System.out.println("请问还要继续吗?(yes)");
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& sc = new Scanner(System.in);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& String str = sc.nextLine();
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& if ("yes".equals(str)) {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& // 重写赋值随机数
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& number = (int) (Math.random() * 100) + 1;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& count = 0;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& max = 100;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& min = 1;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& } else {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&&&&&&& } catch (InputMismatchException e) {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& System.out.println("你输入的数据有误");
&&&&&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& }
运行结果如下图所示:
希望本文所述对大家的java程序设计有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 vb课程设计 猜数字 的文章

 

随机推荐