写猜拳游戏的目的主要是练习linerlayout和relativelayout;有三个页面,其中两个是linerlayout的。
在我的资源里已经将代码上传了:http://download.csdn.net/detail/yuexin2/5419533
HumanToComputer.java中:
package com.example.guesshand;
import java.util.Random;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.RadioGroup.OnCheckedChangeListener;
public class HumanToComputer extends Activity {
public Button cok;
public RadioButton mstoreOne;
public RadioButton mjiandaoOne;
public RadioButton mbuOne;
public RadioGroup moneRadioGroup;
public TextView cresult;
public ImageView cimgTwo;
public ImageView cimgOne;
private int men=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.human_computer);
cresult = (TextView)findViewById(R.id.cresult);
cimgTwo = (ImageView)findViewById(R.id.cimgTwo);
cimgOne = (ImageView)findViewById(R.id.cimgOne);
cok = (Button)findViewById(R.id.cOk);
OnCokClicked occ = new OnCokClicked();
cok.setOnClickListener(occ);
moneRadioGroup = (RadioGroup)findViewById(R.id.moneRadioGroup);
mstoreOne = (RadioButton)findViewById(R.id.mstoreOne);
mjiandaoOne = (RadioButton)findViewById(R.id.mjiandaoOne);
mbuOne = (RadioButton)findViewById(R.id.mbuOne);
OnRadioGroupChange orgc = new OnRadioGroupChange();
moneRadioGroup.setOnCheckedChangeListener(orgc);
}
class OnRadioGroupChange implements OnCheckedChangeListener{
@Override
public void onCheckedChanged(RadioGroup arg0, int arg1) {
if(arg1==R.id.mstoreOne){
men=1;
}
else if(arg1==R.id.mjiandaoOne){
men=2;
}
else if(arg1==R.id.mbuOne){
men=3;
}
}
}
class OnCokClicked implements OnClickListener{
@Override
public void onClick(View v) {
Random rnd = new Random();
int computer = rnd.nextInt(3);
computer++;
System.out.println("电脑:"+computer);
if(men==1){
if(computer==2){
cresult.setText("玩家赢了!!!");
cimgOne.setImageDrawable(getResources().getDrawable(R.drawable.yes));
cimgTwo.setImageDrawable(getResources().getDrawable(R.drawable.no));
}
if(computer==3){
cresult.setText("电脑赢了!!!");
cimgTwo.setImageDrawable(getResources().getDrawable(R.drawable.yes));
cimgOne.setImageDrawable(getResources().getDrawable(R.drawable.no));
}
}
if(men==2){
if(computer==1){
cresult.setText("电脑赢了!!!");
cimgTwo.setImageDrawable(getResources().getDrawable(R.drawable.yes));
cimgOne.setImageDrawable(getResources().getDrawable(R.drawable.no));
}
if(computer==3){
cresult.setText("玩家赢了!!!");
cimgOne.setImageDrawable(getResources().getDrawable(R.drawable.yes));
cimgTwo.setImageDrawable(getResources().getDrawable(R.drawable.no));
}
}
if(men==3){
if(computer==2){
cresult.setText("电脑赢了!!!");
cimgTwo.setImageDrawable(getResources().getDrawable(R.drawable.yes));
cimgOne.setImageDrawable(getResources().getDrawable(R.drawable.no));
}
if(computer==1){
cresult.setText("玩家赢了!!!");
cimgOne.setImageDrawable(getResources().getDrawable(R.drawable.yes));
cimgTwo.setImageDrawable(getResources().getDrawable(R.drawable.no));
}
}
if(men == computer&&men!=0){
cresult.setText("平局!!!");
cimgOne.setImageDrawable(getResources().getDrawable(R.drawable.yes));
cimgTwo.setImageDrawable(getResources().getDrawable(R.drawable.yes));
}
if(men!=0&&computer!=0){
men = 0;
}
}
}
}
HumanToHumanActivity.java文件:
package com.example.guesshand;
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.TextView;
public class HumanToHumanActivity extends Activity {
public Button okButton;
public RadioGroup oneRadioGroup;
public RadioGroup twoRadioGroup;
public RadioButton storeTwo;
public RadioButton storeOne;
public RadioButton jiandaoOne;
public RadioButton jiandaoTwo;
public RadioButton buOne;
public RadioButton buTwo;
public TextView result;
public ImageView imgTwo;
public ImageView imgOne;
private int one=0;
private int two=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.human_human);
imgTwo = (ImageView)findViewById(R.id.imgTwo);
imgOne = (ImageView)findViewById(R.id.imgOne);
okButton = (Button)findViewById(R.id.ok);
oneRadioGroup = (RadioGroup)findViewById(R.id.oneRadioGroup);
twoRadioGroup = (RadioGroup)findViewById(R.id.twoRadioGroup);
storeTwo = (RadioButton)findViewById(R.id.storeTwo);
jiandaoOne = (RadioButton)findViewById(R.id.jiandaoOne);
storeOne = (RadioButton)findViewById(R.id.storeOne);
jiandaoTwo = (RadioButton)findViewById(R.id.jiandaoTwo);
buOne = (RadioButton)findViewById(R.id.buOne);
buTwo = (RadioButton)findViewById(R.id.buTwo);
result = (TextView)findViewById(R.id.result);
OnOkButtonClick oobc = new OnOkButtonClick();
OnRadioGroupChange orgc = new OnRadioGroupChange();
oneRadioGroup.setOnCheckedChangeListener(orgc);
twoRadioGroup.setOnCheckedChangeListener(orgc);
okButton.setOnClickListener(oobc);
}
class OnOkButtonClick implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
storeTwo.setChecked(false);
storeOne.setChecked(false);
jiandaoOne.setChecked(false);
jiandaoTwo.setChecked(false);
buOne.setChecked(false);
buTwo.setChecked(false);
if(one==1){
if(two==2){
result.setText("用户一赢了!!!");
imgOne.setImageDrawable(getResources().getDrawable(R.drawable.yes));
imgTwo.setImageDrawable(getResources().getDrawable(R.drawable.no));
}
if(two==3){
result.setText("用户二赢了!!!");
imgTwo.setImageDrawable(getResources().getDrawable(R.drawable.yes));
imgOne.setImageDrawable(getResources().getDrawable(R.drawable.no));
}
}
if(one==2){
if(two==1){
result.setText("用户二赢了!!!");
imgTwo.setImageDrawable(getResources().getDrawable(R.drawable.yes));
imgOne.setImageDrawable(getResources().getDrawable(R.drawable.no));
}
if(two==3){
result.setText("用户一赢了!!!");
imgOne.setImageDrawable(getResources().getDrawable(R.drawable.yes));
imgTwo.setImageDrawable(getResources().getDrawable(R.drawable.no));
}
}
if(one==3){
if(two==2){
result.setText("用户二赢了!!!");
imgTwo.setImageDrawable(getResources().getDrawable(R.drawable.yes));
imgOne.setImageDrawable(getResources().getDrawable(R.drawable.no));
}
if(two==1){
result.setText("用户一赢了!!!");
imgOne.setImageDrawable(getResources().getDrawable(R.drawable.yes));
imgTwo.setImageDrawable(getResources().getDrawable(R.drawable.no));
}
}
if(one == two&&one!=0){
result.setText("平局!!!");
imgOne.setImageDrawable(getResources().getDrawable(R.drawable.yes));
imgTwo.setImageDrawable(getResources().getDrawable(R.drawable.yes));
}
if(one!=0&&two!=0){
one = 0;
two = 0;
}
}
}
class OnRadioGroupChange implements OnCheckedChangeListener{
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
if(checkedId==R.id.storeOne){
one=1;
}
else if(checkedId==R.id.storeTwo){
two=1;
}
else if(checkedId==R.id.jiandaoTwo){
two=2;
}
else if(checkedId==R.id.jiandaoOne){
one=2;
}
else if(checkedId==R.id.buTwo){
two=3;
}
else if(checkedId==R.id.buOne){
one=3;
}
}
}
}
主文件(MainActivity.java):
package com.example.guesshand;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
public class MainActivity extends Activity {
public MainActivity mainActivity = this;
public Button buttonGo;
private RadioGroup radioGroup;
public int manOrComputer=-1;
public Bundle savedInstanceState1;
@Override
protected void onCreate(Bundle savedInstanceState) {
savedInstanceState1 = savedInstanceState;
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonGo = (Button)findViewById(R.id.go);
radioGroup = (RadioGroup)findViewById(R.id.checkEnemy);
RadioGroupListener rgl = new RadioGroupListener();
ButtonGoListener bgl = new ButtonGoListener();
buttonGo.setOnClickListener(bgl);
radioGroup.setOnCheckedChangeListener(rgl);
}
//监听rideo
class RadioGroupListener implements OnCheckedChangeListener{
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
if(checkedId==R.id.computer){
manOrComputer = 2;
System.out.println(manOrComputer);
}
if(checkedId==R.id.human){
manOrComputer = 1;
System.out.println(manOrComputer);
}
}
}
//监听开始按钮
class ButtonGoListener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(manOrComputer==1){
Intent intent = new Intent();
intent.setClass(mainActivity, HumanToHumanActivity.class);
startActivity(intent);
MainActivity.this.finish();
}
else if(manOrComputer==2){
Intent intent = new Intent();
intent.setClass(mainActivity, HumanToComputer.class);
startActivity(intent);
MainActivity.this.finish();
}else{
System.out.println("没选择");
new AlertDialog.Builder(mainActivity)
.setTitle("错误")
.setMessage("未选择对战对手!!!")
.setPositiveButton("确定", null)
.show();
}
}
}
@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;
}
}
下面是xml文件:
activity_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"
tools:context=".MainActivity" >
<TextView
android:layout_marginTop="30dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="30dp"
android:text="猜拳游戏,岳鑫制作" />
<TextView
android:layout_marginTop="30dp"
android:textSize="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请选择对手:" />
<RadioGroup
android:id="@+id/checkEnemy"
android:layout_marginTop="30dp"
android:layout_marginLeft="50dp"
android:textSize="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<RadioButton
android:id="@+id/computer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="电脑"
/>
<RadioButton
android:id="@+id/human"
android:layout_marginLeft="50dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="人"
/>
</RadioGroup>
<Button
android:id="@+id/go"
android:layout_marginLeft="100dp"
android:layout_marginTop="30dp"
android:textSize="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始游戏" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:textSize="20dp"
android:text="广告位:
qq:794529075
火热预定中。。。
"
/>
</LinearLayout>
human_computer.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="20dp"
android:orientation="vertical" >
<ImageView
android:id="@+id/cimgOne"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/yes"
/>
<ImageView
android:id="@+id/cimgTwo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/no"
android:layout_toRightOf="@id/cimgOne"
android:layout_marginLeft="50dp"
/>
<TextView
android:text="玩家"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/man"
android:layout_alignRight="@id/cimgOne"
android:layout_alignLeft="@id/cimgOne"
android:gravity="center"
android:layout_below="@id/cimgOne"
android:textSize="30sp"
/>
<TextView
android:text="电脑"
android:textSize="30sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/computer"
android:layout_below="@id/cimgTwo"
android:layout_alignRight="@id/cimgTwo"
android:layout_alignLeft="@id/cimgTwo"
android:gravity="center"
android:layout_toRightOf="@id/man"
/>
<RadioGroup
android:id="@+id/moneRadioGroup"
android:layout_marginTop="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/man"
>
<RadioButton
android:id="@+id/mstoreOne"
android:textSize="30sp"
android:layout_marginLeft="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="石头"
/>
<RadioButton
android:id="@+id/mjiandaoOne"
android:textSize="30sp"
android:layout_marginLeft="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="剪刀"
/>
<RadioButton
android:id="@+id/mbuOne"
android:textSize="30sp"
android:layout_marginLeft="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="布"
/>
</RadioGroup>
<RadioGroup
android:id="@+id/twoRadioGroup"
android:layout_marginTop="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/moneRadioGroup"
android:layout_below="@id/computer"
android:layout_marginLeft="30dp"
>
<RadioButton
android:id="@+id/storeTwo"
android:textSize="30sp"
android:layout_marginLeft="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="石头"
/>
<RadioButton
android:id="@+id/jiandaoTwo"
android:textSize="30sp"
android:layout_marginLeft="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="剪刀"
/>
<RadioButton
android:id="@+id/buTwo"
android:textSize="30sp"
android:layout_marginLeft="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="布"
/>
</RadioGroup>
<Button
android:id="@+id/cOk"
android:layout_below="@id/moneRadioGroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="确定"
android:textSize="30sp"
/>
<TextView
android:id="@+id/temptext"
android:layout_marginTop="20dp"
android:textSize="15dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="结果:"
android:layout_below="@id/cOk"
/>
<TextView
android:id="@+id/cresult"
android:textSize="20dp"
android:layout_marginLeft="50dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/temptext"
/>
</RelativeLayout>
human_human.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<!-- 第一人 -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<ImageView
android:id="@+id/imgOne"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/yes"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="用户一:"
android:textSize="30dp"
/>
<RadioGroup
android:id="@+id/oneRadioGroup"
android:layout_marginTop="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<RadioButton
android:id="@+id/storeOne"
android:textSize="30dp"
android:layout_marginLeft="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="石头"
/>
<RadioButton
android:id="@+id/jiandaoOne"
android:textSize="30dp"
android:layout_marginLeft="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="剪刀"
/>
<RadioButton
android:id="@+id/buOne"
android:textSize="30dp"
android:layout_marginLeft="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="布"
/>
</RadioGroup>
</LinearLayout>
<!-- 第二人 -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<ImageView
android:id="@+id/imgTwo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/yes"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="用户二:"
android:textSize="30dp"
/>
<RadioGroup
android:id="@+id/twoRadioGroup"
android:layout_marginTop="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<RadioButton
android:id="@+id/storeTwo"
android:textSize="30dp"
android:layout_marginLeft="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="石头"
/>
<RadioButton
android:id="@+id/jiandaoTwo"
android:textSize="30dp"
android:layout_marginLeft="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="剪刀"
/>
<RadioButton
android:id="@+id/buTwo"
android:textSize="30dp"
android:layout_marginLeft="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="布"
/>
</RadioGroup>
</LinearLayout>
</LinearLayout>
<Button
android:id="@+id/ok"
android:layout_marginTop="30dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20dp"
android:text="确定"
/>
<TextView
android:layout_marginTop="20dp"
android:textSize="15dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="结果:"
/>
<TextView
android:id="@+id/result"
android:textSize="20dp"
android:layout_marginLeft="50dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>