欢迎光临散文网 会员登陆 & 注册

开源游戏发布——VC消消乐

2018-11-07 09:46 作者:swiss126  | 我要投稿

应用图标:


应用界面:



游戏说明:

1、用手滑动屏幕,可以让完全相同的虚拟歌手合并

2、当虚拟歌手塞满屏幕时,游戏失败

3、合成10次且屏幕没有塞满即可游戏通关

4、Copyright@swiss126

游戏下载地址:

慕晓资源站:http://www.swiss126.icoc.cc/pd.jsp?id=30&_pp=105_412

百度云:http://pan.baidu.com/s/1bprcGk3

代码及其素材:

activity_main.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    tools:context=".MainActivity"

    android:background="@drawable/bg">

    <LinearLayout

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:gravity="center"

        android:orientation="vertical" >

        <TextView

            android:id="@+id/TextView1"

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:layout_gravity="center_vertical|center_horizontal|center"

            android:gravity="center"

            android:textColor="#000000"

            android:text="游戏得分:"

            android:textSize="30sp" />

        <TableLayout

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:background="#000000" >

            <TableRow

                android:id="@+id/tableRow1"

                android:layout_width="fill_parent"

                android:layout_height="fill_parent"

                android:layout_gravity="center"

                android:gravity="center" >

                <ImageView

                    android:id="@+id/imageView0"

                    android:layout_width="fill_parent"

                    android:layout_height="wrap_content"

                    android:adjustViewBounds="true"

                    android:maxHeight="64dp"

                    android:maxWidth="64dp"

                    android:padding="1dp"

                    android:scaleType="fitCenter"

                    android:src="@drawable/x" />

                <ImageView

                    android:id="@+id/imageView1"

                    android:layout_width="fill_parent"

                    android:layout_height="wrap_content"

                    android:adjustViewBounds="true"

                    android:maxHeight="64dp"

                    android:maxWidth="64dp"

                    android:padding="1dp"

                    android:scaleType="fitCenter"

                    android:src="@drawable/x" />

                <ImageView

                    android:id="@+id/imageView2"

                    android:layout_width="fill_parent"

                    android:layout_height="wrap_content"

                    android:adjustViewBounds="true"

                    android:maxHeight="64dp"

                    android:maxWidth="64dp"

                    android:padding="1dp"

                    android:scaleType="fitCenter"

                    android:src="@drawable/x" />

                <ImageView

                    android:id="@+id/imageView3"

                    android:layout_width="fill_parent"

                    android:layout_height="wrap_content"

                    android:adjustViewBounds="true"

                    android:maxHeight="64dp"

                    android:maxWidth="64dp"

                    android:padding="1dp"

                    android:scaleType="fitCenter"

                    android:src="@drawable/x"  />

            </TableRow>

            <TableRow

                android:id="@+id/tableRow2"

                android:layout_width="fill_parent"

                android:layout_height="fill_parent"

                android:layout_gravity="center"

                android:gravity="center" >

                <ImageView

                    android:id="@+id/imageView4"

                    android:layout_width="fill_parent"

                    android:layout_height="wrap_content"

                    android:adjustViewBounds="true"

                    android:maxHeight="64dp"

                    android:maxWidth="64dp"

                    android:padding="1dp"

                    android:scaleType="fitCenter"

                    android:src="@drawable/x"  />

                <ImageView

                    android:id="@+id/imageView5"

                    android:layout_width="fill_parent"

                    android:layout_height="wrap_content"

                    android:adjustViewBounds="true"

                    android:maxHeight="64dp"

                    android:maxWidth="64dp"

                    android:padding="1dp"

                    android:scaleType="fitCenter"

                    android:src="@drawable/x" />

                <ImageView

                    android:id="@+id/imageView6"

                    android:layout_width="fill_parent"

                    android:layout_height="wrap_content"

                    android:adjustViewBounds="true"

                    android:maxHeight="64dp"

                    android:maxWidth="64dp"

                    android:padding="1dp"

                    android:scaleType="fitCenter"

                    android:src="@drawable/x"  />

                <ImageView

                    android:id="@+id/imageView7"

                    android:layout_width="fill_parent"

                    android:layout_height="wrap_content"

                    android:adjustViewBounds="true"

                    android:maxHeight="64dp"

                    android:maxWidth="64dp"

                    android:padding="1dp"

                    android:scaleType="fitCenter"

                    android:src="@drawable/x"   />

            </TableRow>

            <TableRow

                android:id="@+id/tableRow3"

                android:layout_width="fill_parent"

                android:layout_height="fill_parent"

                android:layout_gravity="center"

                android:gravity="center" >

                <ImageView

                    android:id="@+id/imageView8"

                    android:layout_width="fill_parent"

                    android:layout_height="wrap_content"

                    android:adjustViewBounds="true"

                    android:maxHeight="64dp"

                    android:maxWidth="64dp"

                    android:padding="1dp"

                    android:scaleType="fitCenter"

                    android:src="@drawable/x"  />

                <ImageView

                    android:id="@+id/imageView9"

                    android:layout_width="fill_parent"

                    android:layout_height="wrap_content"

                    android:adjustViewBounds="true"

                    android:maxHeight="64dp"

                    android:maxWidth="64dp"

                    android:padding="1dp"

                    android:scaleType="fitCenter"

                    android:src="@drawable/x" />

                <ImageView

                    android:id="@+id/imageView10"

                    android:layout_width="fill_parent"

                    android:layout_height="wrap_content"

                    android:adjustViewBounds="true"

                    android:maxHeight="64dp"

                    android:maxWidth="64dp"

                    android:padding="1dp"

                    android:scaleType="fitCenter"

                    android:src="@drawable/x"  />

                <ImageView

                    android:id="@+id/imageView11"

                    android:layout_width="fill_parent"

                    android:layout_height="wrap_content"

                    android:adjustViewBounds="true"

                    android:maxHeight="64dp"

                    android:maxWidth="64dp"

                    android:padding="1dp"

                    android:scaleType="fitCenter"

                    android:src="@drawable/x"  />

            </TableRow>

            <TableRow

                android:id="@+id/tableRow4"

                android:layout_width="fill_parent"

                android:layout_height="fill_parent"

                android:layout_gravity="center"

                android:gravity="center" >

                <ImageView

                    android:id="@+id/imageView12"

                    android:layout_width="fill_parent"

                    android:layout_height="wrap_content"

                    android:adjustViewBounds="true"

                    android:maxHeight="64dp"

                    android:maxWidth="64dp"

                    android:padding="1dp"

                    android:scaleType="fitCenter"

                    android:src="@drawable/x" />

                <ImageView

                    android:id="@+id/imageView13"

                    android:layout_width="fill_parent"

                    android:layout_height="wrap_content"

                    android:adjustViewBounds="true"

                    android:maxHeight="64dp"

                    android:maxWidth="64dp"

                    android:padding="1dp"

                    android:scaleType="fitCenter"

                    android:src="@drawable/x"  />

                <ImageView

                    android:id="@+id/imageView14"

                    android:layout_width="fill_parent"

                    android:layout_height="wrap_content"

                    android:adjustViewBounds="true"

                    android:maxHeight="64dp"

                    android:maxWidth="64dp"

                    android:padding="1dp"

                    android:scaleType="fitCenter"

                    android:src="@drawable/x"  />

                <ImageView

                    android:id="@+id/imageView15"

                    android:layout_width="fill_parent"

                    android:layout_height="fill_parent"

                    android:adjustViewBounds="true"

                    android:maxHeight="64dp"

                    android:maxWidth="64dp"

                    android:padding="1dp"

                    android:scaleType="fitCenter"

                    android:src="@drawable/x" />

            </TableRow>

        </TableLayout>

        <TextView

            android:text="游戏说明:\n1、用手滑动屏幕,可以让完全相同的虚拟歌手合并\n2、当虚拟歌手塞满屏幕时,游戏失败\n3、合成10次且屏幕没有塞满即可游戏通关\n4、Copyright@swiss126"

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:textColor="#000000"

            android:id="@+id/textView" />

    </LinearLayout>

