实现界面是这样的:

 

点击下面的3个按钮是自己出拳。左边是系统随机出拳。猜拳结显示在按钮上面。
 
游戏实现很重要。这个游戏以显示为主,我在显示游戏图片的地方叠加imageview,当要显示其中一张时,其他的隐藏。
 
实现步骤:
1.布置界面。
想好界面中,你要放些什么,具体放在哪个位置。在一个xml文件中设置好。
在这个界面中,用的是相对布局,文字显示都是textview,图片是imageview,再加3个按钮。
2.响应事件
xml文件中哪些控件是需要事件响应的。在Activity中实例化,并处理相应事件。
在游戏中,根据显示的图片,判断谁赢,然后在中间的textview中显示。
 
游戏的逻辑简单,以下是代码,如果你有更简单的方法,期待你的留言。
main.xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="#00baff" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="猜拳游戏"
        android:textSize="20dp"
        android:gravity="center"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_marginBottom="1dp"
            android:gravity="center"
            android:layout_marginLeft="10dp" >
 
         <Button
             android:id="@+id/button1"
             android:layout_width="60dp"
             android:layout_height="wrap_content"
             android:layout_alignParentTop="true"
             android:layout_alignRight="@+id/linearLayout1"
             android:layout_marginTop="10dp"
             android:text="石头" />           
             
         <Button
             android:id="@+id/button2"
             android:layout_width="60dp"
             android:layout_height="wrap_content"
             android:layout_alignParentTop="true"
             android:layout_alignRight="@+id/linearLayout1"
             android:layout_marginTop="10dp"
             android:text="剪刀" />      
              
         <Button
             android:id="@+id/button3"
             android:layout_width="60dp"
             android:layout_height="wrap_content"
             android:layout_alignParentTop="true"
             android:layout_alignRight="@+id/linearLayout1"
             android:layout_marginTop="10dp"
             android:text="布" />           
        </LinearLayout>

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/linearLayout1"
            android:layout_alignParentTop="true"
            android:layout_marginTop="155dp"
            android:textColor="#ffffff"
            android:text="敌方" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/textView2"
            android:layout_alignBottom="@+id/textView2"
            android:layout_alignParentRight="true"
            android:textColor="#ffffff"
            android:text="我方" />

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/textView2"
            android:layout_marginLeft="19dp"
            android:layout_toRightOf="@+id/textView2"
            android:visibility="invisible"
            android:src="@drawable/c1" />

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/imageView1"
            android:layout_alignTop="@+id/imageView1"
            android:visibility="invisible"
            android:src="@drawable/c2" />

        <ImageView
            android:id="@+id/imageView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/imageView1"
            android:layout_alignRight="@+id/imageView2"
            android:visibility="invisible"
            android:src="@drawable/c3" />

        <ImageView
            android:id="@+id/imageView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/imageView3"
            android:layout_marginRight="23dp"
            android:layout_toLeftOf="@+id/textView3"
            android:visibility="invisible"
            android:src="@drawable/c1" />

        <ImageView
            android:id="@+id/imageView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignRight="@+id/imageView4"
            android:layout_alignTop="@+id/imageView4"
            android:visibility="invisible"
            android:src="@drawable/c2" />

        <ImageView
            android:id="@+id/imageView6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/imageView1"
            android:layout_alignRight="@+id/imageView4"
            android:visibility="invisible"
            android:src="@drawable/c3" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/linearLayout1"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="24dp"
            android:textColor="#ffffff"
            android:hint="显示结果" />

    </RelativeLayout>

</LinearLayout>

 

Activity文件

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.TextView;

public class FirstDemoActivity extends Activity implements OnClickListener{
    /** Called when the activity is first created. */
 
 Button b1,b2,b3;
 ImageView m1,m2,m3,m4,m5,m6;
 TextView txt;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        txt=(TextView) findViewById(R.id.textView4);
       
        b1=(Button) findViewById(R.id.button1);
        b2=(Button) findViewById(R.id.button2);
        b3=(Button) findViewById(R.id.button3);
       
        m1=(ImageView) findViewById(R.id.imageView1);
        m2=(ImageView) findViewById(R.id.imageView2);
        m3=(ImageView) findViewById(R.id.imageView3);
        m4=(ImageView) findViewById(R.id.imageView4);
        m5=(ImageView) findViewById(R.id.imageView5);
        m6=(ImageView) findViewById(R.id.imageView6);
       
        b1.setOnClickListener(this);
        b2.setOnClickListener(this);
        b3.setOnClickListener(this);
       
    }

 public void onClick(View v) {
  // TODO Auto-generated method stub
  switch (v.getId()) {
  case R.id.button1:
   if (m5.getVisibility()!=-1||m6.getVisibility()!=-1) {
    m5.setVisibility(-1);
    m6.setVisibility(-1);
   }
   m4.setVisibility(0);
   
   int i;
   i=(int) (Math.random()*3);
   
   if (i==0) {
    if (m2.getVisibility()!=-1||m3.getVisibility()!=-1) {
     m2.setVisibility(-1);
     m3.setVisibility(-1);
    }
    m1.setVisibility(0);
    txt.setText("平局");
   }
   if (i==1) {
    if (m1.getVisibility()!=-1||m3.getVisibility()!=-1) {
     m1.setVisibility(-1);
     m3.setVisibility(-1);
    }
    m2.setVisibility(0);
    txt.setText("我方胜");
   }
   if (i==2) {
    if (m1.getVisibility()!=-1||m2.getVisibility()!=-1) {
     m1.setVisibility(-1);
     m2.setVisibility(-1);
    }
    m3.setVisibility(0);
    txt.setText("敌方胜");
   }
   break;

  case R.id.button2:
   if (m4.getVisibility()!=-1||m6.getVisibility()!=-1) {
    m4.setVisibility(-1);
    m6.setVisibility(-1);
   }
   m5.setVisibility(1);
   
   int j;
   j=(int) (Math.random()*3);
   
   if (j==0) {
    if (m2.getVisibility()!=-1||m3.getVisibility()!=-1) {
     m2.setVisibility(-1);
     m3.setVisibility(-1);
    }
    m1.setVisibility(0);
    txt.setText("敌方胜");
   }
   if (j==1) {
    if (m1.getVisibility()!=-1||m3.getVisibility()!=-1) {
     m1.setVisibility(-1);
     m3.setVisibility(-1);
    }
    m2.setVisibility(0);
    txt.setText("平局");
   }
   if (j==2) {
    if (m1.getVisibility()!=-1||m2.getVisibility()!=-1) {
     m1.setVisibility(-1);
     m2.setVisibility(-1);
    }
    m3.setVisibility(0);
    txt.setText("我方胜");
   }
   break;
   
  case R.id.button3:
   if (m5.getVisibility()!=-1||m4.getVisibility()!=-1) {
    m5.setVisibility(-1);
    m4.setVisibility(-1);
   }
   m6.setVisibility(1);
   
   int k;
   k=(int) (Math.random()*3);
   
   if (k==0) {
    if (m2.getVisibility()!=-1||m3.getVisibility()!=-1) {
     m2.setVisibility(-1);
     m3.setVisibility(-1);
    }
    m1.setVisibility(0);
    txt.setText("我方胜");
   }
   if (k==1) {
    if (m1.getVisibility()!=-1||m3.getVisibility()!=-1) {
     m1.setVisibility(-1);
     m3.setVisibility(-1);
    }
    m2.setVisibility(0);
    txt.setText("敌方胜");
   }
   if (k==2) {
    if (m1.getVisibility()!=-1||m2.getVisibility()!=-1) {
     m1.setVisibility(-1);
     m2.setVisibility(-1);
    }
    m3.setVisibility(0);
    txt.setText("平局");
   }
   break;   
  }
 }
}

 

posted on 2012-07-10 12:33  竹绿  阅读(172)  评论(0)    收藏  举报