Android:一个很简单的扑克游戏(从项目资源创建图像)

string.xml



    简单的扑克牌游戏
    扑克牌
    再来一次
    恭喜您,猜对了,你该买彩票了!
    很遗憾,猜错了,有志者事竟成,再来一次!
    猜猜A是哪一个张?

Activity

public class CardsActivity extends Activity {
    /** Called when the activity is first created. */
	private ImageView imageView0=null;
    private ImageView imageView1=null;
    private ImageView imageView2=null;
    private ImageView imageView3=null;
    private ImageView imageView4=null;
    private TextView textView01=null;
    //得到所有的图片的id
    private static int image[]=new int[]
    		{R.drawable.image1,R.drawable.image2,R.drawable.image3,R.drawable.image4,R.drawable.main,};
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        imageView0=(ImageView)findViewById(R.id.card1);
        imageView1=(ImageView)findViewById(R.id.card2);
        imageView2=(ImageView)findViewById(R.id.card3);
        imageView3=(ImageView)findViewById(R.id.card4);
        imageView4=(ImageView)findViewById(R.id.main);
        randomNum();
        
        imageView0.setOnClickListener(new GuessCardOnclicker());
        imageView1.setOnClickListener(new GuessCardOnclicker());
        imageView2.setOnClickListener(new GuessCardOnclicker());
        imageView3.setOnClickListener(new GuessCardOnclicker());
        imageView4.setOnClickListener(new GuessCardOnclicker());
    }
    
    class GuessCardOnclicker implements OnClickListener{
    	/**
    	 * 根据点击事件,得到id,再根据id得到点击 的imageView对象,再判断这个imageVieW的image是不是A
    	 */
		@Override
		public void onClick(View v) {
			switch (v.getId()) {
			case R.id.card1:
				gameResult(R.id.card1);
				break;
			case R.id.card2:
				gameResult(R.id.card2);
				break;
			case R.id.card3:
				gameResult(R.id.card3);
				break;
			case R.id.card4:
				gameResult(R.id.card4);
				break;
			case R.id.main:
				gameResult(R.id.main);
				break;
			default:
				break;
			}
		}
    }
    
    private void gameResult(int cardId) {
    	//显示图片的所有随机值;
    	 imageView0.setImageDrawable(getResources().getDrawable(image[0]));
         imageView1.setImageDrawable(getResources().getDrawable(image[1]));
         imageView2.setImageDrawable(getResources().getDrawable(image[2]));
         imageView3.setImageDrawable(getResources().getDrawable(image[3]));
         imageView4.setImageDrawable(getResources().getDrawable(image[4]));
         
         ImageView imageView;
         
         //得到点击 的imageView、判断是不是猜 对了。
         if(((imageView0.getId() == cardId)&&(R.drawable.image1 == image[0]))||
         ((imageView1.getId() == cardId)&&(R.drawable.image1 == image[1]))||
         ((imageView2.getId() == cardId)&&(R.drawable.image1 == image[2]))||
         ((imageView3.getId() == cardId)&&(R.drawable.image1 == image[3]))||
         ((imageView4.getId() == cardId)&&(R.drawable.image1 == image[4]))){
        	 hintResult(true);
         }else{
        	 hintResult(false);
         }
         
    }
    
    public void hintResult(boolean result){
    	if(result){
    		Toast.makeText(CardsActivity.this, "恭喜你,猜对了!", 500).show();
    	}else{
    		Toast.makeText(CardsActivity.this, "对不起,猜错了!", 500).show();
    	}
    	imageView0.setEnabled(false);
    	imageView1.setEnabled(false);
    	imageView2.setEnabled(false);
    	imageView3.setEnabled(false);
    	imageView4.setEnabled(false);
    }
    
    /**
     * 随机生成一个数组对象,存储扑克。代表imageView里的随机图像
     */
    private void randomNum(){
        for (int i = 0; i < 5; i++)
        {
            int s=(int)Math.random()*3;
            int temp;
            temp=image[i];
            image[i]=image[s];
            image[s]=temp;
        }
    }
    /**
     * 点击空白外游戏重新来;由于imageView也设置了点击 事件,当点击 屏幕的时候,imageView优先
     */
    @Override
    public boolean onTouchEvent(MotionEvent event) {
    	imageView0.setImageDrawable(getResources().getDrawable(R.drawable.hint));
    	imageView1.setImageDrawable(getResources().getDrawable(R.drawable.hint));
    	imageView2.setImageDrawable(getResources().getDrawable(R.drawable.hint));
    	imageView3.setImageDrawable(getResources().getDrawable(R.drawable.hint));
    	imageView4.setImageDrawable(getResources().getDrawable(R.drawable.hint));
    	 randomNum();
    	 imageView0.setEnabled(true);
     	imageView1.setEnabled(true);
     	imageView2.setEnabled(true);
     	imageView3.setEnabled(true);
     	imageView4.setEnabled(true);
    	return super.onTouchEvent(event);
    }
}


layout布局文件:




 


	

	

	

	





所用到的资源:



运行效果如下:


  

你可能感兴趣的:(android实例)