`
一口三个汉堡
  • 浏览: 115321 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

实例-15---猜数字

阅读更多

  经典游戏,猜数字。各种不解释,因为最近发生了一些事情,所以好几天没有发了,两年来在学校经历的事情确实很丰富,当然丰富并不是你们想象的,很多都不是我自己去选择的,而是只能忍受。分享自己的感受:为什么那么多人要追求财富和权力,因为他们遭遇到了太多需要钱和权的事情了。学生是弱势群体,因为他们没钱也没权,在家里,他们的保障来自于父母,在学校,他们的保障来自于学校,当学校不对学生负责时,他们要找谁?学校两年来都在告诉我们,我们谁都不能靠,只能靠自己。只能靠自己。因为只有自己才不会在足够的利益面前抛弃自己。不想说原因,在这个和谐的社会里。

下面给出效果图和原代码:



 package com.wjh.demon_15;

import java.util.Random;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;


public class Demon_15 extends Activity implements OnClickListener {
	public static final int  INPUT = 1;

	public EditText m_TFInput;						//文本编辑框
	public TextView m_strItem;					//文本显示组件
	public Button inputB ;
	public int m_aNum[];							//存储目标数
	public int m_nTimes = 0;						//输入的次数
	public boolean m_bEndGame = false;			//游戏结束的标志
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		this.setTitle("猜数字");
		//产生目标数
		setContentView(R.layout.main);
		m_TFInput = (EditText)findViewById(R.id.ed);
		m_strItem = (TextView)findViewById(R.id.tv);
		inputB = (Button)findViewById(R.id.input_b);
		inputB.setOnClickListener(this);
		m_aNum = new int[4];
		InitNum();
	}
	public void InitNum(){							//产生随机的目标数
		Random random = new Random();
		int k = random.nextInt();
		int m = 0;
		for( int n = 0; n < 4; n ++ ){
			k = random.nextInt();
			m_aNum[n] = Math.abs(k % 10);
			//for循环语句,确保四个数位上的数字无重复
			for( m = 0; m < n; m ++ ){
				//若与前面的数字重复,则用加1的办法保证不重复
				if( m_aNum[n] == m_aNum[m] )
					m_aNum[n] ++;
				//若加1后大于9则回到0
				if( m_aNum[n] > 9 )
					m_aNum[n] = 0;
			}
		}
	}
	public boolean CheckNumber( char cNum[] ){	//检测数据是否合法
		if( cNum.length != 4 )
			return false;
		for( int i = 0; i < 4; i ++ ){
			for( int j = 0; j < i; j ++ ){
				//有两个数字相同了,确定是非法输入
				if( cNum[i] == cNum[j] ){
					return false;
				}
			}
		}
		return true;
	}
	public void FeedBack(char cNum[]){			//根据输入数反馈信息
		if( cNum.length != 4 )
			return;
		
		int nB = 0;									//记录B的个数,即m的值
		int nA = 0;									//记录A的个数,即n的值
		for( int i = 0; i < 4; i ++ ){
			for( int j = 0; j < 4; j ++ ){
				//cNum[i]是字符,需先转换成对应的数字,再与m_aNum[j]进行比较
				if( (int)(cNum[i] - '0') == m_aNum[j] ){
					if( i == j )
						nA ++;						//如果位置也相同,则m的值加1
					else
						nB ++;						//如果位置不相同,则n的值加1
				}
			}
		}
		if( nA == 4 ){								//猜数成功
			m_strItem.setText("成功");
			m_bEndGame = true;
			return;
		}
		else
			m_nTimes ++;
		if( m_nTimes > 5 ){							//猜数失败					
			m_strItem.setText("失败");
			m_bEndGame = true;
			return;
		}
		//输出反馈信息
		StringBuffer temp = new StringBuffer();
		temp.append(nB);
		temp.append("B");
		temp.append(nA);
		temp.append("A");
		m_strItem.setText(temp.toString());	
		m_TFInput.setText("");
	}
	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		if( m_bEndGame )
			return;
		if (v == inputB){						//指令被触发
			char cNum[] = new char[4];
			 m_TFInput.getText().toString().getChars(0,cNum.length,cNum,0);
			 Log.d("ddd", m_TFInput.getText().toString());
			 if( !CheckNumber( cNum ) )
			{//如果输入数不合法
				m_strItem.setText("");
				m_TFInput.setText("");
				m_strItem.setText("非法数字");
				
				return;		
			}
			FeedBack(cNum);							//反馈信息
		}
		
	}
}

 apk文件(将后缀改为apk):Demon_15.zip

源代码:Demon_15.rar

  • 大小: 19.4 KB
1
0
分享到:
评论

相关推荐

    JSP与JavaBean应用实例-猜数字游戏

    在这个“猜数字游戏”的实例中,我们看到了JSP和JavaBean如何协同工作来实现一个交互式的Web应用。下面将详细讲解它们在项目中的应用。 1. **JavaBean的角色** - **数据存储**:JavaBean通常用于存储游戏的状态,...

    VB----经典小程序设计-猜数字游戏

    在“实例33 猜数字游戏”的源代码中,我们可以看到以上知识点的具体应用。通过对代码的学习和理解,不仅可以掌握VB的基础语法,还能了解到如何利用VB设计简单的交互式程序,这对于初学者来说是一个很好的实践项目。...

    java猜数字游戏实例代码

    Java猜数字游戏是一种常见的编程练习,它可以帮助初学者熟悉Java编程语言的基本语法、控制结构以及面向对象编程的概念。在这个游戏中,计算机随机生成一个数字,玩家需要通过输入猜测这个数字,程序会根据玩家的猜测...

    C++猜数字1.2.1---最终版

    总之,"C++猜数字1.2.1---最终版"是一个展示C++基础编程技能和用户交互设计的实例,通过这个游戏,开发者可以学习到C++中的基本数据类型、条件判断、循环结构以及如何使用库函数处理用户输入和输出。同时,这也是一...

    猜数字游戏-servlet练习

    【猜数字游戏-Servlet练习】是一个适合初学者的项目,旨在帮助学习者深入理解Servlet技术。Servlet是Java Web开发中的核心组件,它扩展了Web服务器的功能,允许我们编写动态、交互式的网页应用。在这个练习中,我们...

    Scratch3.0 11猜数字 程序源代码及素材

    Scratch3.0 11猜数字 程序源代码及素材Scratch3.0 11猜数字 程序源代码及素材Scratch3.0 11猜数字 程序源代码及素材Scratch3.0 11猜数字 程序源代码及素材Scratch3.0 11猜数字 程序源代码及素材Scratch3.0 11猜数字 ...

    python实例猜数字游戏

    简单的随机数实现猜数字游戏,包括while循环,字符和数字连接处理等。

    VB.NET学习实例猜数字算法,vb.net 猜数字 动态控件数组运用

    在VB.NET编程环境中,猜数字游戏是一个经典的实例,它能帮助初学者理解基础的编程概念,如随机数生成、条件判断、循环结构以及用户输入处理。在这个实例中,我们将深入探讨如何利用VB.NET实现猜数字游戏,并结合动态...

    VB.NET实例 猜数字小游戏

    【VB.NET实例 猜数字小游戏】是一款基于Visual Basic .NET开发的小型互动游戏,它旨在教授初学者如何使用VB.NET编程语言实现简单的游戏逻辑。在这个游戏中,计算机随机生成一个数字,玩家需要通过一系列尝试来猜出这...

    java猜数字源代码

    ### Java猜数字游戏源代码分析 #### 一、概述 本篇主要介绍并解析一个Java编写的简单猜数字游戏程序。该游戏允许用户猜测一个0到100之间的随机数,玩家有最多七次机会猜中这个数字。若猜中,则会弹出提示对话框;...

    vc windows大作业源码-猜数字游戏.rar

    VC Windows课程设计源码作品:传统的猜数字游戏,编程学院大作业完整源代码。本游戏步骤:  分别在四个文本框内输入四个不同的四位数  按猜数字键猜测,得到结果,点答案键出答案,当4个文本框内的数字和位置都正确...

    C++版猜数字小游戏

    【C++版猜数字小游戏】是一款利用C++编程语言实现的经典智力挑战游戏,它通过计算机随机生成一个数字,然后让用户尝试猜测这个数字,根据用户的猜测给出提示(过高、过低或猜对)。这款游戏不仅能够锻炼玩家的逻辑...

    javascript实例应用---密码校验类.rar

    2. **字符组合**:鼓励用户使用大小写字母、数字和特殊字符的组合,避免使用纯数字或简单的字母组合。 3. **避免常见词汇**:系统会检查密码是否包含常见的单词或短语,以防止使用易猜的密码。 4. **不包含用户名*...

    C# 猜数字游戏实例

    【C#猜数字游戏实例】是一个适合初学者的编程练习项目,它可以帮助学习者了解C#语言的基础知识,包括变量、条件语句、循环结构以及简单的输入输出操作。在这个游戏中,计算机随机生成一个数字,玩家需要尝试猜测这个...

    微信小程序项目实例-扫雷

    游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。 扫雷小程序借鉴经典的PC端扫雷 玩家可以自行设置格子数和地雷数 单点是开启,长按为插旗 雷诀八条: 基本...

    android简单猜数字的游戏

    在Android平台上开发一款简单的猜数字游戏,涉及到许多关键的编程概念和技术。这个游戏的标题是"android简单猜数字的游戏",描述表明它是一个交互式的应用程序,其中用户需要猜测一个由程序随机生成的数字,并根据...

    猜数字游戏

    【猜数字游戏】是一款基于Java编程语言,采用MVC(Model-View-Controller)设计模式开发的简单游戏。在这个游戏中,玩家需要猜测一个由程序随机生成的数字,然后根据提示判断是过高、过低还是猜对了。MVC模式是一种...

    python猜数字游戏-13-列表简介.ev4.rar

    描述中的“.ev4.rar”可能是指某种特定格式的压缩包,通常包含视频或课程资料,这里并未提供具体的内容,但我们可以根据标题推测其内部可能包含了一段教学视频,讲解如何使用Python编写猜数字游戏,并通过实例介绍了...

Global site tag (gtag.js) - Google Analytics