「java小型rpg」java小型薪资管理系统代码

博主:adminadmin 2022-11-25 12:37:08 64

今天给各位分享java小型rpg的知识,其中也会对java小型薪资管理系统代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

求一个简单RPG游戏的代码,JAva编写的

package com.lxi;

import java.io.BufferedReader;

import java.io.InputStreamReader;

public class Rpg {

    @SuppressWarnings("unchecked")

    public static void main(String[] args) throws Exception {

        System.out.println("在这里输入两个人物进行PK,以英文逗号分隔: [BM,DH,MK]");

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        ClassPerson c1;

        ClassPerson c2;

        try {

            String temp = br.readLine();

            String[] str = temp.split(",");

            if (str.length != 2) {

                throw new Exception("输入格式有误,按默认PK");

            }

            c1 = (ClassPerson) Class.forName("com.lxi."

                    + str[0].toUpperCase());

            c2 = (ClassPerson) Class.forName("com.lxi."

                    + str[1].toUpperCase());

        } catch (Exception e) {

            // TODO Auto-generated catch block

            c1 = (ClassPerson) Class.forName("com.lxi.BM");

            c2 = (ClassPerson) Class.forName("com.lxi.DH");

        }

        try {

            Person p1 = c1.newInstance();

            Person p2 = c2.newInstance();

            long time = System.currentTimeMillis();

            long nextTime1 = (long) (time + p1.coldTime*1000); //

            long nextTime2 = (long) (time + p2.coldTime*1000); //发动攻击的时间

            System.out.println("---游戏开始---");

            while (true) {

                long currenTime = System.currentTimeMillis();

 

                if (nextTime1  currenTime) {  //时间到则发动攻击

                    p1.hit(p2);

                    nextTime1 += p1.coldTime*1000 + p1.waitTime*1000; //下次攻击时间=冷却时间+被晕眩时间

                    p1.waitTime = 0;  //回合结束,重置被晕眩时间为0

                }

                if (nextTime2  currenTime) {

                    p2.hit(p1);

                    nextTime2 += p2.coldTime*1000 + p2.waitTime*1000;

                    p2.waitTime = 0;

                }

            }

        } catch (ClassCastException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        } catch (InstantiationException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        } catch (IllegalAccessException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

}

package com.lxi;

import java.util.Random;

class BM extends Person {

    public BM() {

        val = 650;

        coldTime = 1.5;

        fight = 40;

        chanceHit = 3;

        chanceDefense = 3;

        waitTime = 0;

    }

 

    int count = 0;   //防御技能发动的次数

    int temp = 40;   //攻击力,值同fight

    boolean hitFlag = false;

    boolean defenseFlag = false;

    Random rand = new Random();

 

    public void hit(Person p) {

        if (rand.nextInt(10)  chanceHit) {

            fight = fight * 2;   //发动双倍攻击

            hitFlag = true;

        }

        int hurt = p.defense(this);

        p.val = p.val - hurt;

        fight = temp;     //还原为单倍攻击

        if (p.val = 0) {

            System.out.println(this.getClass().getSimpleName() + "胜出!");

            System.exit(0);

        }

        System.out.println(this.getClass().getSimpleName() + "攻击"

                + p.getClass().getSimpleName() + ","

                + this.getClass().getSimpleName()

                + (this.hitFlag ? "发动攻击技能   " : "未发动攻击技能   ")

                + p.getClass().getSimpleName()

                + (this.defenseFlag ? "发动防御技能   " : "未发动防御技能   ")

                + this.getClass().getSimpleName() + ":" + this.val + ","

                + p.getClass().getSimpleName() + ":" + p.val);

        hitFlag = false;

        defenseFlag = false;

    }

 

    public int defense(Person p) {

        if (rand.nextInt(10)  chanceDefense) {

            if (count != 0) {

                p.val = p.val - p.fight;

                count++;

                defenseFlag = true;

                if (p.val = 0) {

                    System.out.println(this.getClass().getSimpleName() + "胜出!");

                    System.exit(0);

                }

            }

        }

        return p.fight;

    }

}

 

class MK extends Person {

    public MK() {

        val = 700;

        coldTime = 2.5;

        fight = 50;

        chanceDefense = 6;

        chanceHit = 3;

        waitTime = 0;

    }

 

    boolean hitFlag = false;

    boolean defenseFlag = false;

    Random rand = new Random();

 

    public void hit(Person p) {

        if (rand.nextInt(10)  chanceHit) {

            p.waitTime = 3;   //使对方晕眩3s

            hitFlag = true;

        }

        int hurt = p.defense(this);

        p.val = p.val - hurt;

        if (p.val = 0) {

            System.out.println(this.getClass().getSimpleName() + "胜出!");

            System.exit(0);

        }

        System.out.println(this.getClass().getSimpleName() + "攻击"

                + p.getClass().getSimpleName() + ","

                + this.getClass().getSimpleName()

                + (this.hitFlag ? "发动攻击技能   " : "未发动攻击技能   ")

                + p.getClass().getSimpleName()

                + (this.defenseFlag ? "发动防御技能   " : "未发动防御技能   ")

                + this.getClass().getSimpleName() + ":" + this.val + ","

                + p.getClass().getSimpleName() + ":" + p.val);

        hitFlag = false;

        defenseFlag = false;

    }

 

    public int defense(Person p) {

        if (rand.nextInt(10)  chanceDefense) {

            defenseFlag = true;

            return p.fight / 2;   //防御技能发动,伤害减半

        }

        return p.fight;

    }

}

package com.lxi;

 

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.util.Random;

 

//三个人物的基类

abstract class Person {

    int val;             //生命值

    double coldTime;     //冷却时间

    int waitTime;        //晕眩时间

    int fight;          //攻击力

    int chanceHit;      //发起主动技能的概率

    int chanceDefense;  //发起防御技能的概率

 

    abstract void hit(Person p);   //攻击技能

 

    abstract int defense(Person p); //防御技能,返回被伤害点数

}

 

class DH extends Person {

    public DH() {

        val = 600;

        coldTime = 1.0;

        fight = 30;

        chanceHit = 3;      //表示30%的概率

        chanceDefense = 3;

        waitTime = 0;

    }

 

    Random rand = new Random();

    boolean hitFlag = false;      //主动技能发动的标识

    boolean defenseFlag = false;  //防御技能发动的标识

 

    public void hit(Person p) {

        if (rand.nextInt(10)  chanceHit) {  //发动主动技能

            int hurt = p.defense(this);

            p.val = p.val - hurt;

            if (p.val = 0) {

                System.out.println(this.getClass().getSimpleName() + "胜出!");

                System.exit(0);

            }

            val = val + hurt;

            if (val  600)

                val = 600;

            hitFlag = true;     //标记主动技能已经发动

        } else {  //进行普通攻击

            int hurt = p.defense(this);

            p.val = p.val - hurt;

            if (p.val = 0) {

                System.out.println(this.getClass().getSimpleName() + "胜出!");

                System.exit(0);

            }

        }

        System.out.println(this.getClass().getSimpleName() + "攻击"

                + p.getClass().getSimpleName() + ","

                + this.getClass().getSimpleName()

                + (this.hitFlag ? "发动攻击技能   " : "未发动攻击技能   ")

                + p.getClass().getSimpleName()

                + (this.defenseFlag ? "发动防御技能   " : "未发动防御技能   ")

                + this.getClass().getSimpleName() + ":" + this.val + ","

                + p.getClass().getSimpleName() + ":" + p.val);

        hitFlag = false;     //

        defenseFlag = false; //重置标记,下次重用

    }

 

    public int defense(Person p) {

        if (rand.nextInt(10)  chanceDefense) {

            defenseFlag = true;   //标记防御技能已经发动

            return 0;

        } else {

            return p.fight;

        }

    }

}

如何制作rpg游戏

游戏制作一般主要分为两大块,即程序开发、美术设计。程序开发主要包括服务器端开发、客户端开发。而美术设计包括场景、角色、次时代、特效、动画等部分,要完成一个优秀的游戏作品,每一部分都需有专业人才负责。

对于大型的游戏,一般需要几十个人的团队制作几年;而小游戏则可能只需一个人制作几天。一般的大型游戏制作都会由游戏开发公司来完成,小型的游戏则有可能由业余团队或者个人完成,如RPG制作大师此类软件就可以让不懂技术的人做出电脑游戏。

游戏程序开发

游戏程序开发主要负责游戏程序开发,这一块是人才缺口相对比较少的,因为各高校都开设有c/c++、java等专业,如今国内从事软件开发的人才需求比较大,人才输出也同样比较大。

游戏策划

游戏策划通常定位为游戏产品经理 [2] ,属于综合性比较强的岗位,主要负责游戏需求的调研与分析,游戏业务模型建立,游戏创意设计、游戏原型制作等工作,需要经常与游戏整个部门的人沟通。

游戏运营

主要负责游戏的日常运营工作,数据分析工作,游戏推广和活动策划工作,同样,一名好的游戏运营,需要有丰富的游戏经验,然后才能开展工作,要熟悉行业的一些重要指标,比如PCU、ACU\\ARPU\\渗透率等等,熟悉游戏的盈利模式。

游戏美术

游戏美术涉及到好几个范畴 [3] :游戏规则及玩法、视觉艺术、编程、产品化、声效、编剧、角色、道具、场景、界面以上的元素都是一个游戏设计专案所需要的。游戏设计者常常专攻于某一种特定的游戏类型,例如桌面游戏、卡片游戏或者视频游戏等。

对于游戏发展而言,国内高校基本没有相关技术的指导,基本依靠网络社区论坛交流,自己学习来掌握一些基本的游戏制作技巧,就算如此,国内的游戏制作专业人员,以前也大多都是纯技术出身,在从业前基本没有实战经验吗,而且也缺乏创意,从而造成大多国内游戏是以模仿抄袭为主。2000年后,国内诞生了不少游戏制作基地,专门指导学习游戏制作,包括四维梦工场、创想时代在内的一些具有实际指导意义的游戏制作基地,为国内的游戏制作人才提供了不少新鲜血液。

推荐些经典的JAVA手机游戏,要RPG的

[角色类]Q版龙珠-西游 [角色类]恶魔的法则-圣战 [角色类]七界玄魔-真龙觉醒 [角色类]丧尸危机-全城爆发 [角色类]幽情幻剑录-横扫天下 楼主可以去155手游天下JAVA专区,按照排行,或人气下载就可以了。

想制作小型游戏需要具备什么知识?

1 学习好c/c++、java这两个程序语言你就可以开发出自己制作的 游戏 、并找 游戏 发行商高价卖出了~可以先学习c++ primer plus这本书很权威教.内容是从c语言的基础讲起介绍.然后在C语言的基础上详细描述了c++新增的特性与知识,所以并不需要初学者脑子里拥有过多对C程序语言方面的背景基础知识和了解.

2 c primer plus和c++ primer plus两套书都是c程序语言原著度最高的书籍的权威书籍,建议新手现买一本c++ primer plus看看。里面都是从最基础的专业词语开始详尽的介绍有关c程序语言的,从简到难一步步提升为难度系数大的c++编程语言。非常适合初学者拿来巩固知识和自学.

3 制作 游戏 说到底就是小 游戏 学过c++ 编程语言的人轻易制作几款小型 游戏 ;画面感真实流畅的没什么难度!但是大型 游戏 是一个人没有经历和时间做出来的‘;其中需要包括 游戏 画面处理的美工、编写程序的人、 游戏 音效制作人、和最终测试发行的人员等等

4 游戏 的制作到开发出完整的 游戏 数据,对于 游戏 的要求、大小和类别不同投入的精力人员也不同.比如现在由于智能手机的普及安卓 游戏 非常受到年轻人的欢迎~对于这类小型 游戏 的制作,一个学过c++的人就能非常轻松的制作出一款精美的;神庙逃亡’;难度系数再大一些的就是高大5、6G的单机 游戏 了类如星际边界等等,非常耗费时间需要连日奋斗半年多时间甚至更久。最后就是网络 游戏 需要几十个人组成团队才能开发出一款画面优美流畅的的大型网游

5 用RPG制作大师等此类软件就可以让不懂技术的人制作出电脑 游戏 .

从 游戏 制作的角度看,最重要的三个工种就是程序、美术、策划,分别对应代码实现、美术设计、玩法设计。如果想要一个人制作小型 游戏 的话,也就是独立 游戏 的话,需要具备以下知识:

开发 游戏 的第一步就是要掌握一些制作 游戏 的工具,注意是制作 游戏 而非 游戏 素材。通常来说制作 游戏 需要的就是 游戏 引擎,现在很多 游戏 引擎都可以个人免费使用,像ue4、unity、cocos这些引擎都比较方便。使用引擎还有一点好处是其中包含了很多插件和常用模板,这样开发者就不用花时间从零开始做一些特别基础的部分了。

游戏 引擎的使用是最重要的,也就是如何将其他部分结合起来的一个工厂,无论是自行设计还是东拼西凑,都是要在 游戏 引擎中将所有内容关联,然后打包出来。主机平台就打包成主机版本,手机平台就打包成手机版本,PC平台就打包成PC版本。

游戏 都是一个个功能结合的产物,每一个功能都是需要进行设计实现的,通常来说就要学习计算机语言去实现功能,也就是编程。不同的开发环境(引擎)使用不同的编程语言,例如ue4引擎使用C++开发,unity使用C#开发(也可以用js),所以通常是要学习一门编程语言的。即便是实现最简单的移动,也得明确地告诉计算机:哪个按键往哪个方向移动,速度是多少。

如果不会编程的话,也是有办法的。像ue4有蓝图功能,可以在不编程的情况下制作 游戏 功能,unity也是有一些插件允许玩家拖拖点点实现一些基础功能,像RPGMaker这种也能通过配置制作出 游戏 。但是要注意,这些方式的能力还是有限的,也就是必须在这些功能的范围内,如果想要实现一些自身不支持的功能,那么还是要靠自己编程。

美术资源是 游戏 的外观表现,这个真的需要一定的艺术细胞了,不是随随便便学就能短时间学明白的,灵感有时候比理论更加难。如果是做2D 游戏 ,那么需要考虑怎么绘制图片,如果是做3D 游戏 ,那么还要考虑如何制作 游戏 模型。

不过现在网上和 游戏 引擎的官方商店也会提供一些付费或者免费的美术资源,如果有喜欢的或者可以凑合用的,也是完全可以拿过来直接用的。等到 游戏 真的有一定成果时,再付费外包一些美术团队制作,然后把资源替换一下也是可以的。

网上也有很多工具,最常见的PS可以进行图片处理,3DMAX可以建模,有一些软件还能够制作像素图片和模型,如果有能力的话,可以学一学,自己做点自己喜欢的东西,加入到 游戏 中。

想要制作 游戏 ,那么一定要清楚要做成什么样的 游戏 ,也就是非常非常详细的规划,一般叫做系统文档。比如FC红白机上的《坦克大战》就需要考虑很多细节问题:

1.玩家是否可以双人,每个玩家的颜色是什么,玩家可以强化几个阶段

2.有哪些强化道具

3.敌人分为几种,每种是什么样子,移动速度多少,子弹速度多少,移动轨迹采用什么方式,是否可以拾取道具,每局每种敌人数量与出生位置

4.地图如何设计,一共有几种元素,什么元素允许子弹穿透,什么元素允许子弹破坏,什么元素阻挡角色

5. 游戏 成功失败的判定方式

等等

如果连 游戏 的设计环节都想不明白的话,就没有必要往下做了,因为很有可能做着做着就蒙了,越做越乱。虽然有些设计确实是在制作的过程中产生的灵感,但是灵感也要进行再三思考,绝对不能想什么就加什么,不然最后就失去初衷了。

一般来说 游戏 都是需要音乐和音效的。音乐是指时间较长的BGM,音效指示时间较短的音乐片段,如《超级马里奥兄弟》中踩到乌龟的声音,吃到蘑菇的声音,吐火球的声音等等。

虽然音乐和音效并不是必须的,但是有音乐和音效往往会让 游戏 更加吸引人,除非 游戏 的玩法决定其中就没有音乐和音效,否则至少要有一些基本的,例如点击确定的音效,成功失败的音效,背景音乐至少也要 有一个BGM。

制作音乐和音效的工具网上也有,当然也可以从某些地方进行取材,或者直接使用一些免费或者付费的资源也是可以的。

如果不提 游戏 的优化的话,不考虑各种屏幕适配,不打算为以后版本更新的话,目前这些知识已经可以做出一款基本 游戏 了, 游戏 的体量就看 游戏 的设计复杂度了。

编程方面:

完全零基础的话,推荐使用rpg maker XP作为开发引擎。

66rpg资料网站内容非常全了。

目前来说XP的资源,教程和范例都比较多

如果是自己第一次做RPG,要从小型的剧本开始做起。

文案方面:

首先要有一个剧本。在入手制作RPG的时候,可以先从一个简单的故事开始入手,制作的时候熟悉制作软件的功能。RPG maker XP功能已经非常强大,需要做的就是多试,多看,找资源。

美工方面:

零基础也能做,现在信息大爆炸时代网上素材很多,多留心多活用。

下面是几个简单制作 游戏 的视频:

教程

游戏 开发分为设计、程序和美工

讲讲 游戏 编程需要的知识吧:

1。扎实的程序语言功底,主要代表为VC、DELPHI和JAVA。其中VC使用最广,现在比较大的 游戏 也由此开发;DELPHI功能也很强,很多网游:比如网金、传奇都用到了DELPHI;JAVA用于开发手机 游戏 。

2。扎实的算法知识。主要有:树或图的搜索算法、A*算法、碰撞检测算法、BSP树、人工智能

3。相关图形处理知识。比如:Direct X编程、OpenGL编程、图形学的相关知识(三维图形的形体、纹理、贴图、照明,还有三维对象的消隐算法比如油画算法,Z缓存)和动画处理知识。如果想深入还要学会几种三维引擎比如OGRE

4。跟 游戏 优化相关的知识。比如数据库、内存管理等。

对 游戏 的

制作 游戏 需要具备哪些知识?

制作 游戏 需要具备哪些知识?

优秀的 游戏 制作人需要具备哪些知识 知乎

我来答共1条回答

爱就一个字知道合伙人 游戏 行家2017-11-03

制作人是一个需要大量经验和实践的管理职位,但我认为好的制作人除了具备团队管理的经验和能力之外,首先应该是一个好的 游戏 策划或者主策划,是一个能把握产品方向的人,所以,我觉得更应该了解,一个优秀的 游戏 主策划应该具备怎样的素质和能力。

因为工作中需要大量招聘,所以我一直再认真思考这个问题:怎样的人,才是在 游戏 策划这个领域具备发展潜力和成长优势的。

互娱多年来从校园招聘了大量的毕业生到 游戏 策划岗位培养,毕业生相对与社招员工来说,没有职场经历,也没有受过任何 游戏 相关领域的培训,可以说职业起点差不多,基本都是一张白纸。因此是很好的观察对象。

在观察了数百位的策划毕业生的成长状况之后,我发现了一些现象。首先,成长最快的,往往不是在面试时候表现出来对各种 游戏 最了解和 游戏 经历最资深的,也往往不是学习成绩最好或者专业成就最高的,至少在学习和 游戏 方面取得的成就经验没有明显和他们未来在职场的发展潜力紧密相关。

游戏 开发分为设计、程序和美工讲讲 游戏 编程需要的知识吧:1。扎实的程序语言功底,主要代表为VC、DELPHI和JAVA。其中VC使用最广,现在比较大的 游戏 也由此开发;DELPHI功能也很强,很多网游:比如网金、传奇都用到了DELPHI;JAVA用于开发手机 游戏 。2。扎实的算法知识。主要有:树或图的搜索算法、A*算法、碰撞检测算法、BSP树、人工智能3。相关图形处理知识。比如:Direct X编程、OpenGL编程、图形学的相关知识(三维图形的形体、纹理、贴图、照明,还有三维对象的消隐算法比如油画算法,Z缓存)和动画处理知识。如果想深入还要学会几种三维引擎比如OGRE4。跟 游戏 优化相关的知识。比如数据库、内存管理等。5。想做 游戏 可不是件容易的事,最重要的:要有毅力,要能不断学习!祝你成功。

网页单机小 游戏 ,p5.js试试。

编程,代码设计,网页设计

编程

求一款角色扮演java,可以采集药,

索迪亚之风。号称史上最强的RPG。游戏有三种角色供扮演,分别使用双手大剑,枪,单手剑。能带两个精灵,精灵附加3种技能。索迪亚之风。属性加点,武器打造。采药,游戏采用倒叙的方式。

求java rpg小游戏源代码 最好是文字rpg 不需要很复杂 只是交作业用

连连看的小源码

package Lianliankan;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class lianliankan implements ActionListener

{

JFrame mainFrame; //主面板

Container thisContainer;

JPanel centerPanel,southPanel,northPanel; //子面板

JButton diamondsButton[][] = new JButton[6][5];//游戏按钮数组

JButton exitButton,resetButton,newlyButton; //退出,重列,重新开始按钮

JLabel fractionLable=new JLabel("0"); //分数标签

JButton firstButton,secondButton; //分别记录两次被选中的按钮

int grid[][] = new int[8][7];//储存游戏按钮位置

static boolean pressInformation=false; //判断是否有按钮被选中

int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戏按钮的位置坐标

int i,j,k,n;//消除方法控制

public void init(){

mainFrame=new JFrame("JKJ连连看");

thisContainer = mainFrame.getContentPane();

thisContainer.setLayout(new BorderLayout());

centerPanel=new JPanel();

southPanel=new JPanel();

northPanel=new JPanel();

thisContainer.add(centerPanel,"Center");

thisContainer.add(southPanel,"South");

thisContainer.add(northPanel,"North");

centerPanel.setLayout(new GridLayout(6,5));

for(int cols = 0;cols 6;cols++){

for(int rows = 0;rows 5;rows++ ){

diamondsButton[cols][rows]=new JButton(String.valueOf(grid[cols+1][rows+1]));

diamondsButton[cols][rows].addActionListener(this);

centerPanel.add(diamondsButton[cols][rows]);

}

}

exitButton=new JButton("退出");

exitButton.addActionListener(this);

resetButton=new JButton("重列");

resetButton.addActionListener(this);

newlyButton=new JButton("再来一局");

newlyButton.addActionListener(this);

southPanel.add(exitButton);

southPanel.add(resetButton);

southPanel.add(newlyButton);

fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())));

northPanel.add(fractionLable);

mainFrame.setBounds(280,100,500,450);

mainFrame.setVisible(true);

}

