这是我们这一阶段的项目作业,Game部分大部分代码功能无法实现
_________________________________________________________________________________________--
地图文件:
package game.tcs.z;public class Map { String together="@@";
String player1="A";
String player2="B";
String luck="¤";
String lei="★";
String pause="■";
String time="〓";
String road="∷";


public void creatmap(){


String[][] map=new String[31][10];

for(int  j=0;j<10;j++){
for( int i=0;i<31;i++){
 
switch(j){
case 0:
if(i==4||i==8||i==26){
map[i][j]=lei;
}else if(i==5||i==22){
map[i][j]=luck;
}else if(i==15||i==29){
map[i][j]=pause;
}else if(i==17||i==27){
map[i][j]=time;
}else{
map[i][j]=road;}
System.out.print(map[i][j]);


break;
case 1 :
if(i==30){
map[i][j]=road;
}else{
map[i][j]=" ";
}
System.out.print(map[i][j]);

break;
case 2 :
if(i==30){
map[i][j]=lei;
}else{
map[i][j]=" ";
}
System.out.print(map[i][j]);

break;
case 3 :
if(i==30){
map[i][j]=road;
}else{
map[i][j]=" ";
}
System.out.print(map[i][j]);

break;
case 4 :
if(i==30){
map[i][j]=road;
}else{
map[i][j]=" ";
}
System.out.print(map[i][j]);

break;
case 5:
if(i==9||i==26){
map[i][j]=lei;
}else if(i==16||i==3){
map[i][j]=luck;
}else if(i==22){
map[i][j]=pause;
}else if(i==0||i==17){
map[i][j]=time;
}else {
map[i][j]=road;
}
System.out.print(map[i][j]);
break;
case 6 :
if(i==0){
map[i][j]=road;
}else{
map[i][j]=" ";
}
System.out.print(map[i][j]);

break;
case 7 :
if(i==0){
map[i][j]=road;
}else{
map[i][j]=" ";
}
System.out.print(map[i][j]);

break;
case 8 :
if(i==0){
map[i][j]=pause;
}else{
map[i][j]=" ";
}
System.out.print(map[i][j]);
break;
case 9:
if(i==3||i==9){
map[i][j]=lei;
}else if(i==12||i==17){
map[i][j]=luck;
}else if(i==29){
map[i][j]=pause;
}else if(i==6||i==22){
map[i][j]=time;
}else{
map[i][j]=road;
}
System.out.print(map[i][j]);
break;

}

}
System.out.println();
}

}
  public String ad(int a,int b){

  String[][] map=new String[31][10];

 
for( int j=0;j<10;j++){
for(int i=0;i<31;i++){
 
switch(j){
case 0:
if(i==4||i==8||i==26){
map[i][j]=lei;
}else if(i==5||i==22){
map[i][j]=luck;
}else if(i==15||i==29){
map[i][j]=pause;
}else if(i==17||i==27){
map[i][j]=time;
}else{
map[i][j]=road;}



break;
case 1 :
if(i==30){
map[i][j]=road;
}else{
map[i][j]=" ";
}


break;
case 2 :
if(i==30){
map[i][j]=lei;
}else{
map[i][j]=" ";
}


break;
case 3 :
if(i==30){
map[i][j]=road;
}else{
map[i][j]=" ";
}


break;
case 4 :
if(i==30){
map[i][j]=road;
}else{
map[i][j]=" ";
}


break;
case 5:
if(i==9||i==26){
map[i][j]=lei;
}else if(i==16||i==3){
map[i][j]=luck;
}else if(i==22){
map[i][j]=pause;
}else if(i==0||i==17){
map[i][j]=time;
}else {
map[i][j]=road;
}

break;
case 6 :
if(i==0){
map[i][j]=road;
}else{
map[i][j]=" ";
}


break;
case 7 :
if(i==0){
map[i][j]=road;
}else{
map[i][j]=" ";
}


break;
case 8 :
if(i==0){
map[i][j]=pause;
}else{
map[i][j]=" ";
}

break;
case 9:
if(i==3||i==9){
map[i][j]=lei;
}else if(i==12||i==17){
map[i][j]=luck;
}else if(i==29){
map[i][j]=pause;
}else if(i==6||i==22){
map[i][j]=time;
}else{
map[i][j]=road;
}

break;

}

}

}return "您现在的位置"+(map[a][b]);

}
}
————————————————————————————————————————————————————————————————————————————————package game.tcs.z;
import java.util.*;
public class Game { public static void main(String[] args) {
Map map=new Map();
Map x=new Map();
Map y=new Map();
int a=0 ,b=0 ,c=0, d=0;
Scanner input=new Scanner(System.in);

String name1="";
String name2="";
System.out.println("请玩家1选择你要用的人物:1.戴高乐;2.拿破仑;3.林肯;");
int e=input.nextInt();
switch(e){
case 1:
 name1="戴高乐";
break;
case 2:
name1="拿破仑";
break;
case 3:
 name1="林肯";
break;

}
System.out.println("请玩家2选择你要用的人物:1.威灵顿;2.诸葛亮;3.林彪;");
int f=input.nextInt();
switch(f){
case 1:
name2="威灵顿";
break;
case 2:
name2="诸葛亮";
break;
case 3:
 name2="林彪";
break;

}
System.out.println( name1+"的士兵:   A");
System.out.println( name2+"的士兵:   B");

map.creatmap();

System.out.println(x.player1+x.ad(a,b));
System.out.println(y.player2+y.ad(c,d));

int step1;
int step2;
while(a<=30&&b<10){
if(!x.ad(a, b).equals("■")){
step1=throwshifter();
System.out.println("色子为"+step1);
if(b==0&&a<=24){
a+=step1;

}else if(b==0&&a>24){
if(step1<(30-a)){
a+=step1;
}else if(step1>=(30-a)){
b+=step1-(30-a);
a=30;

}
}else if(b==1||b==2||b==3||b==4){
if(step1<(5-b)){
b+=step1;
}else if(step1>=(5-b)){
a-=step1-(5-b);
b=5;

}
}else if(b==5&&a>=6){
a=a-step1;
}else if(b==5&&a<6){
if(step1<=(a-0)){
a-=step1;
}else if(step1>a){
b+=(step1-a);
a=0;
}
}else if(b==6||b==7||b==8){
if(step1<(9-b)){
b+=step1;
}else if(step1>=(9-b)){
a+=step1-(9-b);
b=9;
}
}else if(b==9){
a+=step1;
if(a>=30){
System.out.println(name1+"的A,您获胜了");
break;
}
}
System.out.println(name1+"的"+x.player1+x.ad(a,b));
if(x.ad(a, b).equals("★")){
if(b==2){
b-=1;
}else if(b==5){
a+=1;
}else{
a-=1;
}
}else if(x.ad(a, b).equals("¤")){
System.out.println("玩家碰到幸运罗盘,请选择选项:1.与对手调换位置;2.让对手后退三格");
int m=input.nextInt();
switch(m){
case 1:
int u,w;
u=a;
w=b;
a=c;
b=d;
c=u;
d=w;
break;
case 2:
if(d==0){
c-=3;
}else if(d==1){
d-=1;
c-=2;
}else if(d==2){
d-=2;
c-=1;
}else if(d==3||d==4||d==5&&c==30){
d-=3;

}else if(d==5&&c==29){
c+=1;
d-=2;
}else if(d==5&&c==28){
c+=2;
d-=3;
}else if(d==5&&c<=27){
c+=3;
}else if(d==6){
d-=1;
c+=2;
}else if(d==7){
d-=2;
c+=1;
}else if(d==8){
d-=3;

}else if(d==9&&c==0){
d-=3;
}else if(d==9&&c==1){
c-=1;
d-=2;
}else if(d==9&&c==2){
c-=2;
d-=1;
}else {
c-=3;
}
break;

}
}
map.creatmap();

}else{
System.out.println("停止营业一天");
}
}
}
public static int throwshifter(){

int q=(int)(Math.random()*6)+1;
return q;
}


}

