| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
9年前发布

Android天天数钱游戏源码

  天天数钱游戏Android源码,很有意思的一款游戏,废话不多说,上源码!






Android天天数钱游戏源码   

天天数钱。基于Android游戏代码

模仿Flash游戏http://www.4399.com/flash/145326_4.htm

源码下载 :http://pan.baidu.com/s/1ntn2Iwx

部分代码 GameView.java

package com.sx.view;         import java.io.IOException;    import java.text.DecimalFormat;    import java.util.ArrayList;    import java.util.Random;    import java.util.Timer;    import java.util.TimerTask;         import android.annotation.SuppressLint;    import android.content.Context;    import android.graphics.Bitmap;    import android.graphics.Matrix;    import android.graphics.drawable.BitmapDrawable;    import android.media.MediaPlayer;    import android.os.Handler;    import android.os.Message;    import android.util.AttributeSet;    import android.view.LayoutInflater;    import android.view.View;    import android.view.View.OnClickListener;    import android.widget.ImageView;    import android.widget.RelativeLayout;    import android.widget.TextView;         import com.daimajia.androidanimations.library.Techniques;    import com.daimajia.androidanimations.library.YoYo;    import com.sx.ttsqian.R;         public class GameView extends RelativeLayout implements OnClickListener {             private TimeInterface jiekou;        private TextView tv_addtime;        private boolean play_music = true;        private float userMony = 0.0F;             public void setInterface(TimeInterface _jiekou) {            this.jiekou = _jiekou;        }             public boolean setMusicState() {            play_music = !play_music;            if (play_music == false) {                     if (mp != null && mp.isPlaying()) {                    mp.pause();                }            } else {                if (mp != null) {                    mp.reset();                    mp.release();                }                mp = MediaPlayer.create(mContext, R.raw.beijing);                mp.setLooping(true);                try {                    mp.prepare();                } catch (IllegalStateException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                } catch (IOException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                }                mp.start();            }                 return play_music;        }             private Techniques[] anim = new Techniques[] { Techniques.ZoomOutRight,                Techniques.ZoomOutLeft, Techniques.ZoomOutUp,                Techniques.ZoomOutDown, Techniques.SlideOutUp, Techniques.FadeOut,                Techniques.FadeOutRight, Techniques.RollOut,                Techniques.RotateOutDownLeft, Techniques.TakingOff };        private ImageView img_1, img_2, img_3, img_4;        private Context mContext;        private LayoutInflater inflater;        private Matrix matrix = new Matrix();        private MediaPlayer mp;        private MediaPlayer mp_great;        private MediaPlayer mp_error;        private float[] price = new float[] { 1.0F, 10.0F, 100.0F, 20.0F, 5.0F,                50.0F, 0.5F, 1.0F, 0.5F, 0.1F, 0.1F, 10.0F, 0.2F, 10.0F };        private int[] picID = new int[] { R.drawable.kagaz_1, R.drawable.kagaz_10,                R.drawable.kagaz_100, R.drawable.kagaz_20, R.drawable.kagaz_5,                R.drawable.kagaz_50, R.drawable.kagaz_5mo, R.drawable.kagaz_kona_1,                R.drawable.kagaz_5motatur, R.drawable.kagaz_1mo,                R.drawable.kagaz_1motatur, R.drawable.kagaz_kona10,                R.drawable.kagaz_2mo, R.drawable.kagaz_10tatur };        private float allPrice = 0.0f;        private int TIME = 45 * 1000;        Timer mTimer;        MyTimerTask mTimerTask;        private TextView tv1, tv2, tv3, tv4;        private ImageView img_good;             @SuppressLint("NewApi")        public GameView(Context context, AttributeSet attrs, int defStyle) {            super(context, attrs, defStyle);            this.mContext = context;            initView();        }             public GameView(Context context, AttributeSet attrs) {            super(context, attrs);            this.mContext = context;            initView();        }             public GameView(Context context) {            super(context);            this.mContext = context;            initView();             }             class MyTimerTask extends TimerTask {            @Override            public void run() {                // TODO Auto-generated method stub                mhandler.sendEmptyMessage(-1);                 }             }             Handler mhandler = new Handler() {            @Override            public void handleMessage(Message msg) {                     try {                    if (msg.what == 1) {                        jiekou.gameOver(userMony);                         } else {                        TIME = TIME - 246;                        if (TIME <= 0) {                            jiekou.updateTime(0);                            mhandler.removeMessages(-1);                            mhandler.sendEmptyMessage(1);                            return;                        }                        jiekou.updateTime(TIME);                        mTimer = new Timer();                        // game over...                        if (mTimer != null) {                            if (mTimerTask != null) {                                mTimerTask.cancel(); // 将原任务从队列中移除                            }                                 mTimerTask = new MyTimerTask(); // 新建一个任务                            mTimer.schedule(mTimerTask, 246);                        }                    }                } catch (Exception ex) {                     }                 }             };             private void initView() {            userMony = 0.0F;            LayoutInflater.from(mContext).inflate(R.layout.gameview, this, true);            mp = MediaPlayer.create(mContext, R.raw.beijing);            mp_great = MediaPlayer.create(mContext, R.raw.great);            mp_error = MediaPlayer.create(mContext, R.raw.shibai);            mp.setLooping(true);            try {                mp.prepare();            } catch (IllegalStateException e) {                // TODO Auto-generated catch block                e.printStackTrace();            } catch (IOException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }            try {                mp_great.prepare();            } catch (Exception ex) {                 }            try {                mp_error.prepare();            } catch (Exception ex) {                 }                  mp.start();            img_1 = (ImageView) findViewById(R.id.img_1);            img_2 = (ImageView) findViewById(R.id.img_2);            img_3 = (ImageView) findViewById(R.id.img_3);            img_4 = (ImageView) findViewById(R.id.img_4);            tv1 = (TextView) findViewById(R.id.tv1);            tv2 = (TextView) findViewById(R.id.tv2);            tv3 = (TextView) findViewById(R.id.tv3);            tv4 = (TextView) findViewById(R.id.tv4);            tv1.setOnClickListener(this);            tv2.setOnClickListener(this);            tv3.setOnClickListener(this);            tv4.setOnClickListener(this);                 img_good = (ImageView) findViewById(R.id.img_good);            tv_addtime = (TextView) findViewById(R.id.txt_addtime);            img_good.setVisibility(View.INVISIBLE);            tv_addtime.setVisibility(View.INVISIBLE);            CreateNewGameView(false);        }             public void CreateNewGameView(boolean isOk) {            if (play_music && isOk) {                mp_great.start();            } else if (play_music && !isOk) {                mp_error.start();            }                 Random r = new Random();            Random r2 = new Random();            int MaxValue = 10;            int index = 0;            allPrice = 0.0f;            index = r.nextInt(picID.length);            Bitmap bitmap = ((BitmapDrawable) getResources().getDrawable(                    picID[index])).getBitmap();            allPrice += price[index];            // 设置旋转角度            int r2_value = r2.nextInt(MaxValue);            if (r2_value % 2 == 0) {                r2_value = r2_value * (-1);            }            matrix.setRotate(r2_value);            // 重新绘制Bitmap                 bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),                    bitmap.getHeight(), matrix, true);            img_1.setImageBitmap(bitmap);            index = r.nextInt(picID.length);            bitmap = ((BitmapDrawable) getResources().getDrawable(picID[index]))                    .getBitmap();            allPrice += price[index];                 // 设置旋转角度            r2_value = r2.nextInt(MaxValue);            if (r2_value % 2 == 0) {                r2_value = r2_value * (-1);            }            matrix.setRotate(r2_value);            // 重新绘制Bitmap            bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),                    bitmap.getHeight(), matrix, true);            img_2.setImageBitmap(bitmap);            index = r.nextInt(picID.length);            bitmap = ((BitmapDrawable) getResources().getDrawable(picID[index]))                    .getBitmap();            allPrice += price[index];            // 设置旋转角度            r2_value = r2.nextInt(MaxValue);            if (r2_value % 2 == 0) {                r2_value = r2_value * (-1);            }            matrix.setRotate(r2_value);            // 重新绘制Bitmap            bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),                    bitmap.getHeight(), matrix, true);            img_3.setImageBitmap(bitmap);            index = r.nextInt(picID.length);            bitmap = ((BitmapDrawable) getResources().getDrawable(picID[index]))                    .getBitmap();            allPrice += price[index];            // 设置旋转角度            r2_value = r2.nextInt(MaxValue);            if (r2_value % 2 == 0) {                r2_value = r2_value * (-1);            }            matrix.setRotate(r2_value);            // 重新绘制Bitmap            bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),                    bitmap.getHeight(), matrix, true);            img_4.setImageBitmap(bitmap);            mhandler.sendEmptyMessageDelayed(-1, 500);            System.out.println("All Price is:" + allPrice);            ArrayList result = getPrice(allPrice);            // allPrice=(float)(Math.round(allPrice*100)/100);            int tv_r_index = r2.nextInt(4);            if (tv_r_index == 0) {                tv1.setText(result.get(0) + "元");                tv2.setText(result.get(1) + "元");                tv3.setText(result.get(2) + "元");                tv4.setText(result.get(3) + "元");            } else if (tv_r_index == 1) {                tv1.setText(result.get(1) + "元");                tv2.setText(result.get(0) + "元");                tv3.setText(result.get(2) + "元");                tv4.setText(result.get(3) + "元");            } else if (tv_r_index == 2) {                tv1.setText(result.get(2) + "元");                tv2.setText(result.get(1) + "元");                tv3.setText(result.get(0) + "元");                tv4.setText(result.get(3) + "元");            } else if (tv_r_index == 3) {                tv1.setText(result.get(3) + "元");                tv2.setText(result.get(1) + "元");                tv3.setText(result.get(2) + "元");                tv4.setText(result.get(0) + "元");            }                 // Random r2=new Random();                 if (isOk) {                img_good.setVisibility(View.VISIBLE);                tv_addtime.setVisibility(View.VISIBLE);                index = r2.nextInt(anim.length);                YoYo.with(anim[index]).duration(800).playOn(img_good);                tv_addtime.setText("+1750");                YoYo.with(Techniques.SlideOutUp).duration(1000).playOn(tv_addtime);            } else {                if (tv_addtime.getVisibility() != View.INVISIBLE) {                    tv_addtime.setText("-750");                    YoYo.with(Techniques.SlideOutUp).duration(1000)                            .playOn(tv_addtime);                }            }        }             private ArrayList getPrice(float price) {                 float price4 = price - 0.1F;            ArrayList result = new ArrayList();            DecimalFormat decimalFormat = new DecimalFormat(".00");// 构造方法的字符格式这里如果小数不足2位,会以0补足.            String p = decimalFormat.format(price);// format 返回的是字符串            System.out.println(p);            StringBuffer buf = new StringBuffer();            for (int i = 0; i < p.length(); i++) {           if (p.charAt(i) != '.' && p.charAt(i) != '0') {                 buf.append(p.charAt(i));            }       }       result.add(p);      String newPrice = buf.toString();       float newfloat = Float.parseFloat(newPrice);        if (newfloat > 400.00F) {                newfloat = newfloat / 100.0F;                newPrice = decimalFormat.format(newfloat);            }            result.add(newPrice);            newPrice = "";            if (buf.length() == 3) {                try {                    newPrice = buf.substring(1, 1) + buf.substring(2)                            + buf.substring(0, 1) + "." + buf.substring(0, 1) + "0";                } catch (Exception ex) {                    System.out.println(ex.getLocalizedMessage());                }            } else if (buf.length() == 2) {                newPrice = buf.substring(1) + (new Random()).nextInt(9)                        + buf.substring(0, 1) + "." + buf.substring(1) + "0";            } else if (buf.length() == 4) {                newPrice = buf.substring(3) + buf.toString().substring(2, 3)                        + buf.substring(0, 1) + "." + buf.substring(1, 1) + "0";            } else {                newPrice = buf.substring(0, 1) + (new Random()).nextInt(9) + "."                        + (new Random()).nextInt(9) + "0";            }            newfloat = Float.parseFloat(newPrice);            if (newfloat > 400.00F) {                newfloat = newfloat / 100.0F;                newPrice = decimalFormat.format(newfloat);            }            result.add(newPrice);            String p4 = decimalFormat.format(price4);            result.add(p4);            return result;        }             public void DestreyView() {            try {                            mhandler.removeMessages(-1);                if(mTimerTask!=null)                {                    mTimerTask.cancel();                }                if (mp != null) {                    mp.reset();                    mp.release();                }                if (mp_great != null) {                    mp_great.release();                    mp_great = null;                }            } catch (Exception ex) {                 }        }             @Override        public void onClick(View arg0) {                 DecimalFormat decimalFormat = new DecimalFormat(".00");// 构造方法的字符格式这里如果小数不足2位,会以0补足.            String p = decimalFormat.format(allPrice);            String selectText = "";            int id = arg0.getId();            if (id > 0) {                switch (id) {                case R.id.tv1:                    selectText = tv1.getText().toString().trim().replace("元", "");                    break;                case R.id.tv2:                    selectText = tv2.getText().toString().trim().replace("元", "");                    break;                case R.id.tv3:                    selectText = tv3.getText().toString().trim().replace("元", "");                    break;                case R.id.tv4:                    selectText = tv4.getText().toString().trim().replace("元", "");                    break;                default:                    break;                }                float newfloat = Float.parseFloat(selectText);                float current = Float.parseFloat(p);                if (newfloat == current) {                    CreateNewGameView(true);                    TIME += 1750;                    userMony += current;                    jiekou.updateMony(userMony);                } else {                    CreateNewGameView(false);                    TIME -= 750;                }            }             }         }  

  源码下载 : http://pan.baidu.com/s/1ntn2Iwx