完成猜拳小游戏

猜拳小游戏的布局:actity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/choose" />

    <RadioGroup
        android:id="@+id/fist"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <RadioButton
            android:id="@+id/stone"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            
            android:text="@string/stone" />

        <RadioButton
            android:id="@+id/scissors"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/scissors" />

        <RadioButton
            android:id="@+id/cloth"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/cloth" />
    </RadioGroup>

    <Button
        android:id="@+id/punch"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/punch" />

</LinearLayout>

actity_show.xml


 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".ShowActivity" >

    <TextView
        android:id="@+id/result"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />

</RelativeLayout>


 

MainActivity.java代码:

package com.example.game;


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


public class MainActivity extends Activity {
	private RadioGroup fist;//单选按钮组
	private RadioButton stone, scissors, cloth;//单选按钮石头,剪刀,布
	private Button punch;//按钮出拳
	int playerFist;//定义为整型,好计较输赢,玩家出拳
	String chuquan;//显示字符串

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		fist = (RadioGroup) this.findViewById(R.id.fist);//取得主键
		stone = (RadioButton) this.findViewById(R.id.stone);
		scissors = (RadioButton) this.findViewById(R.id.scissors);
		cloth = (RadioButton) this.findViewById(R.id.cloth);
		fist.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

			@Override
			public void onCheckedChanged(RadioGroup group, int checkedId) {
				// TODO Auto-generated method stub
				if (checkedId == stone.getId()) {
					playerFist=2;
					chuquan="玩家:石头";
					
				}
				if (checkedId == scissors.getId()) {
					playerFist=1;
					chuquan="玩家:剪刀";
				}
				if (checkedId == cloth.getId()) {
					playerFist=3;
					chuquan="玩家:布";


							
				}

			}
		});

		punch = (Button) this.findViewById(R.id.punch);
		punch.setOnClickListener(new Button.OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				Intent intent = new Intent();//页面跳转
				intent.setClass(MainActivity.this, ShowActivity.class);
				Bundle bundle=new Bundle();
				bundle.putInt("playerFist", playerFist);//bundle 放数据
				bundle.putString("chuquan", chuquan);
				intent.putExtras(bundle);
				startActivity(intent);
				finish();

			}
		});
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	
}


 

ShowActity.java代码:

package com.example.game;



import android.os.Bundle;
import android.app.Activity;

import android.view.Menu;
import android.widget.TextView;

public class ShowActivity extends Activity {
	
	private TextView result;//显示结果
	public int playerFist;
	public String chuquan;//玩家出拳
	public String strquan;//显示电脑出拳
	
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_show);
		result=(TextView) this.findViewById(R.id.result);
		Bundle bundle=this.getIntent().getExtras();
		playerFist=bundle.getInt("playerFist");
		chuquan=bundle.getString("chuquan");
		int comFist = (int) (Math.random() * 10) % 3 + 1;// 产生随机数,表示电脑出拳
		switch(comFist){
		case 1:{
			strquan="电脑:剪刀";
			break;
		}
		case 2:{
			strquan="电脑:石头";
			break;
		}
		case 3:{
			strquan="电脑:布";
			break;
		}
			
		}
		//比较输赢
		if(playerFist==1&&comFist==1||playerFist==2&&comFist==2||playerFist==3&&comFist==3){
			result.setText(chuquan+"VS"+strquan+"\n"+"平局");
		}
		else if(playerFist==1&&comFist==3||playerFist==2&&comFist==1||playerFist==3&&comFist==2){
			result.setText(chuquan+"VS"+strquan+"\n"+"玩家赢");
		}
		else{
			result.setText(chuquan+"VS"+strquan+"\n"+"电脑赢");
		}
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.show, menu);
		return true;
	
}
}
	

结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值