猜猜看

package com.example.caicaikan;
/**
 * 12345对应着abcde
 * 
 * 
 * */
public class Test {
	String[] message=new String[]{"a","b","c","d","e"};
	int[] number=new int[]{1,2,3,4,5};
	public void reset(){
		for(int i=0;i<3;i++){
			int temp = number[i];				//将数组元素i保存到临时变量中
			int index = (int) (Math.random()*5);		//生成一个随机数
			number[i] = number[index];			//将随机数指定的数组元素的内容赋值给数组元素i
			number[index] = temp;
		
		}
		System.out.print("   ssssssssssss   ");
		//int[] xx={1,2,3};
		int[] xx=new int[3];
		for(int i=0;i<3;i++){
			System.out.print(number[i]);
			System.out.print(message[number[i]-1]);
			 xx[i]=number[i];
			 
		}
		System.out.print("    ooooooooooooooooooo  ");
		int index = (int) (Math.random()*3);
		System.out.print("结果为:"+xx[index]);
		System.out.print("结果为:"+message[xx[index]-1]);
		}
	
	
	
	public static void main(String[] args) {
//		Test test=new Test();
//		test.reset();
//		
		
	        System.out.println("循环没有开始");

	        System.out.println("现在开始测试continue");
	        for (int i = 0; i < 3; i++) {
	            System.out.println("开始第" + i + "次for循环");
	            if (i == 1) {
	                continue;
	            }
	            System.out.println("看看continue后这里执行了吗?");
	        }
	        System.out.println("continue测试完毕\n***********************");

	        System.out.println("现在开始测试break");
	        for (int i = 0; i < 3; i++) {
	            System.out.println("开始第" + i + "次for循环");
	            if (i == 1){
	                break;
	            }

	            System.out.println("看看break后这里执行了吗?");
	        }
	        System.out.println("break测试完毕\n***********************");
	    }
		
	}


在这个程序,最难的应该是那个随机抽取一个数字,然后对于不同的图片进行点击,如果对的话,则显示正确的结果,否则则是错。上面那些代码是用来测试的,java语言。因为android测试的话,要不断地装程序进手机里面,所以比较麻烦,所以我就用了上面的代码进行测试。也就是核心代码了,下面的则是android代码。



package com.example.caicaikan;

import java.security.PublicKey;

import android.R.integer;
import android.support.v7.app.ActionBarActivity;
import android.text.StaticLayout;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends ActionBarActivity {
 private TextView tv1;
 private ImageView iv1;
 private ImageView iv2;
 private ImageView iv3;
 private Button bt;
 private int selectedNum;
 //int[] xx=new int[3];
 int[] num=new int[]{1,2,3,4,5};
 int[] number=new int[]{R.drawable.fangbingbing,R.drawable.huangshengyi,R.drawable.liuyifei,R.drawable.one,
			R.drawable.wuyifan};
String[] message=new String[]{"范冰冰是哪个","黄圣依是哪个","刘亦菲是哪个","美女是谁","吴亦凡是哪个"};
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		setContentView(R.layout.activity_main);
		tv1=(TextView) findViewById(R.id.tv1);
		bt=(Button) findViewById(R.id.bt);
		iv1=(ImageView) findViewById(R.id.iv1);
		iv2=(ImageView) findViewById(R.id.iv2);
		iv3=(ImageView) findViewById(R.id.iv3);
		reset();
		iv1.setImageDrawable(getResources().getDrawable(number[0]));
		iv2.setImageDrawable(getResources().getDrawable(number[1]));
		iv3.setImageDrawable(getResources().getDrawable(number[2]));
		
		
		//重玩一次
		bt.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				reset();
				iv1.setImageDrawable(getResources().getDrawable(number[0]));
				iv2.setImageDrawable(getResources().getDrawable(number[1]));
				iv3.setImageDrawable(getResources().getDrawable(number[2]));
				
			}
		});

	}
	
	public void reset(){
		for(int i=0;i<3;i++){
			int temp = number[i];				//将数组元素i保存到临时变量中
			int tem=num[i];
		int index = (int) (Math.random()*number.length);		//生成一个随机数
//		//不让前后两次重复
//		if(index==selectedNum){
//			if(index<4)
//				index++;
//			else {
//				index=0;
//			}
//		}				
			number[i] = number[index];			//将随机数指定的数组元素的内容赋值给数组元素i
			num[i]=num[index];
			number[index] = temp;				//将临时变量的值赋值给随机数组指定的那个数组元素
			num[index]=tem;
		}
	int[] xx=new int[3];
		for(int i=0;i<3;i++){
			xx[i]=num[i];
		}
		 int ind =(int) (Math.random()*3);
		 
		 String aa=null;
			
			//不让前后两次重复
//		 if (xx[ind]==selectedNum) {
//			if (ind<2) {
//			 aa=message[xx[ind+1]-1];
//			 tv1.setText(aa);
//			 selectedNum=xx[ind+1];
//			} else {
//				aa=message[xx[0]-1];
//				tv1.setText(aa);
//				selectedNum=xx[0];
//			}
			 
			 aa=message[xx[ind]-1];		
				tv1.setText(aa);
				selectedNum=xx[ind];
		
		
		//触碰事件
		//为图片1添加监听事件
				iv1.setOnClickListener(new OnClickListener() {			
					@Override
					public void onClick(View v) {
						isRight(v,0);				
					}
				});
				//为图片2添加监听事件
				iv2.setOnClickListener(new OnClickListener() {			
							@Override
					public void onClick(View v) {						
								isRight(v,1);	
							}
						});
				
				//为图片3添加监听事件
				iv3.setOnClickListener(new OnClickListener() {			
							@Override
					public void onClick(View v) {						
								isRight(v,2);	
							}
						});				
	}
	//判断结果
		protected void isRight(View v, int i) {
			iv1.setImageDrawable(getResources().getDrawable(number[0]));
			iv2.setImageDrawable(getResources().getDrawable(number[1]));
			iv3.setImageDrawable(getResources().getDrawable(number[2]));
			
			switch (i) {
			case 0:
				if (num[0]==selectedNum) {
					Toast.makeText(this,i+"选对了,亲"+selectedNum,0).show();
				} else {
					Toast.makeText(this,i+"选错了,加油"+selectedNum,0).show();
				}
				break;
				
			case 1:
				if (num[1]==selectedNum) {
					Toast.makeText(this,i+"选对了,亲"+selectedNum,0).show();
				} else {
					Toast.makeText(this,i+"选错了,加油"+selectedNum,0).show();
				}
				break;
			case 2:
				if (num[2]==selectedNum) {
					Toast.makeText(this,i+"选对了,亲"+selectedNum,0).show();
				} else {
					Toast.makeText(this,i+"选错了,加油"+selectedNum,0).show();
				}
				break;
			default:
				break;
			}

			
		}
	

这个程序,我很早就做好了雏形,但直到现在我都不想改,这个经历告诉我们,做事一定要做好,别留下收尾,否则就很难去进行。都说是雏形,当然,是比较简陋的。那些图片的大小我都没设置好,字体也没调整好。图片我还可以不断地加进去。算法,我就没有做,还没有涉及到。能力还不行。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值