`
qiushyfm
  • 浏览: 97600 次
  • 性别: 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平台上进行应用开发时,猜牌游戏是一个常见的学习项目,它可以帮助开发者熟悉基本的编程概念、用户界面设计以及事件处理。"猜牌游戏源码"通常包含一系列的Java或Kotlin文件,用于实现游戏逻辑,XML文件用于...

    安卓猜牌游戏源码原创

    【安卓猜牌游戏源码原创】是一个专门为Android平台设计和开发的猜牌游戏项目,它展示了如何使用Java语言和Android Studio进行游戏应用的构建。在这个游戏中,用户需要根据系统给出的提示来猜测一张牌的花色和数字,...

    Android游戏:猜扑克游戏源码.rar

    【Android游戏:猜扑克游戏源码.rar】是一个包含Android平台上的简单猜扑克游戏源代码的压缩包。这个游戏是开发者参照《Google Android SDK开发范例大全》中的示例编写而成,旨在帮助初学者理解和实践Android游戏...

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

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

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

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

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

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

    android studio 安卓扫雷小游戏源代码

    android studio 安卓扫雷小游戏源代码 运用Android 制作扫雷游戏,制作简单,没有复杂的代码,对于熟悉Android的页面布局,跳转有帮助理解=。这个扫雷还有点瑕疵,广大程序员们可以对其修改和完善。

    收猜数字游戏源码

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

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

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

    课程设计大作业基于java的Android Studio实现井字棋小游戏源码.zip

    课程设计大作业基于java的Android Studio实现井字棋小游戏源码课程设计大作业基于java的Android Studio实现井字棋小游戏源码课程设计大作业基于java的Android Studio实现井字棋小游戏源码课程设计大作业基于java的...

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

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

    疯狂单击小游戏android源代码

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

    安卓Android源码——推箱子小游戏源码.zip

    总的来说,分析并理解这个推箱子游戏的源码,可以帮助我们深入学习Android应用开发,特别是游戏开发中的图形渲染、用户交互、数据持久化和动画实现等方面的知识。这不仅有助于提升编程技能,也有助于培养解决问题和...

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

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

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

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

    android版拼图游戏源码

    【Android版拼图游戏源码】是一个专门为Android平台开发的游戏应用程序,它提供了拼图游戏的完整实现,包括源代码和内部注释。这个游戏共有9个关卡,这意味着玩家可以通过不同难度级别的拼图来挑战自己的思维和解决...

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

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

    Android游戏源码安卓单机3D赛车游戏项目.zip

    《Android游戏源码安卓单机3D赛车游戏项目》是一个专为Android平台设计的3D赛车游戏开发资源,它提供了一整套完整的源代码,帮助开发者深入理解Android游戏开发技术,特别是3D图形渲染和物理引擎的应用。在这个项目...

Global site tag (gtag.js) - Google Analytics