頁:
[1]
[已解答]龜兔賽跑
本帖最後由 s9312212 於 2009-12-29 05:13 PM 編輯龜兔賽跑參數如下:
動物 動作 輸入數值 實際格子移動量
---------------------------------------------------------
龜 快爬 1~5 往右3格
滑跤 6、7 往左6格
慢爬 8、9、0 往右1格
----
兔 睡覺 1、2 停格不動
大步跳 3、4 往右9格
大滑跤 5 往左12格
小步跳 6、7、8 往右1格
小滑跤 9、0 往左2格
賽跑開始時,請印出 “砰!!!! 龜兔出發!!!!”訊息
程式則逐次讓使用者分別輸入兩個移動參數,螢幕請印出70格位置,
烏龜所在位置用“龜”標註,兔子所在位置用“兔”標註。
如果烏龜和兔子位於同格,則烏龜會咬兔子,請自該位置印出"好痛!!!"訊息。
每行70格除了“龜”、“兔”、“好痛!!!”之外,餘格皆填空格。
印完龜兔位置後,程式檢查龜兔之一誰先到達或越過第70格,
如果有,模擬即結束。
若烏龜贏,印出 “烏龜贏!!!”; 若兔子贏,印出 “兔子贏”
若兩者同時到終點,印出 “龜兔平手”
若無人到終點,即繼續讓使用者輸入,模擬下一格動作。
有哪位大大能幫忙寫出來...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div> 空白的部分我有加字元...要改的話把
System.out.print("口");
System.out.print("=");
都換成
System.out.print(" ");就好了
import java.util.Scanner;
public class Race {
boolean Start=true;
int t=0;
int r=0;
public static void main(String[] args) {
int u=0,p=0;
Race where = new Race();
while(where.RAC(u,p)){
Scanner scan = new Scanner(System.in);
System.out.print("請輸入移動參數(龜 0-9):");
u=scan.nextInt();
System.out.print("請輸入移動參數(兔 0-9):");
p=scan.nextInt();
System.out.println();
System.out.println();
System.out.println();
}
}
public boolean RAC(int u,int p){
if(!Start){
if((u<=5)&&(u>=1)){
t+=3;
System.out.println("烏龜往前移動了3格");
}else if((u==6)||(u==7)){
t-=6;
System.out.println("烏龜倒退移動了6格");
}else if((u==0)||(u==8)||(u==9)){
t+=1;
System.out.println("烏龜往前移動了1格");
}else{
System.out.println("烏龜的移動參數輸入錯誤唷");
}
if((p==1)||(p==2)){
System.out.println("兔子睡覺中...");
}else if((p==3)||(p==4)){
r+=9;
System.out.println("兔子往前移動了9格");
}else if(p==5){
r-=12;
System.out.println("兔子倒退移動了12格");
}else if((p>5)&&(p<9)){
r+=1;
System.out.println("兔子往前移動了1格");
}else if((p==0)||(p==9)){
r-=2;
System.out.println("兔子倒退移動了1格");
}else{
System.out.println("兔子的移動參數輸入錯誤唷");
}
if(t<0){
t=0;
}
if(r<0){
r=0;
}
if(t>69){
t=69;
}
if(r>69){
r=69;
}
}
int x =0;
do{
for(int i=0;i<70;i++){
System.out.print("口");
}if(x==1){
break;
}
x+=1;
System.out.println();
where(t,r);
System.out.println();
}while(x==1);
if((t==69)&&(r==69)){
System.out.println('\n'+"龜兔平手");
return false;
}else if(t==69){
System.out.println('\n'+"烏龜贏!!");
return false;
}else if(r==69){
System.out.println('\n'+"兔子贏!!");
return false;
}
if(Start){
System.out.println('\n'+"砰!!!! 龜兔出發!!!!");
Start=false;
}else{
System.out.println();
}
return true;
}
public void where(int t,int r){
String T[] = new String;
String R[] = new String;
T="龜";
R="兔";
if((t==r)&&(!Start)&&(t!=69)){
R="好痛!!!";
}
for(String a:T){
if(a==null){
System.out.print("=");
}else{
System.out.print(a);
}
}
System.out.println();
for(String a:R){
if(a==null){
System.out.print("=");
}else{
System.out.print(a);
}
}
}
}
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>
頁:
[1]