Android(安卓)开发的猜拳游戏
16lz
2021-01-26
Android开发的猜拳游戏:
1、XML实现的主UI界面代码
在这里也可以用线性布局来实现,总体为水平线性布局,中间的部分用垂直线性布局
后面两个按钮也可以用垂直线性布局!
2、主界面的java代码
package com.Jackson.game;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.CompoundButton;import android.widget.CompoundButton.OnCheckedChangeListener;import android.widget.ImageView;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.TextView;public class Caiquan extends Activity { private RadioGroup radioGroup1,radioGroup; private RadioButton shitouButton1,buButton1,jiandaoButton1; private RadioButton jiandaoButton,buButton,shitouButton; private Button button1,button2; private TextView textview1,textview; private ImageView imageview; private ImageView imageview1; @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_caiquan);textview1=(TextView)findViewById(R.id.textView1);textview=(TextView)findViewById(R.id.game);button1 = (Button) findViewById(R.id.button1);button2 = (Button) findViewById(R.id.button2);button1.setOnClickListener(new ButtonListener());button2.setOnClickListener(new ButtonListener());radioGroup=(RadioGroup)findViewById(R.id.radioGroupId);radioGroup1=(RadioGroup)findViewById(R.id.radioGroupId1);shitouButton1=(RadioButton)findViewById(R.id.radioButton1);buButton1=(RadioButton)findViewById(R.id.radioButton3);jiandaoButton1=(RadioButton)findViewById(R.id.radioButton5);jiandaoButton=(RadioButton)findViewById(R.id.radioButton2);shitouButton=(RadioButton)findViewById(R.id.radioButton4);buButton=(RadioButton)findViewById(R.id.radioButton6);RadioButtonListener Radiolistener = new RadioButtonListener();shitouButton1.setOnCheckedChangeListener(Radiolistener);buButton1.setOnCheckedChangeListener(Radiolistener);jiandaoButton1.setOnCheckedChangeListener(Radiolistener);jiandaoButton.setOnCheckedChangeListener(Radiolistener);shitouButton.setOnCheckedChangeListener(Radiolistener);buButton.setOnCheckedChangeListener(Radiolistener);imageview1 = (ImageView) findViewById(R.id.imageView1);imageview = (ImageView) findViewById(R.id.imageView2); //在这里也可以为findViewById方法和绑定监听器设置两个方法}class RadioButtonListener implements OnCheckedChangeListener{public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {System.out.println("is Checkede---->" +isChecked);}}class ButtonListener implements OnClickListener{@Overridepublic void onClick(View v) {RadioButton radioButtonleft = (RadioButton) findViewById(radioGroup1 .getCheckedRadioButtonId()); String radioTextleft = radioButtonleft.getText().toString();RadioButton radioButtonright = (RadioButton) findViewById(radioGroup .getCheckedRadioButtonId());String radioTextright = radioButtonright.getText().toString();Intent intent= new Intent();intent.setClass(Caiquan.this, Next.class);
//用radioText记录被选中的单选按钮的值,传达到下一个Activityintent.putExtra("checkedleft", radioTextleft);intent.putExtra("checkedright", radioTextright);startActivity(intent);}}public boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.caiquany, menu);return true;}public boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId();if (id == R.id.action_settings) {return true;}return false;}}
3、点击确定后跳转到的下一个界面
<?xml version="1.0" encoding="utf-8"?>
4、下一个界面对应的java代码
package com.Jackson.game;import android.app.Activity;import android.content.DialogInterface;import android.content.DialogInterface.OnClickListener;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;public class Next extends Activity{private TextView textView;private Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.next);button=(Button)findViewById(R.id.button3);button.setOnClickListener((android.view.View.OnClickListener) new ButtonLisener());textView=(TextView)findViewById(R.id.textView1);}class ButtonLisener implements OnClickListener{@Overridepublic void onClick(DialogInterface dialog, int which) { Intent intent = getIntent(); String checkedleft = intent.getStringExtra("checkedleft"); String checkedright = intent.getStringExtra("checkedright"); // 设置View为可见 textView.setVisibility(View.VISIBLE); button.setVisibility(View.VISIBLE); String msg = "左边:" + checkedleft + "\n" + "右边:" + checkedright + "\n"; if (checkedleft.equals(checkedright)) { textView.setText(msg + "平局"); } if (checkedright.equals("石头")) { if (checkedleft.equals("剪刀")) { textView.setText(msg + "右边赢");} else if (checkedleft.equals("布")) {textView.setText(msg + "左边赢"); } } if (checkedright.equals("剪刀")) { if (checkedleft.equals("布")) { textView.setText(msg + "右边赢"); } else if (checkedleft.equals("石头")) { textView.setText(msg + "左边赢"); } } if (checkedright.equals("布")) { if (checkedleft.equals("石头")) { textView.setText(msg + "右边赢"); } else if (checkedleft.equals("剪刀")) { textView.setText(msg + "左边赢"); } }}}}
猜拳游戏的基本思路
1、先设置好基本布局界面
2、思考猜拳的基本形式,怎样判断谁胜谁负?
3、怎样用java代码实现这种形式,要用到那些类?哪些方法?
下载资源请点击:Android 猜拳游戏0积分下载
更多相关文章
- android 动态创建控件并设置布局
- 【个人总结】Android几种常用布局的总结
- [置顶] 【Android】毫无耦合性,一个Item根布局搞定 item侧滑删除
- Android布局绘制常见小问题
- android 布局方式 像素单位
- Android布局管理器-使用LinearLayout实现简单的登录窗口布局
- Android新控件MotionLayout介绍(一)
- android 修改AlertDialog的黑色背景的两种方式及圆角边框的设置
- Android中VideoView播放视频不能充满屏幕以及视频上的view与视频