public void randomBuild() {

int randoms,cols,rows;

for(int twins=1;twins=15;twins++) {

randoms=(int)(Math.random()*25+1);

for(int alike=1;alike=2;alike++) {

cols=(int)(Math.random()*6+1);

rows=(int)(Math.random()*5+1);

while(grid[cols][rows]!=0) {

cols=(int)(Math.random()*6+1);

rows=(int)(Math.random()*5+1);

}

this.grid[cols][rows]=randoms;

}

}

}

public void fraction(){

fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())+100));

}

public void reload() {

int save[] = new int[30];

int n=0,cols,rows;

int grid[][]= new int[8][7];

for(int i=0;i=6;i++) {

for(int j=0;j=5;j++) {

if(this.grid[i][j]!=0) {

save[n]=this.grid[i][j];

n++;

}

}

}

n=n-1;

this.grid=grid;

while(n=0) {

cols=(int)(Math.random()*6+1);

rows=(int)(Math.random()*5+1);

while(grid[cols][rows]!=0) {

cols=(int)(Math.random()*6+1);

rows=(int)(Math.random()*5+1);

}

this.grid[cols][rows]=save[n];

n--;

}

mainFrame.setVisible(false);

pressInformation=false; //这里一定要将按钮点击信息归为初始

init();

for(int i = 0;i 6;i++){

for(int j = 0;j 5;j++ ){

if(grid[i+1][j+1]==0)

diamondsButton[i][j].setVisible(false);

}

}

}

