Android学习初体验 猜牌游戏源码

懒得按部就班的看教程,有Java功底,有J2ME基础,其实就已经入门了。

 

万能开发入门程序开发模式:

 

选择一种布局方式-->在合适的位置放入控件(文本框、标签、按钮等)-->绑定事件监听-->找到程序起动入口(main(),onCreate() 等)-->取出前端界面的值 然后处理数据 -->把结果展示到界面上。

 

OK,其实入门就是知道有哪些可用的控件(andriod 上叫做Widget),然后看API有哪些属性和方法可用。这里说的只是入门。

 

刚开始学习Android开发,今天写了个小游戏玩玩。《猜牌游戏源码》,直接发代码:
Activity文件:GuessPokerActivity.java

 

public class GuessPokerActivity extends Activity implements OnClickListener {

	/* 声明三张扑克 */
	private ImageView imgview1, imgview2, imgview3;
	/* 声明重新猜牌按钮 */
	private Button reguessbt;
	/* 初始化化三张扑克数组 */
	private int[] pImage = { R.drawable.pa, R.drawable.p2, R.drawable.p3 };
	/* 重新开始标记 游戏一次后变为1 重玩游戏后为0 */
	private int a = 0;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		/* 取得界面各控件 */
		imgview1 = (ImageView) findViewById(R.id.imageView1);
		imgview2 = (ImageView) findViewById(R.id.imageView2);
		imgview3 = (ImageView) findViewById(R.id.imageView3);
		reguessbt = (Button) findViewById(R.id.reGuess_Bt);

		/* 洗牌 */
		RandSetPk();

		/* 设置事件监听 */
		imgview1.setOnClickListener(this);
		imgview2.setOnClickListener(this);
		imgview3.setOnClickListener(this);
		reguessbt.setOnClickListener(this);
	}

	/* 实现点击事件 */
	public void onClick(View v) {
		switch (v.getId()) {
		case R.id.imageView1:
			judgeImage(0, imgview1);
			break;
		case R.id.imageView2:
			judgeImage(1, imgview2);
			break;
		case R.id.imageView3:
			judgeImage(2, imgview3);
			break;
		case R.id.reGuess_Bt:
			reStart();
			break;
		}
	}

	/**
	 * 判断点击的图片是否红桃A
	 */
	private void judgeImage(int ind, ImageView sImg) {
		if (a > 0) {
			return;
		}
		// 将三张扑克设置到界面三张图片中
		imgview1.setImageResource(pImage[0]);
		imgview2.setImageResource(pImage[1]);
		imgview3.setImageResource(pImage[2]);

		imgview1.setAlpha(100);
		imgview2.setAlpha(100);
		imgview3.setAlpha(100);
		sImg.setAlpha(255);

		// pImage[0] 即为 imgview1; pImage[1] 即为 imgview2 ...
		if (pImage[ind] == R.drawable.pa) {
			Toast.makeText(this, "恭喜你猜对了", Toast.LENGTH_SHORT).show();
		} else {
			Toast.makeText(this, "对不起,你猜错了", Toast.LENGTH_SHORT).show();
		}

		a++;
	}

	/**
	 * 随机设置三张扑克的位置
	 */
	private void RandSetPk() {
		// 随机三张扑克数组元素位置
		for (int i = 0; i < pImage.length; i++) {
			int temp = pImage[i];
			int s = (int) (Math.random() * 2);
			pImage[i] = pImage[s];
			pImage[s] = temp;
		}
	}

	/**
	 * 重置游戏
	 */
	private void reStart() {
		imgview1.setImageResource(R.drawable.pback);
		imgview2.setImageResource(R.drawable.pback);
		imgview3.setImageResource(R.drawable.pback);
		imgview1.setAlpha(255);
		imgview2.setAlpha(255);
		imgview3.setAlpha(255);

		RandSetPk();

		a = 0;
	}
}

 布局文件:main.xml

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TextView android:text="猜猜那张是红桃A" 
		android:id="@+id/welcomestr_tv" 
		android:layout_width="fill_parent" 
		android:layout_height="wrap_content"
		android:textSize="19dip"
		android:typeface="serif"
		android:gravity="center">
	</TextView>
    <RelativeLayout android:layout_height="wrap_content" 
    	android:id="@+id/relativeLayout1" 
    	android:layout_width="match_parent"
    	android:gravity="center"
    	android:layout_marginTop="20dip">
        <ImageView android:id="@+id/imageView1" 
        	android:layout_width="71dip" 
        	android:layout_height="96dip" 
        	android:src="@drawable/pback" ></ImageView>
        <ImageView android:id="@+id/imageView2" 
        	android:layout_width="71dip" 
        	android:layout_height="96dip" 
        	android:src="@drawable/pback" 
        	android:layout_toRightOf="@id/imageView1"
        	android:layout_marginLeft="10dip" ></ImageView>
    	<ImageView android:id="@+id/imageView3" 
        	android:layout_width="71dip" 
        	android:layout_height="96dip" 
        	android:src="@drawable/pback" 
        	android:layout_toRightOf="@id/imageView2"
        	android:layout_marginLeft="10dip" ></ImageView>
    </RelativeLayout>
    <Button android:text="重新来猜" 
    	android:id="@+id/reGuess_Bt" 
    	android:layout_width="wrap_content" 
    	android:layout_height="wrap_content"
    	android:layout_gravity="center"
    	android:layout_marginTop="20dip"></Button>
    
</LinearLayout>

 效果图:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值