解决方案 »

  1.   

    lz,有问题,问具体一点啊……
    代码太长,又不工整,又没注释……
    一般人都不想读别人的code的
      

  2.   

    额。。不是我写的不工整复制过来以后就成这个样子了不好意思啊。。各位费点力气帮忙看下吧if(x.ad(a, b).equals("★"))
    else if(x.ad(a, b).equals("¤"))
    if(!x.ad(a, b).equals("■"))
    这三个语句后面的部分都不执行。
      

  3.   

    -------------------------------------------------------------------------------
    地图文件
    package game.tcs.z;public class Map { String together="@@";
    String player1="A";
    String player2="B";
    String luck="¤";
    String lei="★";
    String pause="■";
    String time="〓";
    String road="∷";


    public void creatmap(){


    String[][] map=new String[31][10];

    for(int  j=0;j<10;j++){
    for( int i=0;i<31;i++){
     
    switch(j){
    case 0:
    if(i==4||i==8||i==26){
    map[i][j]=lei;
    }else if(i==5||i==22){
    map[i][j]=luck;
    }else if(i==15||i==29){
    map[i][j]=pause;
    }else if(i==17||i==27){
    map[i][j]=time;
    }else{
    map[i][j]=road;}
    System.out.print(map[i][j]);


    break;
    case 1 :
    if(i==30){
    map[i][j]=road;
    }else{
    map[i][j]=" ";
    }
    System.out.print(map[i][j]);

    break;
    case 2 :
    if(i==30){
    map[i][j]=lei;
    }else{
    map[i][j]=" ";
    }
    System.out.print(map[i][j]);

    break;
    case 3 :
    if(i==30){
    map[i][j]=road;
    }else{
    map[i][j]=" ";
    }
    System.out.print(map[i][j]);

    break;
    case 4 :
    if(i==30){
    map[i][j]=road;
    }else{
    map[i][j]=" ";
    }
    System.out.print(map[i][j]);

    break;
    case 5:
    if(i==9||i==26){
    map[i][j]=lei;
    }else if(i==16||i==3){
    map[i][j]=luck;
    }else if(i==22){
    map[i][j]=pause;
    }else if(i==0||i==17){
    map[i][j]=time;
    }else {
    map[i][j]=road;
    }
    System.out.print(map[i][j]);
    break;
    case 6 :
    if(i==0){
    map[i][j]=road;
    }else{
    map[i][j]=" ";
    }
    System.out.print(map[i][j]);

    break;
    case 7 :
    if(i==0){
    map[i][j]=road;
    }else{
    map[i][j]=" ";
    }
    System.out.print(map[i][j]);

    break;
    case 8 :
    if(i==0){
    map[i][j]=pause;
    }else{
    map[i][j]=" ";
    }
    System.out.print(map[i][j]);
    break;
    case 9:
    if(i==3||i==9){
    map[i][j]=lei;
    }else if(i==12||i==17){
    map[i][j]=luck;
    }else if(i==29){
    map[i][j]=pause;
    }else if(i==6||i==22){
    map[i][j]=time;
    }else{
    map[i][j]=road;
    }
    System.out.print(map[i][j]);
    break;

    }

    }
    System.out.println();
    }

    }
      public String ad(int a,int b){

      String[][] map=new String[31][10];

     
    for( int j=0;j<10;j++){
    for(int i=0;i<31;i++){
     
    switch(j){
    case 0:
    if(i==4||i==8||i==26){
    map[i][j]=lei;
    }else if(i==5||i==22){
    map[i][j]=luck;
    }else if(i==15||i==29){
    map[i][j]=pause;
    }else if(i==17||i==27){
    map[i][j]=time;
    }else{
    map[i][j]=road;}



    break;
    case 1 :
    if(i==30){
    map[i][j]=road;
    }else{
    map[i][j]=" ";
    }


    break;
    case 2 :
    if(i==30){
    map[i][j]=lei;
    }else{
    map[i][j]=" ";
    }


    break;
    case 3 :
    if(i==30){
    map[i][j]=road;
    }else{
    map[i][j]=" ";
    }


    break;
    case 4 :
    if(i==30){
    map[i][j]=road;
    }else{
    map[i][j]=" ";
    }


    break;
    case 5:
    if(i==9||i==26){
    map[i][j]=lei;
    }else if(i==16||i==3){
    map[i][j]=luck;
    }else if(i==22){
    map[i][j]=pause;
    }else if(i==0||i==17){
    map[i][j]=time;
    }else {
    map[i][j]=road;
    }

    break;
    case 6 :
    if(i==0){
    map[i][j]=road;
    }else{
    map[i][j]=" ";
    }


    break;
    case 7 :
    if(i==0){
    map[i][j]=road;
    }else{
    map[i][j]=" ";
    }


    break;
    case 8 :
    if(i==0){
    map[i][j]=pause;
    }else{
    map[i][j]=" ";
    }

    break;
    case 9:
    if(i==3||i==9){
    map[i][j]=lei;
    }else if(i==12||i==17){
    map[i][j]=luck;
    }else if(i==29){
    map[i][j]=pause;
    }else if(i==6||i==22){
    map[i][j]=time;
    }else{
    map[i][j]=road;
    }

    break;

    }

    }

    }return "您现在的位置"+(map[a][b]);

    }
    }
      

  4.   

    --------------------------------------------------------------
    游戏文件package game.tcs.z;
    import java.util.*;
    public class Game { public static void main(String[] args) {
    Map map=new Map();
    Map x=new Map();
    Map y=new Map();
    int a=0 ,b=0 ,c=0, d=0;
    Scanner input=new Scanner(System.in);

    String name1="";
    String name2="";
    System.out.println("请玩家1选择你要用的人物:1.戴高乐;2.拿破仑;3.林肯;");
    int e=input.nextInt();
    switch(e){
    case 1:
     name1="戴高乐";
    break;
    case 2:
    name1="拿破仑";
    break;
    case 3:
     name1="林肯";
    break;

    }
    System.out.println("请玩家2选择你要用的人物:1.威灵顿;2.诸葛亮;3.林彪;");
    int f=input.nextInt();
    switch(f){
    case 1:
    name2="威灵顿";
    break;
    case 2:
    name2="诸葛亮";
    break;
    case 3:
     name2="林彪";
    break;

    }
    System.out.println( name1+"的士兵:   A");
    System.out.println( name2+"的士兵:   B");

    map.creatmap();

    System.out.println(x.player1+x.ad(a,b));
    System.out.println(y.player2+y.ad(c,d));



    int step1;
    int step2;
    while(a<=30&&b<10){
    if(!x.ad(a, b).equals("■")){
    int o=0 ;
    if(x.ad(a, b)=="★"){
    o=1;
    }else if(x.ad(a, b)=="¤"){
    o=2;

    }
    step1=throwshifter();
    System.out.println("色子为"+step1);
    if(b==0&&a<=24){
    a+=step1;

    }else if(b==0&&a>24){
    if(step1<(30-a)){
    a+=step1;
    }else if(step1>=(30-a)){
    b+=step1-(30-a);
    a=30;

    }
    }else if(b==1||b==2||b==3||b==4){
    if(step1<(5-b)){
    b+=step1;
    }else if(step1>=(5-b)){
    a-=step1-(5-b);
    b=5;

    }
    }else if(b==5&&a>=6){
    a=a-step1;
    }else if(b==5&&a<6){
    if(step1<=(a-0)){
    a-=step1;
    }else if(step1>a){
    b+=(step1-a);
    a=0;
    }
    }else if(b==6||b==7||b==8){
    if(step1<(9-b)){
    b+=step1;
    }else if(step1>=(9-b)){
    a+=step1-(9-b);
    b=9;
    }
    }else if(b==9){
    a+=step1;
    if(a>=30){
    System.out.println(name1+"的A,您获胜了");
    break;
    }
    }

    System.out.println(name1+"的"+x.player1+x.ad(a,b)+o);
    switch(o){
    case 1:
    System.out.println(name1+"退后一格");
    if(b==2){
    b-=1;
    }else if(b==5){
    a+=1;
    }else{
    a-=1;
    }
    case 2 :

    System.out.println(name1+"玩家碰到幸运罗盘,请选择选项:1.与对手调换位置;2.让对手后退三格");
    int m=input.nextInt();
    switch(m){
    case 1:
    int u,w;
    u=a;
    w=b;
    a=c;
    b=d;
    c=u;
    d=w;
    break;
    case 2:
    if(d==0){
    c-=3;
    }else if(d==1){
    d-=1;
    c-=2;
    }else if(d==2){
    d-=2;
    c-=1;
    }else if(d==3||d==4||d==5&&c==30){
    d-=3;

    }else if(d==5&&c==29){
    c+=1;
    d-=2;
    }else if(d==5&&c==28){
    c+=2;
    d-=3;
    }else if(d==5&&c<=27){
    c+=3;
    }else if(d==6){
    d-=1;
    c+=2;
    }else if(d==7){
    d-=2;
    c+=1;
    }else if(d==8){
    d-=3;

    }else if(d==9&&c==0){
    d-=3;
    }else if(d==9&&c==1){
    c-=1;
    d-=2;
    }else if(d==9&&c==2){
    c-=2;
    d-=1;
    }else {
    c-=3;
    }
    break;

    }

    }
    map.creatmap();

    }else{
    System.out.println("停止营业一天");
    }
    }
    }
    public static int throwshifter(){

    int q=(int)(Math.random()*6)+1;
    return q;
    }


    }