public void estimateEven(int placeX,int placeY,JButton bz) {

if(pressInformation==false) {

x=placeX;

y=placeY;

secondMsg=grid[x][y];

secondButton=bz;

pressInformation=true;

}

else {

x0=x;

y0=y;

fristMsg=secondMsg;

firstButton=secondButton;

x=placeX;

y=placeY;

secondMsg=grid[x][y];

secondButton=bz;

if(fristMsg==secondMsg secondButton!=firstButton){

xiao();

}

}

}

public void xiao() { //相同的情况下能不能消去。仔细分析,不一条条注释

if((x0==x (y0==y+1||y0==y-1)) || ((x0==x+1||x0==x-1)(y0==y))){ //判断是否相邻

remove();

}

else{

for (j=0;j7;j++ ) {

if (grid[x0][j]==0){ //判断第一个按钮同行哪个按钮为空

if (yj) { //如果第二个按钮的Y坐标大于空按钮的Y坐标说明第一按钮在第二按钮左边

for (i=y-1;i=j;i-- ){ //判断第二按钮左侧直到第一按钮中间有没有按钮

if (grid[x][i]!=0) {

k=0;

break;

}

else{ k=1; } //K=1说明通过了第一次验证

}

if (k==1) {

linePassOne();

}

}

if (yj){ //如果第二个按钮的Y坐标小于空按钮的Y坐标说明第一按钮在第二按钮右边

for (i=y+1;i=j ;i++ ){ //判断第二按钮左侧直到第一按钮中间有没有按钮

if (grid[x][i]!=0){

k=0;

break;

}

else { k=1; }

}

if (k==1){

linePassOne();

}

}

if (y==j ) {

linePassOne();

}

}

if (k==2) {

if (x0==x) {

remove();

}

if (x0x) {

for (n=x0;n=x-1;n++ ) {

if (grid[n][j]!=0) {

k=0;

break;

}

if(grid[n][j]==0 n==x-1) {

remove();

}

}

}

if (x0x) {

for (n=x0;n=x+1 ;n-- ) {

if (grid[n][j]!=0) {

k=0;

break;

}

if(grid[n][j]==0 n==x+1) {

remove();

}

}

}

}

}

for (i=0;i8;i++ ) { //列

if (grid[i][y0]==0) {

if (xi) {

for (j=x-1;j=i ;j-- ) {

if (grid[j][y]!=0) {

k=0;

break;

}

else { k=1; }

}

if (k==1) {

rowPassOne();

}

}

if (xi) {

for (j=x+1;j=i;j++ ) {

if (grid[j][y]!=0) {

k=0;

break;

}

else { k=1; }

}

if (k==1) {

rowPassOne();

}

}

if (x==i) {

rowPassOne();

}

}

if (k==2){

if (y0==y) {

remove();

}

if (y0y) {

for (n=y0;n=y-1 ;n++ ) {

if (grid[i][n]!=0) {

k=0;

break;

}

if(grid[i][n]==0 n==y-1) {

remove();

}

}

}

if (y0y) {

for (n=y0;n=y+1 ;n--) {

if (grid[i][n]!=0) {

k=0;

break;

}

if(grid[i][n]==0 n==y+1) {

remove();

}

}

}

}

}

}

}

public void linePassOne(){

if (y0j){ //第一按钮同行空按钮在左边

for (i=y0-1;i=j ;i-- ){ //判断第一按钮同左侧空按钮之间有没按钮

if (grid[x0][i]!=0) {

k=0;

break;

}

else { k=2; } //K=2说明通过了第二次验证

}

}

if (y0j){ //第一按钮同行空按钮在与第二按钮之间

for (i=y0+1;i=j ;i++){

if (grid[x0][i]!=0) {

k=0;

break;

}

else{ k=2; }

}

}

}

public void rowPassOne(){

if (x0i) {

for (j=x0-1;j=i ;j-- ) {

if (grid[j][y0]!=0) {

k=0;

break;

}

else { k=2; }

}

}

if (x0i) {

for (j=x0+1;j=i ;j++ ) {

if (grid[j][y0]!=0) {

k=0;

break;

}

else { k=2; }

}

}

}

public void remove(){

firstButton.setVisible(false);

secondButton.setVisible(false);

fraction();

pressInformation=false;

k=0;

grid[x0][y0]=0;

grid[x][y]=0;

}

public void actionPerformed(ActionEvent e) {

if(e.getSource()==newlyButton){

int grid[][] = new int[8][7];

this.grid = grid;

randomBuild();

mainFrame.setVisible(false);

pressInformation=false;

init();

}

if(e.getSource()==exitButton)

System.exit(0);

if(e.getSource()==resetButton)

reload();

for(int cols = 0;cols 6;cols++){

for(int rows = 0;rows 5;rows++ ){

if(e.getSource()==diamondsButton[cols][rows])

estimateEven(cols+1,rows+1,diamondsButton[cols][rows]);

}

}

}

public static void main(String[] args) {

lianliankan llk = new lianliankan();

llk.randomBuild();

llk.init();

}

}

//old 998 lines

//new 318 lines

关于java小型rpg和java小型薪资管理系统代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-25,除非注明,否则均为首码项目网原创文章,转载请注明出处。