您的位置:首页 > 移动开发 > Android开发

Android基础综合案例(八)猜拳小游戏

2014-04-04 22:25 405 查看
猜拳小游戏
一、要求
阶段1:进行猜拳小游戏的布局

阶段2:编写电脑类和玩家类

阶段3:编写猜拳游戏类,判定输赢

阶段4:页面跳转传值
二、具体实现代码
1、activity_main.xml
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bj"
android:orientation="vertical" >

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="请选择你要出的拳:"
android:textColor="#FF0000"
android:textSize="30sp" />

<RadioGroup
android:id="@+id/radiogroupe"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >

<RadioButton
android:id="@+id/Stone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="石头"
android:textSize="20sp" />

<RadioButton
android:id="@+id/Scissors"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="剪刀"
android:textSize="20sp" />

<RadioButton
android:id="@+id/Cloth"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="布"
android:textSize="20sp" />
</RadioGroup>

<Button
android:id="@+id/quchuan"
android:layout_width="179dp"
android:layout_height="wrap_content"
android:layout_marginLeft="70dp"
android:text="出拳"
android:textSize="20sp" />

</LinearLayout>

2、result.xml
<?xml version="1.0" encoding="UTF-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/bj">

<TextView
android:id="@+id/result"
android:textSize="30sp"
android:textColor="#FF0000"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />

</LinearLayout>

3、MainActivity.java
package com.example.guess;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RadioGroup;

public class MainActivity extends Activity {

private RadioGroup radioGroup;
private Button button;
private OnClickListener listener = new OnClickListener() {

public void onClick(View v) {
switch (v.getId()) {
case R.id.quchuan:
// 获得所选择的拳
int id = radioGroup.getCheckedRadioButtonId();
int quan = 0;
// 根据不同的选择 给一个整型值赋值 石头1 剪刀2 布3
switch (id) {
case R.id.Stone:
quan = 1;
break;
case R.id.Scissors:
quan = 2;
break;
case R.id.Cloth:
quan = 3;
break;

default:
break;
}
// 启动结果页面 并传值
Intent intent = new Intent();
intent.setClass(MainActivity.this, ResultActivity.class);
intent.putExtra("quan", quan);
startActivity(intent);
break;

default:
break;
}

}
};

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
radioGroup = (RadioGroup) findViewById(R.id.radiogroupe);
button = (Button) findViewById(R.id.quchuan);
button.setOnClickListener(listener);
}

}


4、ResultActivity.java
package com.example.guess;
import java.util.Random;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class ResultActivity extends Activity{
private TextView textview;
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
textview=(TextView)findViewById(R.id.result);
Intent intent=getIntent();
Bundle bundle=intent.getExtras();
int ren=bundle.getInt("quan");
//电脑出的拳
Random random=new Random();
int cpu=random.nextInt(3-1)+1;
String result=compare(ren ,cpu);
textview.setText(result);
}
private String compare(int ren ,int cpu){
StringBuffer show=new StringBuffer("结果:\n"+"人:"+xianshi(ren)+" VS "+"电脑:"+xianshi(cpu)+"\n");
if (ren==cpu) {
show.append("哈哈,平局!");
}else if(ren==1 && cpu==3){
show.append("电脑胜,你输啦!");
}else if(ren==3 && cpu==1){
show.append("人胜,真厉害!");
}else if(ren<cpu){
show.append("人胜,真厉害!");
}else if(ren>cpu){
show.append("电脑胜,你输啦!");
}
return show.toString();
}
private String xianshi(int id){

switch (id) {
case 1:
return "石头";
case 2:
return "剪刀";
case 3:
return "布";
default:
break;
}
return null;
}
}


5、Strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="app_name">猜拳游戏</string>
<string name="action_settings">Settings</string>

</resources>


6、AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.guess"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.guess.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ResultActivity"
android:label="@string/app_name" >
</activity>
</application>

</manifest>

三、运行效果图
1、猜拳效果图

2、显示结果图


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: