精华内容
下载资源
问答
  • 很多小伙伴问我进大厂到底需要怎样的技术能力,经过几天的思考和总结,终于梳理出一份相对比较完整的技能清单,太顶了,建议收藏!!

    很多小伙伴问我进大厂到底需要怎样的技术能力,经过几天的思考和总结,终于梳理出一份相对比较完整的技能清单,小伙伴们可以对照清单提前准备相关的技能,在平时的工作中注意积累和总结。只要在平时的工作中总结到位,对技术知其然,知其所以然,进大厂,是水到渠成的事情。接下来,我就简单的列举下,在我个人看来,进大厂需要的一些技能。当然,这次主要说的是Java技术栈。后面也会分享一些其他的技术栈(C++、运维、云原生已安排上了,后面发)。

    注意:本文为去大厂面试,想进大厂需要具备的Java核心技术栈与学习路线,建议收藏,按照文章技术栈学习!!

    一.常见模式与工具

    学习Java技术体系,设计模式,流行的框架与组件—— 常见的设计模式,编码必备, Spring5,做应用必不可少的最新框架,MyBatis,玩数据库必不可少的组件。从源码级别掌握它们,你比别人更容易进大厂。

    在这里插入图片描述

    二.工程化与工具

    工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具,提升开发效率和团队协作效率,是必不可少的。

    在这里插入图片描述

    三.分布式架构

    高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的:

    在这里插入图片描述

    四.微服务架构

    业务越来越复杂,服务分层,微服务架构是架构升级的必由之路,Java技术体系,和微服务相关的技术有哪些呢?
    在这里插入图片描述

    五.性能优化

    任何脱离细节的ppt架构师都是耍流氓,向上能运筹帷幄,向下能解决一线性能问题,Java技术体系,需要了解:

    在这里插入图片描述

    六.底层知识

    从架构设计,到应用层调优,再深入了解底层原理,扎实的Java基本功才能让自己变为扫地神僧:

    在这里插入图片描述

    七.项目实战

    无需赘述,如果没有实战经验,如何成为一名架构师?

    在这里插入图片描述说了这么多,这些技术该怎么学呢?冰河在CSDN上都为你分类好了,关注冰河CSDN技术博客,根据文章分类专栏,按文章分类阅读技术干货,我们一起加油,一起进大厂!
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    好了,今天就到这儿吧,我是冰河,我们下期见,大家有啥问题可以在下方留言,一起交流技术,一起进阶,一起进大厂。~~

    展开全文
  • 冰河首次揭秘毕业五年,拿到百万年薪的核心技能!!

    大家好,我是冰河~~

    很多读者私信问我,自己时间不短了,随着工作年限的不断增长,感觉自己的技术水平与自己的工作年限严重不符。想跳槽出去换个新环境吧,又感觉自己的能力达不到心仪公司的标准,即使投了简历也没人来通知自己面试。就这样在原来的公司一天天的混日子,时间久了,感觉自己废了,就这么恶性循环着。

    如何破局?

    首先,如果你认为自己是一个天才程序员,那么你可以不按照我说的做,因为你是天才,你可以分分钟达到甚至超过百万。如果你认为自己只是一个普通人,那好,继续往下看,相信会对你有所帮助的。

    在这里插入图片描述

    我们该如何打破自己的技术水平和工作年限严重不符的这个僵局呢?

    首先,最重要的还是心态 。为什么这么说,因为从事互联网开发工作,程序员的压力其实还是蛮大的,在高强度的日常工作中,就需要我们以良好的心态来面对自己的工作。其次,就是要学会释放压力,以正确的方式来释放或者缓解自己心中的压力。

    在这里插入图片描述

    其次,就是关键的一点,你要从心底问自己是否对现在的工作感兴趣。 其实,我们都知道,只要是做我们自己感兴趣的事情,就会事半功倍,如果是出于某种原因不得不去做某件事,这样往往会是投入了很大的精力,效果往往还不太好,这就是我们常说的事倍功半。

    经常有小伙伴在微信上私信我:我是学Java呢?还是学Python呢?哪个吃香啊?哪个好找工作啊?学习大数据怎么样啊?大数据是不是已经饱和了啊?这一连串的问题,其实,我看到小伙伴们的这些问题,我都不知道如何回答。为什么呢?其实这些问题,小伙伴们心里应该都清楚:只要你足够认真的坚持学下去,学什么都能够找到一份好工作。

    究其本质, 对于我们这些搞技术的人来说,年龄的增长其实没有外界说的那么可怕,真正可怕的是你的年龄和你所掌握的技术深度没有匹配。如果你的年龄与你的技术深度不匹配时,你是很难找到一个令自己满意的工作的。试想,如果你已经工作5、6年了,你所做的工作连1、2年工作经验甚至是应届毕业生都能做时,那公司为啥还要你来做呢?给你养老吗?公司是要盈利的,盈利就意味着要赚钱。怎么赚钱?节省成本就是一种赚钱的方式,那不好意思,你就会被淘汰掉。

    所以,在技术这条道路上,你也需要选择一个自己感兴趣的方向。比如:Java、Python、大数据、云计算、云原生等等。接下来,就是深入学习了。要知道: 再牛逼的技术,也抵不过傻逼似的坚持。 只要坚持,就没有学不会的技术。

    在学习的过程中,一定要明确自己学什么,切记不要三心二意。不要今天学习Java,明天又想学习Python了。一定要给自己制定一个目标,并将目标拆分为每天的学习计划。

    学些什么?

    调整好心态后,我们再来看看需要学习哪些内容。

    夯实基础

    首先,就是要夯实自己的基础。比如对Java集合框架,多线程与并发包,IO/NIO,JVM,内存模型,泛型,异常,反射,等有深入了解,最好是看过源码了解底层的设计。

    在这里插入图片描述

    比如一般面试都会问 ConcurrentHashMap,CopyOnWrite,线程池,CAS,AQS,虚拟机优化等知识点,因为这些对互联网的企业是绝对重要的。而且一般人这关都过不了,还发牢骚说这些没什么用,为什么要面试。

    这里,我给大家举一个我所经历的项目的真实案例。之前,我所在的公司,在做一个高并发电商项目时,一名开发同学在项目中,因为使用了默认的创建线程池的方式,导致线程池中使用了默认的无界队列,在远程服务异常情况下导致内存飙升。最终通过排查源码定位到问题,将其修改为有界队列,解决了问题。

    试想,你要是连线程池都不清楚,你怎么去玩?再举一例,由于对 ThreadLocal 理解出错,使用它做线程安全的控制,导致没能实现真的线程安全。此时,你会怎么解决这个问题?

    所以,基础很重要,一定要把基础学扎实。万丈高楼平地起,只有把基础搞扎实了,上层建筑才会更加牢固。

    深入互联网技术知识

    关于这一点,我们需要从底层说起,你起码得深入了解 MySQL,Redis,MongoDB,Nginx,Tomcat,RPC,JMS、Dubbo、SpringCloud、SpringCloud Alibaba、性能调优、Netty、服务注册发现、服务治理、各种中间件、互联网工程、并发编程、分布式、微服务、云原生等等方面的知识。

    在这里插入图片描述

    你要问需要了解到什么程度,这里,我可以给你举几个例子:首先对于 MySQL,你要知道常见的参数设置,存储引擎怎么去选择,还需要了解常见的索引引擎,知道怎么去选择。知道怎么去设计表,怎么优化 SQL,怎么根据执行计划去调优。掌握如何去做分库分表的设计和优化,一般互联网企业的数据库都是读写分离,还会垂直与水平拆分,所以这些也需要你多多少少掌握。

    然后 Redis,Mongodb 都是需要了解原理,需要会调整参数的。

    而 Nginx 和 Tomcat 几乎都是 JAVA 互联网开发必配的Web服务器,这点,可能跟阿里的技术栈选择有点关系。

    至于RPC相关的就比较多了,必须了解各种网络协议,序列化技术,SOA 等等,你要有一个深入的理解。现在应用比较广的 RPC 框架,在国内就是 dubbo 了,小伙伴们可以到Dubbo的官网进行学习,也可以到github下载源码进行学习。

    至于其他的嘛,就需要小伙伴们自己去研究了。总之,掌握它们,对你没坏处。

    培养硬核能力

    我这里说的硬核能力,指的就是:编程能力,编程思想,算法能力,架构能力、设计能力、沟通能力、调优能力、系统驾驭能力、行业影响力。

    这里,我就简单的说下,除了基础部分和互联网技术需要掌握的技能外,还有几个是必须要掌握的,那就是:编程能力、编程思想、算法能力、架构能力、设计能力、沟通能力、调优能力、系统驾驭能力、行业影响力。

    在这里插入图片描述

    编程能力这个我觉得不好去评价,但是拿一个 5000W 用户根据姓名年龄排序这种题目也能信手拈来。问你个 AOP 和 IOC 你起码要清清楚楚,设计模式不说每种都用过,但也能了解个几种吧。对于算法来说,你需要掌握基本的算法知识吧。其实,开发一个系统时,很多地方都需要考虑使用算法来实现。有些小伙伴认为自己是做业务开发的,用不到算法,不需要学习算法啊,其实这种思想就是错误的!!

    然后就是架构能力,这种不是说要你设计个多牛逼多高并发的系统,起码让你做一个秒杀系统,防重请求的设计能快速搞定而没有坑吧。

    最后是要提升自己的系统设计能力、沟通能力、系统调优能力和系统驾驭能力,逐步提升自己的行业影响力!

    好了,今天就到这儿吧,我是冰河,大家有啥问题可以在下方留言,一起交流技术,一起进阶,一起进大厂。后面再给大家推荐一些书单,如果你也想毕业五年年薪达到甚至超过百万,就请在下方留言吧,让我知道你的想法~~

    展开全文
  • 程序员的通技能

    2020-03-17 16:04:05
    课程一:数学课 课程二:sql 课程三:linux
  • 王者荣耀中皮肤和英雄技能java实现

    万次阅读 多人点赞 2021-05-15 23:45:45
    3.1 确定英雄技能效果3.2 英雄技能使用3.3 技能释放演示四、光放技能有什么用,刷怪买装备!4 .1 刷怪实现的方法4 .2 购买装备!总结 前言 之前我写的王者荣耀中一个英雄是怎么被产生的(一)受到很多友友们的关注...

    #王者荣耀中一个英雄是怎么被产生的?
    皮肤和技能实现



    前言

    之前我写的王者荣耀中一个英雄是怎么被产生的(一)受到很多友友们的关注,我是无意间写的一个比较简陋的小程序,上一篇文章主要是通过我作为一个外行人,并且是持学习态度写的文章。内容是创建英雄,创建野怪,创建装备。并且实现了简单的刷怪,购买装备等。今天的系列二文章,我优化了我的操作界面,并且实现了英雄技能,英雄皮肤等。如果你感兴趣的话,不妨看一看我写的文章。会给你带来无比的快乐!

    提示:如果友友你没有看过系列一的文章点击这个链接:王者荣耀中一个英雄是怎么被产生的?(一)

    一、前期准备

    我们现在功能比较多,所有为了让程序运行起来比较直观,我们需要创建一个Menu包,来定义一些操作的界面;
    在这里插入图片描述
    Menulogin是游戏选择英雄皮肤,铭文和进入游戏的界面;代码简单易懂,我就不解释了

    package Menu;
    
    import java.util.Scanner;
    
    public class Menulogin {
        public  static  int Menulogin(){
            System.out.println("*****备战选择*****");
            System.out.println("按1 :选择皮肤");
            System.out.println("按2 :选择铭文");
            System.out.println("按3 :进入游戏");
            System.out.println("*****************");
            Scanner sc = new Scanner(System.in);
            int res = sc.nextInt();
            switch (res){
                case 1: return 1;
                case 2: return 2;
                case 3: return 3;
                default:
                    System.out.println("参数错误,尝试重新连接"); Menulogin();break;
            }
            return 0;
        }
    }
    
    

    Menuable是英雄技能释放界面

    package Menu;
    
    import java.util.Scanner;
    
    public class Menuable {
        //技能菜单
        public  static  int Menuable(){
            System.out.println("***************");
            System.out.println("按1 :技能一(控制)");
            System.out.println("按2 :技能二(伤害)");
            System.out.println("按3 :技能三(控制)");
            System.out.println("按0 :自动平A");
            System.out.println("按10 :攻击野怪");
            System.out.println("按11 :购买装备");
            System.out.println("***************");
            Scanner sc = new Scanner(System.in);
            int res = sc.nextInt();
            switch (res){
                case 1: return 1;
                case 2: return 2;
                case 3: return 3;
                case 0: return 0;
                case 10: return 10;
                case 11: return 11;
                default:return 4;
            }
        }
    }
    
    

    Menuyeguai是攻击目标野怪的菜单,主要是通过选择野怪,并且完成击杀,获得金币

    package Menu;
    
    import yeguai.*;
    
    import java.util.Scanner;
    
    public class Menuyeguai {
        //刷野菜单
        public static  int Menuyeguai(){
            System.out.println("******选择要攻击的野怪******");
            System.out.println("1.野猪");
            System.out.println("2.小鸟");
            System.out.println("3.河蟹");
            System.out.println("4.小兵");
            System.out.println("5.炮车");
            System.out.println("6.红buff");
            System.out.println("7.蓝buff");
            System.out.println("10.进入技能页面");
            System.out.println("11.进入装备页面");
            Scanner sc = new Scanner(System.in);
            int res = sc.nextInt();
            switch (res){
                case 1: Pig pig = new Pig(); return pig.getNum();
                case 2:
                    Bird bird = new Bird();return bird.getNum();
                case 3:
                    Heixie heixie = new Heixie();return heixie.getNum();
                case 4:
                    Xiaobing xiaobing = new Xiaobing();return xiaobing.getNum();
                case 5:
                    Paocar paocar = new Paocar();return  paocar.getMoney();
                case 6:return 1;
                case 7:return 0;
                case 10:return 10;
                case 11:return 11;
                default:
                    System.out.println("无效操作"); return 12;
            }
        }
    }
    
    

    Menuzhuangbei是玩家是进入装备页面,购买装备,增加全方位属性,目前只实现了抵抗之靴,反甲,暗影战斧

    package Menu;
    
    import java.util.Scanner;
    
    public class Menuzhuangbei {
        //装备页面
        public static  int Menuzhuangbei(){
            System.out.println("++++++++++++++++++++++");
            System.out.println("1.抵抗之靴");
            System.out.println("2.反甲");
            System.out.println("3.暗影战斧");
            System.out.println("4.极寒风暴");
            System.out.println("5.破军");
            System.out.println("6.碎星锤");
            System.out.println("7.魔女斗篷");
            System.out.println("10.进入技能页面");
            System.out.println("11.进入刷怪页面");
            System.out.println("++++++++++++++++++++++");
            Scanner sc = new Scanner(System.in);
            int res = sc.nextInt();
            switch (res){
                case 1: return 1;
                case 2: return 2;
                case 3: return 3;
                case 4: return 4;
                case 5: return 5;
                case 6: return 6;
                case 7: return 7;
                case 10:return 10;
                case 11:return 11;
                default:return 12;
            }
        }
    
    }
    
    

    二、没有钱买皮肤,我就自己造!

    2.1 皮肤选择界面设计

    我们主要是后端设计,所有我们分析分析一下,如何实现一个皮肤。
    如果友友玩过王者荣耀,那么你一定知道,不管一个皮肤有多贵,它可以固定给穿戴的英雄加20点的攻击力,我是亚瑟的皮肤,所以加20点物理攻击。如果创建了一个法师英雄,那么加20点法术攻击。花里胡哨的皮肤,其实底层实现很容易,就是建模,美工比较折磨人。
    在这里插入图片描述

    package skin;
    
    import yeguai.*;
    import zhuangbei.Fajia;
    
    import java.util.Scanner;
    
    public class Yaseisskin {
    
        public  static  int Yaseisskin(){
            System.out.println("_________________________");
            System.out.println("    1. 亚瑟-圣骑之力       ");
            System.out.println("    2. 亚瑟-死亡骑士       ");
            System.out.println("    3. 亚瑟-狮心王         ");
            System.out.println("    4. 亚瑟-心灵战警       ");
            System.out.println("_________________________");
            Scanner sc = new Scanner(System.in);
            int res = sc.nextInt();
            if(res==1){
               int add = Yuanshenskin();
               return add;
            }
            if(res==2){
                int add = Firstskin();
                return add;
            }
            if(res==3){
                int add = Secondskin();
                return add;
            }
            if(res==4){
                int add = Thirdskin();
                return add;
            }
            return 0;
        }
    
    
    
        private static int Yuanshenskin(){
            System.out.println("亚瑟穿上了“亚瑟-圣骑之力”皮肤");
            int phyattack =20;
            return phyattack;
        }
    
        private static int Firstskin(){
            System.out.println("亚瑟穿上了“亚瑟-死亡骑士”皮肤");
            int phyattack =20;
            return phyattack;
        }
    
        private  static  int Secondskin(){
            System.out.println("亚瑟穿上了“亚瑟-狮心王 ”皮肤");
            int phyattack =20;
            return phyattack;
        }
    
        private  static  int Thirdskin(){
            System.out.println("亚瑟穿上了“亚瑟-心灵战警 ”皮肤");
            int phyattack =20;
            return phyattack;
        }
    }
    
    

    没错,这是我的想法,如果你感兴趣,可以在自己创造新的,牛逼,开挂的皮肤。哈哈哈

    2.2 如何将皮肤属性赋给英雄

    这个十分简单,我们只需要拿到所选的皮肤返回值,然后将该返回值赋给英雄的基础攻击力就实现了属性赋予。
    代码如下:

       if(menulogin.Menulogin()==1){
              int num = Yaseisskin.Yaseisskin();
              yase.setPhyattack(yase.getPhyattack()+num);
                System.out.println("皮肤穿戴成功!");
                System.out.println(yase.getName()+"当前属性为"+" 金币 "+yase.getMoney()+" 物理攻击 "+yase.getPhyattack()+" 血量                  "+yase.getBlood()+" 移速 "+yase.getMove()
                );
            }
    

    在这里插入图片描述
    四个皮肤具体实现:
    原皮 :亚瑟-圣骑之力 无加成

       private static int Yuanshenskin(){
            System.out.println("亚瑟穿上了“亚瑟-圣骑之力”皮肤");
            int phyattack =0;
            return phyattack;
        }
    

    赛季皮肤:亚瑟-狮心王

        private  static  int Secondskin(){
            System.out.println("亚瑟穿上了“亚瑟-狮心王 ”皮肤");
            int phyattack =20;
            return phyattack;
        }
    

    活动皮肤:亚瑟-死亡骑士

        private static int Firstskin(){
            System.out.println("亚瑟穿上了“亚瑟-死亡骑士”皮肤");
            int phyattack =20;
            return phyattack;
        }
    
    

    碎片兑换皮肤:亚瑟-心灵战警

      private  static  int Thirdskin(){
            System.out.println("亚瑟穿上了“亚瑟-心灵战警 ”皮肤");
            int phyattack =20;
            return phyattack;
        }
    

    三、没有牛逼的英雄技能,玩个锤子!

    3.1 确定英雄技能效果

       我们实现好皮肤后,点击进入游戏,那么,我们玩什么,当然是刷怪,打人,推塔(打人,推塔在系列三开始实现)。我现在创建的英雄是亚瑟。
       亚瑟有三个技能和一个被动技能;(被动技能我没有实现,因为木有好想法,友友快快帮忙!)
    
       **第一个技能:**
    
     //亚瑟的一技能
        public static  int[] Firstable(boolean Redbuff){  //给技能一个参数,如果有红buff或蓝buff,那么技能属性就会提升
            int[] res = new int[4];
            if(Redbuff){ //有红buff
                int phyattack = 120;//输出的伤害
                int blood = 200;
                int move = 100; //一技能效果加速
                res[0]=120;
                res[1]=200;
                res[2]=100;
            }else{ //无红buff
                int phyattack = 100;
                int blood = 0;
                int move = 100;
                res[0]=100;
                res[1]=0;
                res[2]=100;
            }
    
            //一技能特殊属性,沉默英雄,也就是说,被击中的英雄2s内无法释放技能。
            res[3] = 1;//标志1为该技能的效果是可以沉默;
    
            return res;
        }
    
    
    

    第二个技能实现:

    //亚瑟的二技能
        public static int[] Secondable(boolean Redbuff,boolean bluebuff){  //给技能一个参数,如果有红buff,那么技能属性就会提升
            int[] res1 = new int[4];
    
            int phyattack = 300;
            int blood = 0;
            int move = 50;
            int time1 = 7000; // 每7s ,一个二技能
            res1[0]=phyattack;
            res1[1]=blood;
            res1[2]=move ;
            res1[3]=time1;
    
            if(Redbuff){ //有红buff
                phyattack = 400;
                blood = 200;
                move = 50;
                res1[0]=phyattack;
                res1[1]=blood;
                res1[2]=move;
                res1[3]=time1;
            }
            if(bluebuff){ //有蓝buff
               time1 = 6000;
                res1[3]=time1;
            }
            return res1;
        }
    
    

    第三个技能实现:

     //亚瑟的三技能
        public static int[] Thirdable(boolean Redbuff,boolean bluebuff){  //给技能一个参数,如果有红buff,那么技能属性就会提升
            int[] res2 = new int[4];
            int phyattack = 600;
            int blood = 0;
            int move = 50;
            int time2 = 12000;  //每12s一个三技能
            res2[0]=phyattack;
            res2[1]=blood;
            res2[2]=move ;
            res2[3]=time2;
            if(Redbuff){ //有红buff
                phyattack = 800;
                blood = 400;
                move = 50;
                res2[0]=phyattack;
                res2[1]=blood;
                res2[2]=move ;
                res2[3]=time2;
            }
    
            if(bluebuff){ //有蓝buff
                 time2 = 10000;
                res2[0]=phyattack ;
                res2[1]=blood ;
                res2[2]=move ;
                res2[3]=time2;
            }
    
            return res2;
        }
    
    
    

    3.2 英雄技能使用

       **利用技能菜单,完成技能的使用,**
    
    int flag=menulogin.Menulogin(); //游戏开始标记符;
            Boolean red = false;
            Boolean blue = false; //默认英雄初始是没有buff的
            while (flag==3) {
                Menuable menuable = new Menuable();
                Menuyeguai menuyeguai = new Menuyeguai();
                Menuzhuangbei menuzhuangbei = new Menuzhuangbei();
                int res = menuable.Menuable(); //技能菜单
                int[] arr = new int[4];
                switch (res) {   //技能生效操作
                    case 1:
                        System.out.println("当前使用一技能誓约之盾!");
                        arr = Firstable(red);
                        break;
                    case 2:
                        System.out.println("当前使用二技能回旋打击!");
                        arr = Secondable(red, blue);
                        break;
                    case 3:
                        System.out.println("当前使用二技能圣剑裁决!");
                        arr = Thirdable(red, blue);
                        break;
                    case 10:
                        int res1 = menuyeguai.Menuyeguai();
                        switch (res1){  //刷野生效操作
                            case 80:
                            case 100:
                            case 150:
                            case 200:
                            case 250:yase.setMoney(yase.getMoney()+res1);break;
                            case 1: red = true;break;
                            case 0: blue = true;break;
                            case 10:;
                            case 11:;
                            default:
                                System.out.println("系统错误");
                        }
                        break;
                    case 11:
                        int res2 = menuzhuangbei.Menuzhuangbei();
                        switch (res2){  //进入装备购买页面
                            case 1:
                                Shoe shoe = new Shoe();
                                if(yase.getMoney()>=200){
                                System.out.println(yase.name+"购买了"+shoe.name);
                                yase.phyfangyu+=shoe.getPhyattack();
                                yase.move+=shoe.getMove();
                                yase.money=yase.money-200;
                            }else{
                                    System.out.println("金币不足,无法购买"+shoe.name);
                                };break;
                            case 2:
                                Fajia fajia = new Fajia();
                                if(yase.getMoney()>=1200){
                                System.out.println(yase.name+"购买了"+fajia.name);
                                yase.phyattack+=fajia.getPhyattack(); //攻击力+
                                yase.phyfangyu+=fajia.getPhyfanyu();  //防御力+
                                yase.money=yase.money-1200;
                            }else {
                                    System.out.println("金币不足,无法购买"+fajia.name);
                                };break;
                            case 3:
                                Anyinzhanfu anyinzhanfu = new Anyinzhanfu();
                                if(yase.getMoney()>=2000){
                                System.out.println(yase.name+"购买了"+anyinzhanfu.name);
                                yase.phyattack+=anyinzhanfu.getPhyattack(); //攻击力+
                                yase.blood+=anyinzhanfu.getBlood();  //生命力+
                                yase.money=yase.money-2000;
                            }else {
                                    System.out.println("金币不足,无法购买"+anyinzhanfu.name);
                                }
                                break;
                            case 10:
                            case 11:
                            default:
                                System.out.println("系统错误");
                        }
                        break;
                    case 4:
                        return;
                    default:
                        System.out.println("自动平A中。。。。");
                        break;
                }
                yase.setPhyattack(yase.getPhyattack()+arr[0]);
                yase.setBlood(yase.getBlood()+arr[1]);
                yase.setMove(yase.getMove()+arr[2]);
                System.out.println(yase.getName()+"当前属性为"+" 金币 "+yase.getMoney()+" 物理攻击 "+yase.getPhyattack()+" 血量 "+yase.getBlood()+" 移速 "+yase.getMove()
                +" 当前技能冷却时间 "+arr[3]+"ms");
            }
    

    里面嵌套了装备购买和刷怪的代码实现,代码十分基础,聪明的友友你一定看的懂。
    刷野怪主要是给每个野怪设定了不同的金币数量,然后通过Switch,进行判断。
    buff是根据返回值,来确定当前是否有buff;
    装备购买的代码原理一样,调用装备类,在购买装备前先判断经济是否满足条件;

    3.3 技能释放演示

    在这里插入图片描述
    使用一技能:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    四、光放技能有什么用,刷怪买装备!

    4 .1 刷怪实现的方法

              int res1 = menuyeguai.Menuyeguai();
                        switch (res1){  //刷野生效操作
                            case 80:
                            case 100:
                            case 150:
                            case 200:
                            case 250:yase.setMoney(yase.getMoney()+res1);break;
                            case 1: red = true;break;
                            case 0: blue = true;break;
                            default:
                                System.out.println("系统错误");
                        }
                        break;
    

    程序运行演示:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    4 .2 购买装备!

    int res2 = menuzhuangbei.Menuzhuangbei();
                        switch (res2){  //进入装备购买页面
                            case 1:
                                Shoe shoe = new Shoe();
                                if(yase.getMoney()>=200){
                                System.out.println(yase.name+"购买了"+shoe.name);
                                yase.phyfangyu+=shoe.getPhyattack();
                                yase.move+=shoe.getMove();
                                yase.money=yase.money-200;
                            }else{
                                    System.out.println("金币不足,无法购买"+shoe.name);
                                };break;
                            case 2:
                                Fajia fajia = new Fajia();
                                if(yase.getMoney()>=1200){
                                System.out.println(yase.name+"购买了"+fajia.name);
                                yase.phyattack+=fajia.getPhyattack(); //攻击力+
                                yase.phyfangyu+=fajia.getPhyfanyu();  //防御力+
                                yase.money=yase.money-1200;
                            }else {
                                    System.out.println("金币不足,无法购买"+fajia.name);
                                };break;
                            case 3:
                                Anyinzhanfu anyinzhanfu = new Anyinzhanfu();
                                if(yase.getMoney()>=2000){
                                System.out.println(yase.name+"购买了"+anyinzhanfu.name);
                                yase.phyattack+=anyinzhanfu.getPhyattack(); //攻击力+
                                yase.blood+=anyinzhanfu.getBlood();  //生命力+
                                yase.money=yase.money-2000;
                            }else {
                                    System.out.println("金币不足,无法购买"+anyinzhanfu.name);
                                }
                                break;
                            case 10:
                            case 11:
                            default:
                                System.out.println("系统错误");
                        }
                        break;
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    总结

    我完全是外行,这是通过自己的兴趣来练习练习对象的使用和方法的调用,通过这种兴趣与爱好的结合,我发现才可以主观的学到更多知识,接下来我要使用比较难的,那就是多线程,并结合Web,来实现两个英雄的战斗!大家多多关注!不喜勿喷,呜呜呜。
    相关代码我已经上传到github上面,如果你需要的话,可以进行下载,玩一玩,哈哈哈!

    github:https://github.com/41809310102/study/tree/master/%E5%A4%8D%E4%B9%A0%E4%B8%80%E8%BD%AE/%E5%AF%B9%E8%B1%A1%E7%BB%83%E4%B9%A0

    展开全文
  • 沟通个性化需求等,主要还是看具体公司,实施岗位在不同单位所用技能不一样,且实施工程师也可以进行细分,有偏技术型的,有偏交付型的,有偏管理的。 二、技能篇 1、操作系统:Windows、LINUX等,并且需要掌握...

    一、信息化系统软件实施工程师概述

        软件实施工程师是软件服务的重要环节,承担着软件交付的重任。 工作能力常规上至少包含以下几项:软件安装调试,部分硬件服务器的调试;客户培训;编制验收过程文档;把控项目进度,根据计划实施;沟通个性化需求等,主要还是看具体公司,实施岗位在不同单位所用技能不一样,且实施工程师也可以进行细分,有偏技术型的,有偏交付型的,有偏管理的。

    二、技能篇

        1、操作系统:Windows、LINUX等,并且需要掌握相关操作系统在网络排查、远程服务、防火墙、进程、端口等方面的内容;

        2、软件环境:JDK、TOMACAT、JBOSS、NGINX、REDIS等,需掌握各操作系统安装流程,能排查基础错误即可;

        3、数据库:目前主流的MYSQL、SQLSERVER、Oracle等,建议在掌握关系型数据库后,了解下非关系型数据库;

    三、实施工作中需要重点关注的事项

        1、师傅领进门,修行在个人;及时请教同时,往往能解决很多你不知道的技术及业务;

         2、快速掌握自己所负责的软件系统,了解软件基础架构,了解软件内功能模块的含义;

         3、时间观念很重要,因为你是项目实施人员,要时刻关注项目交付进度,如果是定制化软件,还要关注开发进度,及时推动项目进程,不要延误合同工期;

         4、协调,实施过程中,系统可能涉及多个部门,一定及时协调部门人员配合完成任务;

         5、测试,你的测试结果觉定了项目上线的可靠性和稳定性,测试过程中不管要关注系统功能,要结合实际业务开展测试;

         6、在客户沟通中,尽可能多的给自己和公司预留时间,以免出现BUG不能及时解决。

    四、信息化系统项目实施全生命周期

         一般来讲,一个项目整体包含以下阶段:可研、采购、合同、设计、开发、启动、试运行、验收、结算;

         同时伴随着阶段的发展,会根据项目实际情况,编制各类文件,常见的有如下信息

         可研阶段:需求分析报告、可行性研究报告等;

         采购阶段:中标书、技术规范书等;

         合同签订阶段:物资材料到货验收单等、

         设计阶段:调研报告、需求规格说明书、系统设计、数据库设计、数据字典设计等;

         开发阶段:管理员手册、测试报告、建设方案等;

         启动阶段:建设方案、实施部署方案、承诺书、保密协议等;

         试运行阶段:试用报告、系统技术报告、培训方案、运维方案、软件著作权移交等;

         验收阶段:验收测试报告、验收意见、用户报告、用户测试报告等;

         结算:结算报告;

    五、杂谈

         实施工作看似简单,但是由于身处单位不同,其工作中所接触到的技能、项目周期等均有不同;

         工作中,一定要增加自己的技术和业务积累,实施后期无非是项目经理、产品、数据库等方向;

         如果只是入坑试试深浅,建议还是早点脱坑吧,如果有兴趣可以不妨尝试向我上面说的方向努努力;

    展开全文
  • Unity技能系统框架(一)技能效果

    千次阅读 2020-03-20 19:29:23
    这里记录下个人仿DOTA2编写的技能系统结构,借鉴了知乎博文的编辑器思想,使用了ProtoBuf和AdvancedInspector,最后仿照DOTA2的技能数据结构,编写了一套技能系统,个人感觉完全可以用在MOBA、MMORGP上,而且主动...
  • 这是锐捷网络技能大赛-2019年国赛真题[2019年全国职业技能大赛高职组计算机网络应用赛项真题-H卷]路由交换部分答案详解
  • 这篇博文我改了一周,职业生涯所有技能例如javaSE基础,ssm框架,springcloud全家桶,dubbo+zk框架,MySQL数据库,MongoDB数据库,redis缓存,es与solr全文搜索,linux系统,docker应用容器引擎,Activiti工作流,Fastdfs分布式...
  • 技能

    2015-08-14 18:02:52
    全栈技能树 Web前端技能树 HTML
  • 软件技能

    千次阅读 2018-02-27 13:44:53
    摘要:根据我的开发实践及理解,梳理了作为软件工程师解决现实问题应当具备的基础技能。 难度:中级。 编程开发本质是运用程序和计算机来解决现实中的各种问题。因此,编程开发人员的才智发挥载体是计算机或者说...
  • JAVA技能

    2017-01-08 23:44:53
    JAVA核心技术技能树 J2EE技术技能树工作和学习技能树大数据相关技术技能
  • 学习新技能_如何学习新技能

    千次阅读 2020-08-19 08:41:36
    学习新技能Lately I've been trying to analyze how long it takes me to learn a new skill. During the process I came across a widely touted theory, highlighted in a 1993 psychology paper and popularized ...
  • 高效程序员的7个技能

    千次阅读 多人点赞 2020-06-06 19:33:08
    但一旦在谷歌、亚马逊或其他创始公司找到工作,会发现找工作时所学习和准备的技能与实际工作中所使用的技能并不匹配。 PS:这也就是我们所说的“面试造火箭,入职拧螺丝”。 团队领导总结了七条高效程序员应该拥有的...
  • 看了上一篇的技能效果Demo,接下来大概说下该技能系统可实现的一些技能事件和效果。技能一般包含这几个要素: 数据(配置表和资源)、技能属性(消耗能量、冷却时间等)、事件操作(这是一个大的范畴,后面分析)...
  • 这一篇分析一个具体的被动技能:蚁人的影矛 首先看下技能描述:“每个蚁人都是天生的掷手,投掷出长矛刺穿目标的身躯。普通攻击有几率对攻击范围内其他{0}名目标进行相同攻击。”,只要是个程序猿,智商足以总结出...
  • 概览首先给大家展示一下我们一个游戏中设计的技能及编辑器 构思我们很少能听到关于技能的一个定义或描述,那么,如果我们需要用程序思维来概括技能,我们应该怎么措辞才比较准确?当然,对于不同的游戏,技能的设计...
  • 程序员必须掌握的核心技能有哪些?

    万次阅读 多人点赞 2020-03-22 08:20:45
    私下里,经常有一些读者问我:“二哥,作为一名软件开发者,我应该掌握哪些技能,才能被领导赏识呢?”说实话,我心目中很多选项,不少于 20 个,但我斟酌再三,只挑选了其中最能让你受益的 8 个,不仅能让领导赏识...
  • 游戏技能测试点

    千次阅读 2020-10-06 16:29:59
    在游戏中,角色技能是相当重要的一个系统,游戏中有往往有多个角色,一个角色可以有多个技能,每个技能的机制很多是不一样的。所以技能的测试点是不叫复杂的,但是技能在游戏开发时,技能数据都是通过策划填表实现的...
  • 技能雷达图

    千次阅读 2017-06-22 14:04:49
    那就是一张技能雷达图。大致如下: 但是遗憾的是CSDN官方并不支持这一实现,其实对于技能雷达图而言,言简意赅的能表现出一个技术者擅长的领域,以及不擅长的领域。抱着玩一玩的态度,我也着手实现了一下针对CSDN...
  • 如何让前端工程师拥有永不过时的技能

    万次阅读 多人点赞 2020-12-07 10:48:42
    首先,对于前端同学不断学习的态度我是很赞赏的,作为一名开发者,不停的学习新技术是每个开发者需要掌握的必备技能。但如果我们从另外⼀个⻆度来看,⼀个⾏业的新东⻄层出不穷,正说明这个⾏业⼀直在⾼速发
  • 技能设计

    2013-06-06 11:46:36
    技能定义 1 2. 技能对游戏的贡献 1 3. 技能设计中的内在元素 1 3.1. 技能使用前提条件 1 3.1.1. 自身条件 1 3.1.2. 目标条件 2 3.1.3. 场景条件 2 3.2. 触发方式 2 3.2.1. 主动技能: 2 ...
  • 前端简历里面技术技能怎么写 前几天,我在Google文档中为一个Resume Raiders客户制作了一份简历,其中弹出了有关软技能的评论。 该客户是一位经验丰富的移动开发人员,具有多年的经验,但是他想确保自己的“与客户...
  • 开发人员的必备技能

    千次阅读 多人点赞 2017-05-10 10:06:29
    本文尝试列举出最重要的几个技能,也期望通过此列表能给新人一个比较明确的学习重点和路径。
  • DuerOS的零编程技能实现

    千次阅读 2019-11-17 14:40:32
    开发者可以使用DuerOS提高的Bot SDK,像开发Web应用程序那样完成智能语音技能的开发。 从终端用户的视角来看,技能就是一个个具体的智能语音应用;从开发者的视角来看,技能就是支撑智能语音交互的后台应用。程序员...
  • 技能图标赏析

    2018-12-25 10:23:31
    玩过魔兽争霸的同学,都非常了解游戏中各种各样的技能,每个技能都对应一个图标。下面整理了一些图标。  
  • Unity战斗框架 技能框架

    万次阅读 多人点赞 2019-08-05 18:00:12
    技能对象2.1 技能触发2.2 技能执行2.2.1 技能单元处理器2.3 技能接受2.技能流程2.1 初始化流程 1.简介 该框架基本可以概括为以下这句话: 释放某技能后,先左斩一下(播个动画放个特效),触发怪物浮空,再点一下...
  • Android 渲染性能优化——技能

    万次阅读 2020-12-10 20:33:50
    Android 渲染性能优化——技能图 以上是渲染性能优化技能概览图,详细内容请看: 《Android 渲染机制——原理篇(显示原理全过程解析)》 《Android 渲染性能优化——你需要知道的一切!》 还有更多、更多。。。–&...
  • 个人技能(案例一) 熟悉AngularJs、vueJS、React等主流MVC、MVVM框架; 掌握localStorage、sessionStorage等前端存储方案,记录用户操作习惯或常用数据,从而降低HTTP请求,提升用户体验; 掌握JSONP和CORS等跨域...
  • 月薪30K的硬件工程师需要哪些技能

    万次阅读 多人点赞 2021-06-14 14:20:13
    今天的话题是月薪30K的硬件工程师需要哪些技能,努力一下,可以实现。 30K-45K 15薪 资深硬件工程师 合肥华米 8年以上经验会限制很多人,华米是做手环的,有低功耗、蓝牙和WiFi这些工作经验的,是有优势的,

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 557,288
精华内容 222,915
关键字:

技能