1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android小游戏源码拼图 android编写的数字拼图游戏(带详细注释)

android小游戏源码拼图 android编写的数字拼图游戏(带详细注释)

时间:2021-11-17 01:49:22

相关推荐

android小游戏源码拼图 android编写的数字拼图游戏(带详细注释)

【实例简介】自己正在学android,编写了一个简单的数字拼图游戏,有详细注释,适合初学者参考使用,比较简单易懂

【实例截图】

【核心代码】

package com.tsu;

import java.util.ArrayList;

import java.util.Collections;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;

public class Test3 extends Activity {

/** Called when the activity is first created. */

Button b[]=new Button[9]; //游戏按钮数组

Button start; //开始按钮

Button n; //用来保存显示为空的按钮

OnClickListener o1=null; //开始按钮的事件监听器

OnClickListener o2=null; //游戏按钮的事件监听器

TextView show; //信息显示组件

int counter=0; //计数器

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

setTitle("数字拼图游戏—测试版");

start=(Button)findViewById(R.id.start); //根据id获取各个组件

b[0]=(Button)findViewById(R.id.b0);

b[1]=(Button)findViewById(R.id.b1);

b[2]=(Button)findViewById(R.id.b2);

b[3]=(Button)findViewById(R.id.b3);

b[4]=(Button)findViewById(R.id.b4);

b[5]=(Button)findViewById(R.id.b5);

b[6]=(Button)findViewById(R.id.b6);

b[7]=(Button)findViewById(R.id.b7);

n=b[8]=(Button)findViewById(R.id.b8);

show=(TextView)findViewById(R.id.show);

o1=new OnClickListener(){ //开始按钮事件监听

public void onClick(View v)

{

ArrayList al=new ArrayList(); //一个集合类用来保存显示的数字

for(int i=1;i<9;i )

{

al.add(i); //把1-8的数字保存在容器中

}

Collections.shuffle(al); //利用shuffle方法打乱容器中数字的顺序

for(int i=0;i<8;i )

{

b[i].setText("" al.get(i)); //把乱序的数字放置在各个游戏按钮上

}

b[8].setText(""); //最后一个按钮显示为空字符

n=b[8]; //记住空按钮的位置

counter=0; //计数器设置为0

show.setText("" counter); //显示计数

}

};

o2=new OnClickListener(){

public void onClick(View v)

{

Button t=(Button)v; //获取被点击的按钮

if(t==b[0]) //根据不同的按钮来判断相应的按钮

{

if(n==b[1]||n==b[3])

{

swap(t);

}

}

else if(t==b[1])

{

if(n==b[0]||n==b[2]||n==b[4])

{

swap(t);

}

}

else if(t==b[2])

{

if(n==b[1]||n==b[5])

{

swap(t);

}

}

else if(t==b[3])

{

if(n==b[0]||n==b[6]||n==b[4])

{

swap(t);

}

}

else if(t==b[4])

{

if(n==b[1]||n==b[3]||n==b[5]||n==b[7])

{

swap(t);

}

}

else if(t==b[5])

{

if(n==b[2]||n==b[8]||n==b[4])

{

swap(t);

}

}

else if(t==b[6])

{

if(n==b[3]||n==b[7])

{

swap(t);

}

}

else if(t==b[7])

{

if(n==b[6]||n==b[8]||n==b[4])

{

swap(t);

}

}

else if(t==b[8])

{

if(n==b[5]||n==b[7])

{

swap(t);

}

}

}

};

start.setOnClickListener(o1); //给开始按钮添加事件监听

for(int i=0;i<9;i )

{

b[i].setOnClickListener(o2); //给9个游戏按钮

}

}

public void swap(Button t) //交换方法,用来把点击的按钮和空按钮进行交换显示的文字

{

n.setText(t.getText());

t.setText("");

n=t;

show.setText("" ( counter));

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。