`
qiushyfm
  • 浏览: 98333 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

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>

 效果图:

 

 

分享到:
评论

相关推荐

    安卓猜牌游戏源码

    【安卓猜牌游戏源码】是一款基于Android平台的猜数字小游戏,它展示了如何在Android环境中开发简单的娱乐应用。这个游戏的核心玩法是系统随机生成一个数字,玩家通过猜测来尝试猜出这个数字,通常会有一定的次数限制...

    Android猜牌小游戏(改进版)

    通过学习和实践Android猜牌小游戏的开发,不仅可以提升Android编程技能,还能加深对游戏逻辑设计和用户体验优化的理解。对于初学者而言,这是一个很好的动手项目,能够帮助他们逐步掌握Android应用开发的基础和技巧...

    Android猜牌游戏随机洗牌源码.rar

    Android猜牌游戏,包括了随机洗牌函数,在本例中进度条的应用很重要,设置进度条不可见,如果直接关闭会因为调用了其他线程的View而报错,因此采用了runOnUiThread(progressInvisible);注意 :这里要把i归0,否则...

    Android手机上的猜数字游戏源码

    MobileGuess Android手机上的猜数字小游戏源码,部分代码注释:  public abstract int getGuessTimeLeft();//返回剩余猜测次数  public abstract String getNewNumber();//返回待猜数字  public abstract int ...

    Android实例源码-小游戏类安卓源代码(7例).zip

    Android实例源码-小游戏类安卓源代码(7例) 安卓冒险游戏源码可直接运行类似于精灵快跑这种可做毕业设计 安卓飞机游戏 完美版的Android 拼图游戏APK和工程源码 猜拳游戏 用的libgdx引擎写的ACE 弹幕射击游戏设计与...

    android小游戏源码

    《安卓连连看小游戏源码解析》 在移动设备领域,Android平台因其开源和广泛的设备支持,成为了游戏开发者的重要选择。...通过对源码的学习,开发者可以深入理解Android游戏开发的核心技术,并为自己的项目积累经验。

    收猜数字游戏源码

    总之,"收猜数字游戏源码"为学习Android编程的初学者提供了一个实际操作的机会,通过研究和修改源码,可以深入理解Android应用开发的各个环节,提升编程技能。同时,这也体现了手机游戏开发中的基本逻辑和用户体验...

    [Android游戏源码]-简单的贪吃蛇源码.rar_Android游戏源码_android_android 贪吃蛇_贪吃蛇_贪

    在Android平台上,我们可以找到许多实现贪吃蛇的游戏源码,这为我们理解和学习移动游戏开发提供了宝贵的学习资源。这里我们将深入分析一款名为"简单的贪吃蛇源码"的Android游戏源码,探讨其设计思路、主要技术和实现...

    安卓期末大作业基于Android的小游戏源码

    安卓期末大作业Android的小游戏源码安卓期末大作业Android的小游戏源码安卓期末大作业Android的小游戏源码安卓期末大作业Android的小游戏源码安卓期末大作业Android的小游戏源码安卓期末大作业Android的小游戏源码...

    疯狂单击小游戏android源代码

    【疯狂单击小游戏Android源代码】是一个专门为Android平台开发的小游戏项目,它的核心设计思想是通过用户快速连续点击屏幕来获得分数,这类游戏通常能够考验玩家的手速和反应能力。这个项目的源代码是使用Android ...

    基于Android Studio开发的五子棋游戏源码.zip

    通过研究这个五子棋游戏源码,开发者可以学习到Android应用和游戏开发的多个方面,从基本的UI设计到复杂的AI策略实现,对于提升Android编程技能非常有帮助。同时,这也是一个动手实践的好机会,可以加深对Android...

    android横版跑酷游戏源码Jumper.zip

    【标签】"源码 android" 明确指出这是关于Android平台的原始代码,适合对Android应用或游戏开发有兴趣的开发者进行学习和参考。源码提供了直接查看和修改程序结构的机会,有助于提升开发者在Android领域的技能。 ...

    Android小游戏安卓游戏源码45款合集.zip

    Android小游戏安卓游戏源码45款合集: 21点游戏源码.rar Angle v1.0.ZIP Barrage_OpenGLES.rar Billiard_2D.zip catcake-0.9.5-android.tar.gz Chess.rar Crackedcarrot.rar CrazyFootBall.zip EggGame.rar Elose-wr....

    Android应用源码猜猜红桃A.zip

    《Android应用源码猜猜红桃A》是一个与Android应用程序开发相关的学习资源,它提供了一个有趣的猜牌游戏的源代码示例。通过分析这个压缩包内的文件,我们可以深入理解Android应用开发的一些关键知识点。 首先,从...

    Android 看图猜人名小游戏源码.zip

    《Android 看图猜人名小游戏源码分析与学习》 在当今移动互联网时代,游戏作为娱乐方式的重要组成部分,其开发技术也日新月异。Android平台因其开源性和广泛的设备支持,成为开发者们热衷的领域。今天,我们将深入...

    Android3D游戏开发技术详解源代码(各种游戏项目源码)

    这份"Android3D游戏开发技术详解源代码"集合提供了一个全面的学习资源,包含了多种游戏项目的源码,非常适合对3D游戏开发感兴趣或者正在学习这门技术的开发者。下面,我们将深入探讨这些标签所涵盖的关键知识点。 ...

    基于AndroidStudio的打地鼠游戏设计源码

    本项目是基于AndroidStudio的打地鼠游戏设计源码,包含30个文件,其中主要包含12个xml配置文件,10个webp图片文件,3个java源代码文件等。系统采用了Java编程语言,实现了打地鼠游戏的功能,包括游戏界面的设计和...

    android,猜数字益智小游戏源码

    【Android猜数字益智小游戏源码解析】 在Android开发领域,构建一款猜数字的游戏不仅可以锻炼开发者的基本编程技能,还能提供一个展示对用户界面设计、事件处理以及算法运用理解的平台。这款"猜数字益智小游戏"源码...

    android游戏开场动画源代码

    对于开发者来说,分析和理解源代码可以帮助他们提升编程技能,学习游戏开发的最佳实践。在《Abduction》的源代码中,我们可以看到如何使用Android SDK和Java语言来创建游戏场景、处理用户输入、管理游戏状态和实现...

    Android成语连连看游戏项目源代码

    【Android成语连连看游戏项目源代码】是一款基于Android平台开发的休闲益智游戏,它将中国传统文化中的成语融入到连连看玩法中,旨在提供一种寓教于乐的学习体验。通过这个游戏,用户不仅可以享受连连看的乐趣,还能...

Global site tag (gtag.js) - Google Analytics