android---猜拳小遊戲

MainActivity.java:

package com.activity;

import com.model.Computer;
import com.model.Game;
import com.model.User;

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

public class MainActivity extends Activity {

	//第一組件
	private RadioGroup radioGroup;
	private RadioButton shiTou,jianDao,bu;
	private Button button;
	
	Computer c = new Computer();
	User u = new User();
	Game g = new Game();
	
	String userAct;
	String str = null;
	String success;
	String computerAct;
	
	private void setStr(){
		int computer = c.computers();
		switch (computer) {
		case 0:
			computerAct = "石頭";
			break;
		case 1:
			computerAct = "剪刀";
			break;
		case 2:
			computerAct = "布";
			break;
		}
		
		str = "玩家 "+userAct + " VS " +"電腦 "+computerAct;
		success = g.pk(u.users(userAct), computer);
	}
	
	//查找組件
	private void findViews(){
		button = (Button) findViewById(R.id.chuQuan);
		radioGroup = (RadioGroup) findViewById(R.id.radio);
		shiTou = (RadioButton) findViewById(R.id.shiTou);
		jianDao = (RadioButton) findViewById(R.id.jianDao);
		bu = (RadioButton) findViewById(R.id.bu);
	}
	
	//添加事件監聽
	private void setListeners(){
		
		radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
			public void onCheckedChanged(RadioGroup group, int checkedId) {
				if(checkedId == R.id.jianDao){
					userAct = "剪刀";
				}else if(checkedId == R.id.shiTou){
					userAct = "石頭";
				}else if(checkedId == R.id.bu){
					userAct = "布";
				}
			}
		});
		
		button.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				setStr();
				Intent intent = new Intent();
				intent.setClass(MainActivity.this, ResultActivity.class);
				intent.putExtra("str", str);
				intent.putExtra("success", success);
				startActivity(intent);
			}
		});
	
	}
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViews();
        setListeners();
        
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

佈局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="請選擇你要出的拳"
        tools:context=".MainActivity" />
    
    <RadioGroup 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:id="@+id/radio"
        >
        <RadioButton 
            android:text="石頭"
            android:id="@+id/shiTou"
            />
        <RadioButton 
            android:text="剪刀"
            android:id="@+id/jianDao"
            />
        <RadioButton 
            android:text="布"
            android:id="@+id/bu"
            />
    </RadioGroup>
    
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="出拳"
        android:id="@+id/chuQuan"
        />

</LinearLayout>

Computer.java:

package com.model;

import java.util.Random;

public class Computer {
	public int computers(){
		Random r = new Random();
		return r.nextInt(3);
		
	}
}

User.java:

package com.model;


public class User {
	public int users(String str) {
		int a = -1;
		if(str.equals("石頭")){
			a = 0;
		}else if(str.equals("剪刀")){
			a = 1;
		}else if(str.equals("布")){
			a = 2;
		}
		return a;
	}
}

Game.java:判斷輸贏的

package com.model;

public class Game {
	public String pk(int user,int computer){
		if(user - computer == -1 || user - computer == 2){
			return "玩家 贏";
		}else if(user - computer == 0){
			return "平局";
		}else {
			return "電腦 贏";
		}
	}
}


顯示結果的:Result.java:

package com.activity;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.widget.TextView;

public class ResultActivity extends Activity {
	private TextView textView;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_result);
        textView = (TextView) findViewById(R.id.text);
        Intent intent = this.getIntent();
        String str = intent.getStringExtra("str");
        String success = intent.getStringExtra("success");
        String result = str+"\n"+success;
        textView.setText(result);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_result, menu);
        return true;
    }
}

佈局文件:

<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" >

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world"
        tools:context=".ResultActivity" />

</RelativeLayout>



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章