CCF CSP 炉石传说 JAVA 201609-3 100分
来源:互联网 发布:ps软件图标 编辑:程序博客网 时间:2024/05/15 23:48
这个题麻烦在角色的信息不好处理
想想其实也好处理,只需要封装一个角色类,将生命值和攻击力封装起来就好了
还有一点是随从进场位置,如果出现在左边要使右面所有随从position+1
其实也好处理,正好!用Link接口实现的有add(index,element)方法,数据在列表中的位置可以完美的表示不同随从的position
更完美的是:“任意时刻,战场上的随从总是从1开始连续编号。”
简直是提醒你用这个方法。
最后注意输出顺序和间隔就好。
package csp2016_09_3;import java.util.ArrayList;import java.util.List;import java.util.Scanner;class Role{int life,power;Role(int life,int power){this.life = life;this.power=power;}Role(int life){this.life=life;}}public class Main{static List<Role> p[] = new ArrayList[2];public static void main(String[] args){Scanner sc = new Scanner(System.in);int n = sc.nextInt();sc.nextLine();for (int i = 0; i < p.length; i++) {p[i] = new ArrayList<Role>();p[i].add(new Role(30,0));}int player = 0;int pos=0,attack=0,health=0;int attacker=0,defender=0;while((n--)!=0){String action = sc.next();if(action.equals("summon")){pos = sc.nextInt();attack = sc.nextInt();health = sc.nextInt();//System.out.println(pos+" "+attack+" "+health);p[player].add(pos, new Role(health,attack));}else if(action.equals("attack")){attacker = sc.nextInt();defender = sc.nextInt();//System.out.println(player+" "+attacker+" "+defender);////for (int i = 0; i < p.length; i++) {//for (int j = 0; j < p[i].size(); j++) {//int pp = p[i].get(j).power;//int hh = p[i].get(j).life;//System.out.print(pp+" "+hh+"||");//}//System.out.println("||");//}//System.out.println(p[player].get(attacker).life+" "+p[player].get(attacker).power);//System.out.println(p[1-player].get(defender).life+" "+p[1-player].get(defender).power);p[player].get(attacker).life -= p[1-player].get(defender).power; p[1-player].get(defender).life -= p[player].get(attacker).power;if(p[player].get(attacker).life <= 0){p[player].remove(attacker);}if(defender!=0 && p[1-player].get(defender).life <= 0){p[1-player].remove(defender);}}else if(action.equals("end")){player = 1-player;}else{System.out.println("error");}}//1if(p[0].get(0).life <=0 ) System.out.println(-1);else if(p[1].get(0).life <=0) System.out.println(1);else System.out.println(0);//2System.out.println(p[0].get(0).life);//3System.out.print(p[0].size()-1+" ");for (int i = 1; i < p[0].size(); i++) {System.out.print(p[0].get(i).life+" ");}System.out.println();//4System.out.println(p[1].get(0).life);//5System.out.print(p[1].size()-1+" ");for (int i = 1; i < p[1].size(); i++) {System.out.print(p[1].get(i).life+" ");}}}
阅读全文
0 0
- CCF CSP 炉石传说 JAVA 201609-3 100分
- CCF CSP 201609-3 炉石传说(Java-100分)
- ccf csp 炉石传说 Java
- CCF CSP试题 201609-3 炉石传说
- CCF CSP 编程题目和解答-----试题名称:炉石传说 -------201609-3
- CCF CSP 201609-1 最大波动(Java-100分)
- CCF CSP 201609-2 火车购票(Java-100分)
- CCF CSP 201612-3 权限查询(Java-100分)
- CCF CSP 路径解析 JAVA 201604-3 100分
- CCF CSP 201703-1 分蛋糕(Java-100分)
- CCF CSP认证2016年9月,NO.3 炉石传说
- CCF CSP 2016年9月第3题 炉石传说(模拟)
- CCF 201609-3 炉石传说
- ccf 201609-3炉石传说
- CCF 201609-3 炉石传说
- 201609-3 炉石传说 ccf
- CCF 201609-3 炉石传说
- CCF CSP 201703-2 学生排队(Java-100分)
- 使用PHP创建一个REST API(译)
- mycat1.6.5分片(枚举)
- 计蒜客 同学的爱好
- hihocoder 1255 Mysterious Antiques in Sackler Museum
- 2017.10.19
- CCF CSP 炉石传说 JAVA 201609-3 100分
- windows socket函数详解
- 深入理解排序算法java版
- 初探 React Router 4.0
- 1.1定时器Timer的使用
- Java设计模式 之 享元模式
- java穷举法小案例
- Go array 练手
- 1041: 最大或