本篇文章给大家谈谈飞行骑士,以及飓风骑士对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
急求骑士飞行棋的代码
画MAP类:
package s1java.xmal1;
public class Map{
int[] map=new int[100];//0:普通
int[] luckyTurn={6,23,40,55,69,83};//1:幸运轮盘
int[] landMine={5,13,17,33,38,50,64,80,94};//2:地雷
int[] pause={9,27,60,93};//3:暂停
int[] timeTunnel={20,25,45,63,72,88,90};//4:时空隧道
//给map[]写入各种符号
public void createMap(){
for(int i=0;i<luckyTurn.length;i++){
map[luckyTurn[i]]=1;
}
for(int i=0;i<landMine.length;i++){
map[landMine[i]]=2;
}
for(int i=0;i<pause.length;i++){
map[pause[i]]=3;
}
for(int i=0;i<timeTunnel.length;i++){
map[timeTunnel[i]]=4;
}
}
public void showMap(int playerPos1,int playerPos2){
showLine1(0,31,playerPos1,playerPos2);
showRLine(31,35,playerPos1,playerPos2);
showLine2(35,66,playerPos1,playerPos2);
showLLine(66,69,playerPos1,playerPos2);
showLine1(69,100,playerPos1,playerPos2);
}
public void showLine1(int start,int end,int playerPos1,int playerPos2){
for(int i=start;i<end;i++){
System.out.print(getGraph(map[i],i,playerPos1,playerPos2));
}
System.out.println();
}
public void showRLine(int start,int end,int playerPos1,int playerPos2){
for(int i=start;i<end;i++){
for(int j=0;j<73;j++){
System.out.print("");
}
System.out.println(getGraph(map[i],i,playerPos1,playerPos2));
}
}
public void showLine2(int start,int end,int playerPos1,int playerPos2){
for(int i=end-1;i>=start;i--){
System.out.print(getGraph(map[i],i,playerPos1,playerPos2));
}
System.out.println();
}
public void showLLine(int start,int end,int playerPos1,int playerPos2){
for(int i=start;i<end;i++){
System.out.println(getGraph(map[i],i,playerPos1,playerPos2));
}
}
public String getGraph(int i,int index,int playerPos1,int playerPos2){
String graph="";
if(index==playerPos1&&index==playerPos2){
graph="@@";
}else if(index==playerPos1){
graph="A";
}else if(index==playerPos2){
graph="B";
}else{
switch(i){
case 1:
graph="¤";
break;
case 2:
graph="★";
break;
case 3:
graph="■";
break;
case 4:
graph="〓";
break;
default:graph="⊙";
break;
}
}
return graph;
}
}
Game类:
package s1java.xmal1;
import java.util.Scanner;
public class Game{
Scanner input= new Scanner(System.in);
Map map;
int playerPos1;
int playerPos2;
String[] goAndStop=new String[2];
String[] playerName=new String[2];
public void init(){
map=new Map();
map.createMap();
map.showMap(0, 0);
goAndStop[0]="on";
goAndStop[1]="on";
}
public void setRole(int no,int role){
switch(role){
case 1:playerName[no-1]="比尔";break;
case 2:playerName[no-1]="奥巴马";break;
case 3:playerName[no-1]="普京";break;
case 4:playerName[no-1]="布朗";break;
}
}
public int throwShifter(int no){
int step=0;
System.out.println(playerName[no-1]+"按任意字母键回车:");
String answer=input.next();
step=(int)(Math.random()*10%6)+1;
return step;
}
public int getCurPos(int no,int position,int step){
position=position+step;
if(position>99){
return 99;
}
switch(map.map[position]){
case 0://普通格
if(no==1&&playerPos2==position){//玩家1与玩家2相遇
playerPos2=0;
System.out.println(":-D哈哈哈...踩到了!");
}else if(no==2&&playerPos1==position){
playerPos1=0;
System.out.println(":-D哈哈哈...踩到了!");
}
break;
case 1://幸运轮盘
System.out.println("\n◆◇◆◇◆◇欢迎进入幸运轮盘◆◇◆◇◆◇");
System.out.println("请选择一种运气:");
System.out.println("1.交换位置2.轰炸对手");
int choice=input.nextInt();
int temp;
switch(choice){
case 1://交换位置
if(no==1){
temp=position;
position=playerPos2;
playerPos2=temp;
}else if(no==2){
temp=position;
position=playerPos1;
playerPos1=temp;
}
break;
case 2://轰炸对手
if(no==1){
if(playerPos2<6){
playerPos2=0;
}else{
playerPos2-=6;
}
}else if(no==2){
if(playerPos1<6){
playerPos1=0;
}else{
playerPos1-=6;
}}
break;
}
break;
case 2://地雷
position-=6;
System.out.println("踩到地雷,气死了。");
break;
case 3://暂停
goAndStop[no-1]="off";
System.out.println("~~>_<~~要停战一局了。");
break;
case 4://时空隧道
position+=10;
System.out.println("|-P进入时空隧道真爽!");
break;
}
if(position<0){
return 0;
}else if(position>99){
return 99;
}else{
return position;
}
}
public void judge(){
if(playerPos1>playerPos2){
System.out.println("玩家1"+playerName[0]+"最先到达终点,获得胜利。恭喜!恭喜!");
}else{
System.out.println("玩家2"+playerName[1]+"最先到达终点,获得胜利。恭喜!恭喜!");
}
}
public void play(){
System.out.println("\n\n\n\n");
System.out.println("\n※※※※※※※※※※※※※※※※※※※※※※※※※\n");
System.out.println(" Game Start\n");
System.out.println("※※※※※※※※※※※※※※※※※※※※※※※※※\n\n");
System.out.println("^_^"+playerName[0]+"的士兵: A");
System.out.println("^_^"+playerName[1]+"的士兵: B\n");
System.out.println("\n图例:"+"■暂停¤幸运轮盘★地雷〓时空隧道⊙普通\n");
map.showMap(playerPos1, playerPos2);
int step;
while(playerPos1<99&&playerPos2<99){
if(goAndStop[0].equals("on")){
step= throwShifter(1);
System.out.println("\n-----------------------");
System.out.println("骰子数"+step);
playerPos1=getCurPos(1,playerPos1,step);
System.out.println("你"+playerName[0]+"当前的位置:"+playerPos1);
System.out.println("对手"+playerName[1]+"当前的位置:"+playerPos2);
System.out.println("\n-----------------------");
map.showMap(playerPos1, playerPos2);
if(playerPos1==99){
break;
}
}else{
System.out.println("\n"+playerName[0]+"停掷一次。\n");
goAndStop[0]="on";
}
System.out.println("\n\n\n\n");
if(goAndStop[1].equals("on")){
step= throwShifter(2);
System.out.println("\n-------------------------------");
System.out.println("骰子数"+step);
playerPos2=getCurPos(2,playerPos2,step);
System.out.println("你"+playerName[1]+"当前的位置:"+playerPos2);
System.out.println("对手"+playerName[0]+"当前的位置:"+playerPos1);
System.out.println("\n-------------------------------");
map.showMap(playerPos1, playerPos2);
if(playerPos2==99){
break;
}
}else{
System.out.println("\n"+playerName[1]+"停掷一次。\n");
goAndStop[1]="on";
}
System.out.println("\n\n\n\n");
}
System.out.println("\n\n\n\n");
System.out.println("\n************************************************\n");
System.out.println(" Game Over\n");
System.out.println("************************************************\n\n");
judge();
}
public void start(){
init();
System.out.println("\n※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※");
System.out.println("////");
System.out.println("////");
System.out.println("//骑士飞行棋//");
System.out.println("////");
System.out.println("////");
System.out.println("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~两人对战~~~~~~~~~~~~~~~~~~~~~~~~");
System.out.println("请选择角色:1.比尔2.奥巴马3.普京4.布朗");
System.out.println("请玩家1选择角色:");
int role1=input.nextInt();
int role2;
do{
System.out.println("请玩家2选择角色:");
role2=input.nextInt();
}while(role2==role1);
setRole(1,role1);
setRole(2,role2);
play();
}
}
主方法类:
package s1java.xmal1;
public class StartGame{
public static void main(String[] args){
Game game=new Game();
game.start();
}
}
死亡骑士在哪里学飞行
能学习飞行骑术的地方有四个
1、暴风城/奥格瑞玛:这里的训练师包含了除云端翔龙骑术和四风的智慧以外全部骑术的训练,并且暴风城或奥格瑞玛声望崇拜时,骑术价格能打8折
2、沙塔斯:这里的骑术训练师包含专家级以下的所有骑术训练,沙塔尔声望崇拜8折
3、达拉然:这里的骑术除艾泽拉斯飞行师执照、云端翔龙骑术、四风的智慧以外,全部骑术都有,肯瑞托声望崇拜8折
4、七星殿/双月殿:包含全部的骑术训练,除了云端翔龙骑术(因为这骑术是任务给的没地方学),这里不打折
任何种族和职业都是到这四个地方学习骑术的
天空骑士的基本特征
变身口号为“变身!!”
利用腰带“Tornado”变身。
跳跃力:利用“重力降低装置”垂直跳200m;不用“重力降低装置”垂直跳30m、跳远100m、助跑跳远350m
视力:常人的20倍
听力:常人的20倍,1km远的针落地声音也能听见
步行速度:60km/h
飞行速度:800km/h
拳力:50t
踢力:80t
最大飞行高度:10000m(一说5000m)
绝招:天空踢、天空拳在第28话中,天空骑士因接受前七位假面骑士前辈的“友情大特训”并接收了七位前辈的能量输送之后,全身颜色变的更为鲜明亮丽。其移动速度超越前辈,能追上速度力压前辈的高速怪人。而且战斗力也得到了大幅度强化,训练成功之后掌握了99种必杀技。
变身口号在第35话以前为“变身!!”,第35话以后为“天空…变身!!”
E Signal:可以感应到200m以内的敌人的细微动作
视力:常人的30倍
听力:常人的50倍,可以听到30km远的声音
弱点(唯一):在全力使出天空骑士踢后0.5秒的空窗期(详见第47集)
飞行速度:亚光速-->光速(Decade)
拳力:90t
踢力:125.5t