</RelativeLayout>

AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="com.swiss126.myapp"

    android:versionCode="1"

    android:versionName="1.0" >

    <uses-sdk

        android:minSdkVersion="8"

        android:targetSdkVersion="16" />

    <application

        android:allowBackup="true"

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name"

        android:theme="@style/AppTheme" >

        <activity

            android:name=".MainActivity"

            android:screenOrientation="portrait"

            android:label="@string/app_name" >

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

    </application>

</manifest>

MainActivity.java:

package com.swiss126.myapp;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.Dialog;

import android.content.DialogInterface;

import android.content.res.Resources;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.MotionEvent;

import android.widget.ImageView;

import android.widget.TextView;

import android.widget.Toast;

public class MainActivity extends Activity {

ImageView img[];

TextView tv;

int Score;

int a[][];

int t[][];

//手指按下的点为(x1, y1)手指离开屏幕的点为(x2, y2)

float x1 = 0;

float x2 = 0;

float y1 = 0;

float y2 = 0;

int temp=1;

int x, y;

protected void dialog() {

 AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);

 builder.setMessage("恭喜你,你的得分是:"+Score+"分!\n是否再来一次?");

 builder.setTitle("游戏结束");

 builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {

  @Override

 public void onClick(DialogInterface dialog, int which) {

  dialog.dismiss();

  Score=0;

  for(int i=0;i<4;i++) {

  for (int j = 0; j < 4; j++) {

  a[i][j]=0;

  }

  }

  }

 });

 builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {

 @Override

  public void onClick(DialogInterface dialog, int which) {

   dialog.dismiss();

 MainActivity.this.finish();

  }

 });

 builder.create().show();

}

