用java开发dota英雄最华丽的技能(实例讲解)

爱java 爱dota,突发奇想想用java开发dota操作最华丽的英雄之一的卡尔的技能,因为本人系小白,代码不足的地方还请包涵,有同样爱好的同学欢迎一起研究学习。

先把我的代码呈上

import java.util.*;
public class TestDotakaer{
  public static void main(String[] args){

    Scanner sc = new Scanner(System.in);
    System.out.println("请输入q、w、e中的三个字母");
    int count1=0;
    int count2=0;
    int count3=0;
    for(int i=0;i<3;i++){
    String a=sc.next();

     if(a.equals("q")){
      System.out.println("冰元素");

      count1++;

     }
     if(a.equals("w")){
      System.out.println("雷元素");

      count2++;
     }
     if(a.equals("e")){
      System.out.println("火元素");

      count3++;
     }

    }
     System.out.println("您需要按按键r来整合元素成为技能");
     String d = sc.next();
     if(d.equals("r")){
    if(count1==0){
      if(count2==0){
        System.out.println("您已经切出了技能三阳之炎(eee)");

      }
      if(count2==1){
        System.out.println("您已经切出了技能混沌陨石(eew)");
      }
      if(count2==2){
        System.out.println("您已经切出了技能灵动迅捷(wwe)");
      }
      if(count2==3){
        System.out.println("您已经切出了技能电磁脉冲(www)");
      }

    }
     if(count1==1){
       if(count2==0){
        System.out.println("您已经切出了技能熔炉精灵(qee)");

      }
      if(count2==1){
        System.out.println("您已经切出了技能超震声波(qwe)");
      }
      if(count2==2){
        System.out.println("您已经切出了技能强袭飓风(qww)");
      }

     }
     if(count1==2){
       if(count2==0){
        System.out.println("您已经切出了技能寒冰之墙(qqe)");

      }
      if(count2==1){
        System.out.println("您已经切出了技能幽灵漫步(qqw)");
      }
     }
     if(count1==3){
       System.out.println("您已经切出了技能急速冷却(qqq)");
     }

    }
    else{
      System.out.println("您需要按r,如果不按r您不能够合成技能");

    }
  }
}

首先介绍下我的代码的大致执行过程

1、先是引用Scanner来定义一个对象sc,再去定义卡尔冰、雷、火三种不同的元素(q----冰、w----雷、e----火)

2、用键盘输入三次元素(q、w、e随意输入三次)

3、用for语句做三次循环并计数(执行一次q,count1加1,执行一次w,count2加1,执行一次q,count3加1)

4、输入三次元素之后,在输入r,来合成技能,用一个if语句来判断是否输入r,如果输入继续执行,如果输入错误那么切技能失败,并且输出"您需要按r,如果不按r您不能够合成技能"。

5、输入r没问题且继续执行,用if语句去判断三次元素具体输入结果,并根据结果的不同,切出不同的技能(为了简便直接用字母代替技能EEE、WEE、WWE、WWW、QEE、QWE、QWW、QQW、QQE、QQQ)

这样一来,卡尔技能程序就已经被简单的编译出来,老生常谈,程序还有很多要修改提高的地方,我会一边学习,一遍完善这个程序,有兴趣的同学可以一起研究,也可以创新新英雄技能的施法过程!

