Android简单实现猜拳游戏_第1张图片

MainActivity类:

package com.mcm.fingerplay;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
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;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.TextView;

public class MainActivity extends Activity {
 
 private RadioGroup leftRadioGroup;
 private RadioGroup rightRadioGroup;
 private RadioButton leftStoneButton;
 private RadioButton leftScissorsButton;
 private RadioButton leftClothButton;
 private RadioButton rightStoneButton;
 private RadioButton rightScissorsButton;
 private RadioButton rightClothButton;
 private Button button;
 private TextView resultTextView;
 static int flag = 0;
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  resultTextView = (TextView) findViewById(R.id.resultTextView);
  resultTextView.setBackgroundColor(Color.YELLOW);
        leftRadioGroup = (RadioGroup) findViewById(R.id.leftRadioGroup);
        rightRadioGroup = (RadioGroup) findViewById(R.id.rightRadioGroup);
        leftRadioGroupLister l = new leftRadioGroupLister();
        leftRadioGroup.setOnCheckedChangeListener(l);
        rightRadioGroupLister r = new rightRadioGroupLister();
        rightRadioGroup.setOnCheckedChangeListener(r);
        button = (Button) findViewById(R.id.button);
        ButtonLister buttonLister = new ButtonLister();
        button.setOnClickListener(buttonLister);
        leftStoneButton = (RadioButton) findViewById(R.id.leftStoneButton);
        leftScissorsButton = (RadioButton) findViewById(R.id.leftScissorsButton);
        leftClothButton = (RadioButton) findViewById(R.id.leftClothButton);
        rightStoneButton = (RadioButton) findViewById(R.id.rightStoneButton);
        rightScissorsButton = (RadioButton) findViewById(R.id.rightScissorsButton);
        rightClothButton = (RadioButton) findViewById(R.id.rightClothButton);
 }

 @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;
 }
 
 class ButtonLister implements OnClickListener{
  @Override
  public void onClick(View v) {
   //显示猜拳结果
   System.out.println("显示猜拳结果");
   System.out.println(flag);
   if(flag == 1){
    resultTextView.setText("左方胜!");
   }else if(flag == 2){
    resultTextView.setText("右方胜!");
   }else{
    resultTextView.setText("平局!");
   }
   flag = 0;
  }
    }
 
 
 
 class leftRadioGroupLister implements OnCheckedChangeListener{
  @Override
  public void onCheckedChanged(RadioGroup group, int checkedId) {
   
   System.out.println("leftRadioGroupLister进来了");
   
   if(group.getId() == leftRadioGroup.getId()){
    if(leftStoneButton.isChecked()){//左边出石头
     if(rightScissorsButton.isChecked()){//右边剪刀
      flag = 1;
     }else if(rightClothButton.isChecked()){//右边出布
      flag = 2;
     }
    }else if(leftScissorsButton.isChecked()){//左边出剪刀
     if(rightStoneButton.isChecked()){//右边石头
      flag = 2;
     }else if(rightClothButton.isChecked()){//右边出布
      flag = 1;
     }
    }else{//左边出布
     if(rightStoneButton.isChecked()){//右边石头
      flag = 1;
     }else if(rightScissorsButton.isChecked()){//右边出剪刀
      flag = 2;
     }
    }
   }
  }
    }
 
 class rightRadioGroupLister implements OnCheckedChangeListener{
  @Override
  public void onCheckedChanged(RadioGroup group, int checkedId) {
   
   System.out.println("rightRadioGroupLister进来了");
   
   if(group.getId() == rightRadioGroup.getId()){
    if(rightStoneButton.isChecked()){//右边出石头
     if(leftScissorsButton.isChecked()){//左边剪刀
      flag = 2;
     }else if(leftClothButton.isChecked()){//左边出布
      flag = 1;
     }
    }else if(rightScissorsButton.isChecked()){//右边出剪刀
     if(leftStoneButton.isChecked()){//左边石头
      flag = 1;
     }else if(leftClothButton.isChecked()){//左边出布
      flag = 2;
     }
    }else{//右边出布
     if(rightStoneButton.isChecked()){//左边石头
      flag = 2;
     }else if(rightScissorsButton.isChecked()){//左边出剪刀
      flag = 1;
     }
    }
   }
  }
    }

}

 

 

 

activity_main.xml文件:

    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="20dp"
   >

            android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="猜拳游戏"
        android:textSize="50sp"
        android:gravity="center"/>
             android:id="@+id/leftImageView"
         android:layout_width="200dp"
         android:layout_height="100dp"
         android:src="@drawable/fight"
         android:background="#00FF00"        
         android:layout_gravity="center_horizontal"/>
            android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:orientation="horizontal">  
               android:id="@+id/leftRadioGroup"
         android:layout_width="150dp"
         android:layout_height="wrap_content"
         android:orientation="vertical"
         android:gravity="left"
         >
                      android:id="@+id/leftStoneButton"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="石头"/>
                      android:id="@+id/leftScissorsButton"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="剪刀"/>
                      android:id="@+id/leftClothButton"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="布"/>
     

               android:id="@+id/rightRadioGroup"
         android:layout_width="150dp"
         android:layout_height="wrap_content"
         android:orientation="vertical"
         >
                      android:id="@+id/rightStoneButton"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="石头"/>
                      android:id="@+id/rightScissorsButton"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="剪刀"/>
                      android:id="@+id/rightClothButton"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="布"/>