int judge()

{

int i,j;

for(i=0;i<4;i++) {

for (j = 0; j < 4; j++) {

if (a[i][j] == 0) return 0;

}

}

return 1;

}

private void ReDraw()

{

tv.setText("游戏得分:"+Score);

Resources res = getResources();

do {

x = (int) (Math.random() * 4);

y = (int) (Math.random() * 4);

}while (a[x][y]!=0);

a[x][y] = (Math.random() * 2) >= 1 ? 4 : 2;

for (int i = 0; i < 16; i++) {

switch (a[i/4][i%4]) {

case 0:

img[i].setImageDrawable(getResources().getDrawable(R.drawable.x));

break;

case 2:

img[i].setImageDrawable(getResources().getDrawable(R.drawable.p0));

break;

case 4:

img[i].setImageDrawable(getResources().getDrawable(R.drawable.p1));

break;

case 8:

img[i].setImageDrawable(getResources().getDrawable(R.drawable.p2));

break;

case 16:

img[i].setImageDrawable(getResources().getDrawable(R.drawable.p3));

break;

case 32:

img[i].setImageDrawable(getResources().getDrawable(R.drawable.p4));

break;

case 64:

img[i].setImageDrawable(getResources().getDrawable(R.drawable.p5));

break;

case 128:

img[i].setImageDrawable(getResources().getDrawable(R.drawable.p6));

break;

case 256:

img[i].setImageDrawable(getResources().getDrawable(R.drawable.p7));

break;

case 512:

img[i].setImageDrawable(getResources().getDrawable(R.drawable.p8));

break;

case 1024:

img[i].setImageDrawable(getResources().getDrawable(R.drawable.p9));

break;

default:

img[i].setImageDrawable(getResources().getDrawable(R.drawable.p9));

dialog();

break;

}

}

for(int i=0;i<4;i++) {

for (int j = 0; j < 4; j++) {

t[i][j]=0;

}

}

}

@Override