以上这篇用java开发dota英雄最华丽的技能(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 用java开发dota英雄最华丽的技能(实例讲解)

    爱java 爱dota,突发奇想想用java开发dota操作最华丽的英雄之一的卡尔的技能,因为本人系小白,代码不足的地方还请包涵,有同样爱好的同学欢迎一起研究学习. 先把我的代码呈上 import java.util.*; public class TestDotakaer{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.println("请输入q.w.e中的三个字母

  • JAVA 开发之用静态方法返回类名的实例详解

    JAVA 开发之用静态方法返回类名的实例详解 前言: 最初碰到这个问题,首先想到的是getClass()方法, 如下尝试: public static String getClassName() { String className=null; className=this.getClass().getName();//静态方法中不可访问变量 this return className; } 结果失败. 偶然发现有人利用异常处理可以获得,真是另辟蹊径,巧妙的很. 实现代码: public sta

  • Java窗体居中显示的2种方法(实例讲解)

    第1种方法: //setSize(300, 200); pack(); // 得到显示器屏幕的宽.高 int width = Toolkit.getDefaultToolkit().getScreenSize().width; int height = Toolkit.getDefaultToolkit().getScreenSize().height; // 得到窗体的宽.高 int windowsWidth = this.getWidth(); int windowsHeight = thi

  • java 线程之对象的同步和异步(实例讲解)

    一.多线程环境下的同步与异步 同步:A线程要请求某个资源,但是此资源正在被B线程使用中,因为同步机制存在,A线程请求不到,怎么办,A线程只能等待下去. package com.jalja.org.thread.demo01; public class Thread02 { public synchronized void method1(){ System.out.println("method1:"+Thread.currentThread().getName()); try { T

  • Java高级之虚拟机加载机制的实例讲解

    Jvm要加载的是二进制流,可以是.class文件形式,也可以是其他形式,按照它加载的标准来设计就不会有太大问题. 以下主要就机制和标准两个问题分析一番: 首先来Java类文件的加载机制 ,跟变量的加载机制类似,它先把Class文件加载入内存,再对数据进行验证.解析和初始化,最终形成虚拟机可以直接使用的Java类型.由于Java是采用JIT机制,所以加载时会比较慢,但优点也明显,具有高度灵活性,支持动态加载和动态连接. 接下来就讲讲类的加载过程: 一个类加载的基本过程是按照下面的顺序 来,但也有不

  • Java Vector和ArrayList的异同分析及实例讲解

    在线程中有两种常用的方法,能够通过数组实现相应的功能,但除此之外在区别上也是很明显的.本篇就其中的代表方法ArrayList和Vector进行比较分析,一个是非线程安全,另一个是线程安全.在进行相同和不同点的分析之后,带来二者的实例代码对比,帮助大家体会它们的异同. 1.相同点 (1)都是有序集合. (2)数据不允许重复. (3)都实现了list接口. (4)都是通过数组实现的. (5)数组进行复制.移动.代价比较高,因此,适合随机查询和遍历,不适合插入和删除. 2.不同点 (1)ArrayLi

  • nodejs开发一个最简单的web服务器实例讲解

    开发一个最简单的http服务 require 引入http模块 创建http服务 侦听端口 实战案例 vim server.js // 使用JavaScript最严格的语法,防止出现一些问题 'use strict' // 引入http模块 var http = require("http"); // 创建一个服务 var app = http.createServer(function(req, res){ // 设置http头 res.writeHead(200, {"C

  • java Bean与json对象间的转换实例讲解

    java Bean与json对象间的转换 /** * 一 JSON.parseObject() 单个对象 或map 大括号{} * 二 JSON.parseArray() 多个对象 数组[] 复杂的要在类中定义类 * 三 JSON.toJSONString() javaBean与JSON格式字符串之间的转换 * * 四 javaBean与json对象间的转换使用:JSON.toJSON(obj),然后使用强制类型转换,JSONObject或者JSONArray */ @Test public v

  • Java的RxJava库操作符的用法及实例讲解

    操作符就是为了解决对Observable对象的变换的问题,操作符用于在Observable和最终的Subscriber之间修改Observable发出的事件.RxJava提供了很多很有用的操作符. 比如map操作符,就是用来把把一个事件转换为另一个事件的. Observable.just("Hello, world!") .map(new Func1<String, String>() { @Override public String call(String s) { r

  • [JAVA]十四种Java开发工具点评

    在计算机开发语言的历史中,从来没有哪种语言象Java那样受到如此众多厂商的支持,有如此多的开发工具,Java菜鸟们如初入大观园的刘姥姥,看花了眼,不知该何种选择.的确,这些工具各有所长,都没有绝对完美的,就算是老鸟也很难做出选择.在本文中我简要介绍了常见的十四种Java开发工具的特点,管中窥"器",希望能对大家有所帮助. 1.JDK (Java Development Kit) 2.Java Workshop 3.NetBeans 与Sun Java Studio 5 4.Borlan

随机推荐