您的位置:首页 > 其它

fingergame_猜拳小游戏

2014-11-04 12:41 211 查看
游戏如图所示



首先附上MainActivity的布局

这里使用两个布局,其中有TableLayout(表格布局):以行列的形式管理子控件。

<TableLayout 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=".MainActivity" >

<TextView
android:id="@+id/tv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="8pt"
android:text="@string/tv"
android:gravity="center"
/>

<RadioGroup
android:id="@+id/rg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_horizontal"

>
<RadioButton
android:id="@+id/rg1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="剪刀"
android:checked="true"//默认选择剪刀
/>

<RadioButton
android:id="@+id/rg2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="拳头"

/>
<RadioButton
android:id="@+id/rg3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="布子"

/>
</RadioGroup>
<RelativeLayout >

<ImageView
android:id="@+id/iv1"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_below="@+id/bt"
android:layout_marginTop="16dp"
/>

<ImageView
android:id="@+id/iv3"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignBottom="@+id/iv1"
android:layout_centerHorizontal="true"
android:layout_marginBottom="24dp"
android:src="@drawable/vs"

/>

<Button
android:id="@+id/bt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="26dp"
android:text="确定" />

<ImageView
android:id="@+id/iv2"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/iv1" />

</RelativeLayout>
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16pt"

/>

</TableLayout>


接下来就是MainActivity.java

package com.example.game_fingergame;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
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;

public class MainActivity extends Activity {
String TAG="";
private ImageView iv1;//用户
private ImageView iv2;//电脑
private RadioButton rg1;
private RadioButton rg2;
private RadioButton rg3;
private TextView tv1;
private RadioGroup rg;
int count=0;//计算次数
int win=0;
int lose=0;
int draw=0;//平手
int a;
Intent intent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Log.i(TAG, "1");//插入断点
Button bt=(Button)this.findViewById(R.id.bt);
iv1=(ImageView)this.findViewById(R.id.iv1);//用户
iv2=(ImageView)this.findViewById(R.id.iv2);//电脑
tv1=(TextView)this.findViewById(R.id.tv1);
rg = (RadioGroup)this.findViewById(R.id.rg);
rg1=(RadioButton)this.findViewById(R.id.rg1);//剪刀
rg2=(RadioButton)this.findViewById(R.id.rg2);//拳头
rg3=(RadioButton)this.findViewById(R.id.rg3);//布
Log.i(TAG,"2");//插入断点

bt.setOnClickListener(new OnClickListener() {

public void onClick(View v) {//点击事件
int i;
i=(int)(Math.random()*3);//产生0-2的随机整数
int id=rg.getCheckedRadioButtonId();
if(rg.getCheckedRadioButtonId()==R.id.rg1){a=0;}//剪刀
if(rg.getCheckedRadioButtonId()==R.id.rg2){a=1;}//拳头
if(rg.getCheckedRadioButtonId()==R.id.rg3){a=2;}//布
switch(a){
case 0:					//用户选择剪刀
iv1.setBackgroundResource(R.drawable.jiandao);
if(i==a){iv2.setBackgroundResource(R.drawable.jiandao);
tv1.setText("平手!");draw++;
}//i=0,a=0均为剪刀
if(i==a+1){iv2.setBackgroundResource(R.drawable.quantou);
tv1.setText("你输了!");lose++;
}//i=1为拳头,a=0为剪刀
if(i==a+2) {iv2.setBackgroundResource(R.drawable.bu);
tv1.setText("你赢了!");win++;
}//i=2为布,a=0为剪刀
count++;
break;

case 1:			 //用户选择拳头
iv1.setBackgroundResource(R.drawable.quantou);
if(i==a){iv2.setBackgroundResource(R.drawable.quantou);
tv1.setText("平手!");draw++;
}//i=1,a=1均为拳头
if(i==a+1){iv2.setBackgroundResource(R.drawable.bu);
tv1.setText("你输了!");lose++;
}//i=2为布,a=1为拳头
if(i==a-1){iv2.setBackgroundResource(R.drawable.jiandao);
tv1.setText("你赢了!");win++;
}//i=0为剪刀,a=1为拳头
count++;
break;
case 2:			 //用户选择布
iv1.setBackgroundResource(R.drawable.bu);
if(i==a){iv2.setBackgroundResource(R.drawable.bu);
tv1.setText("平手!");draw++;
}//i=2,a=2均为布
if(i==a-1){iv2.setBackgroundResource(R.drawable.quantou);
tv1.setText("你赢了!");win++;
}//i=1为拳头,a=2为布
if(i==a-2){iv2.setBackgroundResource(R.drawable.jiandao);
tv1.setText("你输了!");lose++;
}//i=0为剪刀,a=2为布
count++;
break;
default:break;
}
if(count==5){
intent =new Intent();
intent.putExtra("draw", draw);//传值
intent.putExtra("win", win);
intent.putExtra("lose", lose);
intent.setClass(MainActivity.this, SecondActivity.class);
MainActivity.this.startActivity(intent);//跳转
}
}
});

}
}


接下来是SecondActivity.java

package com.example.game_fingergame;

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

public class SecondActivity extends Activity {
private TextView tv;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
tv=(TextView)this.findViewById(R.id.tv);
Intent i=getIntent();
int draw=i.getIntExtra("draw", 0);
int win=i.getIntExtra("win", 0);
int lose=i.getIntExtra("lose", 0);
if(win>=3){
tv.setText("恭喜你过关了,你一共赢了"+win+"盘");
}
else{
tv.setText("很遗憾你没有过关,你输了"+lose+"盘,平了"+draw+"盘");
}
}
}


Ok~完工,一个简单易行的小游戏就完工啦!

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