`
qiushyfm
  • 浏览: 98162 次
  • 性别: 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游戏:猜扑克游戏源码.rar】是一个包含Android平台上的简单猜扑克游戏源代码的压缩包。这个游戏是开发者参照《Google Android SDK开发范例大全》中的示例编写而成,旨在帮助初学者理解和实践Android游戏...

    android小游戏源码.rar

    通过对这个"android小游戏源码"的深入学习,开发者不仅可以了解Android游戏开发的基本流程,还能掌握优化游戏性能、提升用户体验的各种技巧。无论是新手还是经验丰富的开发者,都能从中获益良多。

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

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

    基于Android Studio实现的2048小游戏源代码,安卓大作业

    《基于Android Studio实现的2048小游戏源代码解析与实战》 2048是一款深受程序员喜爱的数字拼图游戏,它通过简单的合并规则,让玩家在享受游戏乐趣的同时,也能体验到算法的魅力。本篇文章将深入探讨如何基于...

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

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

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

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

    Android小游戏源代码.rar

    这篇文档将深入探讨Android小游戏开发的相关知识点,主要基于提供的压缩包...学习源代码时,建议结合"JavaApk源码说明.txt"中的指导,逐步理解各个组件的功能和交互方式,这将对提升Android游戏开发技能大有裨益。

    基于AndroidStudio打地鼠小游戏源代码

    《基于Android Studio的打地鼠小游戏开发详解》 ...通过阅读源代码,分析各个类的功能,你将能更好地理解Android游戏开发的全貌,并从中学习到实际的编程技巧。同时,动手修改和运行代码,将是你提升技能的最好方式。

    Android 游戏源代码 Petraszd(含截图)

    Android 游戏源代码 Petraszd(含截图)Android 游戏源代码 Petraszd(含截图)Android 游戏源代码 Petraszd(含截图)Android 游戏源代码 Petraszd(含截图)Android 游戏源代码 Petraszd(含截图)Android 游戏源...

    android小游戏源码

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

    收猜数字游戏源码

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

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

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

    疯狂单击小游戏android源代码

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

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

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

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

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

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

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

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

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

    android游戏开场动画源代码

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

Global site tag (gtag.js) - Google Analytics