public boolean onTouchEvent(MotionEvent event) {

int f=judge();

if(f!=0)dialog();

//继承了Activity的onTouchEvent方法,直接监听点击事件

if (event.getAction() == MotionEvent.ACTION_DOWN) {

//当手指按下的时候

x1 = event.getX();

y1 = event.getY();

}

if (event.getAction() == MotionEvent.ACTION_UP) {

//当手指离开的时候

x2 = event.getX();

y2 = event.getY();

int i;

if (y1 - y2 > 50) {

//Toast.makeText(MainActivity.this, "向上滑", Toast.LENGTH_SHORT).show();

for(x=0;x<4;x++)

{

for(y=0,i=0;y<4;y++)if(a[y][x]!=0){t[i][x]=a[y][x];i++;}

for(i=0;i<3;i++)if(t[i][x]==t[i+1][x]){t[i][x]+=t[i+1][x];Score+=t[i+1][x];t[i+1][x]=0;}

for(y=0,i=0;y<4;y++){a[y][x]=0;if(t[y][x]!=0){a[i][x]=t[y][x];i++;}}

}

ReDraw();

} else if (y2 - y1 > 50) {

//Toast.makeText(MainActivity.this, "向下滑", Toast.LENGTH_SHORT).show();

for(x=0;x<4;x++)

{

for(y=3,i=3;y>=0;y--)if(a[y][x]!=0){t[i][x]=a[y][x];i--;}

for(i=3;i>0;i--)if(t[i][x]==t[i-1][x]){t[i][x]+=t[i-1][x];Score+=t[i-1][x];t[i-1][x]=0;}

for(y=3,i=3;y>=0;y--){a[y][x]=0;if(t[y][x]!=0){a[i][x]=t[y][x];i--;}}

}

ReDraw();

} else if (x1 - x2 > 50) {

//Toast.makeText(MainActivity.this, "向左滑", Toast.LENGTH_SHORT).show();

for(y=0;y<4;y++)

{

for(x=0,i=0;x<4;x++)if(a[y][x]!=0){t[y][i]=a[y][x];i++;}

for(i=0;i<3;i++)if(t[y][i]==t[y][i+1]){t[y][i]+=t[y][i+1];Score+=t[y][i+1];t[y][i+1]=0;}

for(x=0,i=0;x<4;x++){a[y][x]=0;if(t[y][x]!=0){a[y][i]=t[y][x];i++;}}

}

ReDraw();

} else if (x2 - x1 > 50) {

//Toast.makeText(MainActivity.this, "向右滑", Toast.LENGTH_SHORT).show();

for(y=0;y<4;y++)

{

for(x=3,i=3;x>=0;x--)if(a[y][x]!=0){t[y][i]=a[y][x];i--;}

for(i=3;i>0;i--)if(t[y][i]==t[y][i-1]){t[y][i]+=t[y][i-1];Score+=t[y][i-1];t[y][i-1]=0;}

for(x=3,i=3;x>=0;x--){a[y][x]=0;if(t[y][x]!=0){a[y][i]=t[y][x];i--;}}

}

ReDraw();

}

}

return super.onTouchEvent(event);

}

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Resources res = getResources();

a = new int[4][4];

t = new int[4][4];

img = new ImageView[16];

tv = (TextView) this.findViewById(R.id.TextView1);

for (int i = 0; i < 16; i++) {

int id = res.getIdentifier("imageView" + i, "id", getPackageName());

img[i] = (ImageView) findViewById(id);

}

ReDraw();

}

}

strings.xml:

<?xml version="1.0" encoding="utf-8"?>

<resources>

    <string name="app_name">VC消消乐</string>

</resources>

styles.xml:

<resources>

    <!--

        Base application theme, dependent on API level. This theme is replaced

        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.

    -->

    <style name="AppBaseTheme" parent="">

        <!--

            Theme customizations available in newer API levels can go in

            res/values-vXX/styles.xml, while customizations related to

            backward-compatibility can go here.

        -->

    </style>

    <!-- Application theme. -->

    <style name="AppTheme" parent="AppBaseTheme">

        <!-- All customizations that are NOT specific to a particular API-level can go here. -->

    </style>

</resources>

其他素材:

http://pan.baidu.com/s/1bprcGk3



开源游戏发布——VC消消乐的评论 (共 条)

分享到微博请遵守国家法律