⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arraylogic.java

📁 一个java的翻牌游戏,类似一个简单的连连看
💻 JAVA
字号:
package com.fanpai.logic;

import java.util.Random;
import com.fanpai.data.DataBean;

class ArrayLogic implements TCLogic {

    //牌的种类总数
    private int numtypes = 5;
    //数据方阵
    private int[] area = null;
    //猜对的次数
    private int hitpoint = 0;
    //随机类
    private Random rd = new Random();

    /**
     * 初始化逻辑
     * @param inputtype int
     */
    public void init(int inputtype) {

        this.numtypes = inputtype;

        //初始化方针
        //方阵大小是种类数的2倍
        this.area = new int[2 * this.numtypes];

        //将种类的两倍随机放入方针中
        for (int i = 1; i <= this.numtypes; i++) {
            this.randputtoarray(i);
            this.randputtoarray(i);
        }
        //清空猜对计数器
        this.hitpoint = 0;

    }

    /**
     * 将某个数据随机放入数组
     */
    private void randputtoarray(int input) {
        //如果方阵不存在,返回
        if (this.area == null) {
            return;
        }
        //取得一个随机值访问数组
        int tindex = 0;
        while (true) {

            tindex = Math.abs(this.rd.nextInt(2 * this.numtypes));
            if (area[tindex] == 0) {

                area[tindex] = input;
                //退出
                break;
            }

        }

    }
    /**
    * 返回数列的长度
    * @return int
    */
    public int length() {
        return this.area.length;
    }
    /**
     * 取得第n个值
     * @param index int
     */
    public int get(int index) {
        return this.area[index];
    }
    /**
     * 判断
     * @param input DataBean 包含2次点击数据的bean
     * @return boolean
     */
    public boolean judge(DataBean input) {

        boolean result = false;

        //如果为空直接返回
        if(input == null)
            return false;
        //如果有一个没有值直接返回假
        if(input.getFirst() == -1 || input.getSecond() == -1)
            return false;

        //判断两个数据是否一致
        result = this.area[input.getFirst()] == this.area[input.getSecond()];

        //如果一致,命中数增加
        if (result) {
            this.hitpoint++;
        }

        return result;

    }

    /**
     * 判断游戏是否结束
     * @return boolean
     */
    public boolean finish() {
        boolean result = this.hitpoint == this.numtypes;
        return result;
    }

    public int getNumtypes() {
        return numtypes;
    }

    public int[] getArea() {
        return area;
    }

    public int getHitpoint() {
        return hitpoint;
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -