2016-09-26 37 views
0

我想使X行向a,b,c,d,e,f,g,h,i,j和y行向1,2,3,4,5,6,7,8,9,10 但我認真無法弄清楚它是如何做...這裏是我目前擁有的代碼:試圖作出戰艦座標,無法弄清楚如何使X行 - A,B,C,...和y按行1,2,3 ...,10

namespace BattleShip.UI 
{ 
    public class Boards 
    { 
     public void DrawBoard() 
     { 
      char[,] Hi = new char[11, 11]; 
      for (int i = 0; i < 11; i++) 
      { 
       for (int j = 0; j < 11; j++) 
       { 
        Hi[i, j] = 'A'; 
       } 
      } 

      Console.WriteLine("\n"); 
      for (int i = 0; i < 11; i++) 
      { 
       Console.Write($" {Hi[0, i]} "); 
      } 

      Console.WriteLine("\n"); 
      for (int i = 0; i < 10; i++) 
      { 
       Console.WriteLine(); 
       Console.Write("  "); 
       for (int j = 0; j < 10; j++) 
       { 
        Console.Write(" - - - "); 
       } 

       Console.WriteLine(); 
       Console.Write($" {Hi[i, 0]} "); 
       for (int j = 0; j < 10; j++) 
       { 
        Console.Write($" - {Hi[i, j]} - "); 
       } 
       Console.WriteLine(); 
       Console.Write("  "); 
       for (int j = 0; j < 10; j++) 
       { 
        Console.Write(" - - - "); 
       } 
       Console.WriteLine("\n"); 
      } 
     } 
    } 
} 
+0

則該問題和代碼是有道理的。試着包括一個你想要輸出看起來像什麼的確切例子。 –

+0

目前還不清楚你想要做什麼。你創建一個11x11陣列 - 有121個元素。 –

回答

0

這聽起來像你想一個二維數組,但預爲軸定義你的標籤。當你創建一個二維數組時,你只需要保存基於數組索引的值。

目前你正在做這將是困難的。然而,使用二維數組的方式是一艘戰艦類型的遊戲是個好主意,因爲數組將始終是正方形。

如果我在那裏,你我將創建數組,然後在每個指標把1或0取決於是否存在船舶對「廣場」。當用戶類型,如位置「A3」我會轉換信(用的方法),並檢查該位置的數組。如果有一個1擊中!如果有一個0錯過!

0

我目前正在與建設戰艦艱難,但能夠打印板的兩個用戶播放。

這是我的用於添加1 2 3 ...代碼和A B C d ...的用戶板的外部。

命名空間BattleShip.UI { 公共類PrintBoard { 公共靜態無效printboard(板對板) {

 Console.WriteLine(" 1 2 3 4 5 6 7 8 9 10"); 
     for (int i = 1; i <= 10; i++) 
     { 
      Console.Write($"{LetterToWrite(i)}"); 
      for (int y = 1; y <= 10; y++) 
      { 

       Coordinate coordinate = new Coordinate(i, y); 
       ShotHistory ValShotHist = board.CheckCoordinate(coordinate); 
       switch (ValShotHist) 
       { 
        case ShotHistory.Unknown: 
         Console.Write(" ! "); 
         break; 
        case ShotHistory.Miss: 
         Console.Write(" M "); 
         break; 
        case ShotHistory.Hit: 
         Console.Write(" H "); 
         break; 
        default: 
         Console.Write(" ! "); 
         break; 
       } 
      } 
       Console.WriteLine(""); 
      } 
    } 
    public static char LetterToWrite(int i) 
    { 
     switch (i) 
     { 
      case 1: 
       return 'A'; 
      case 2: 
       return 'B'; 
      case 3: 
       return 'C'; 
      case 4: 
       return 'D'; 
      case 5: 
       return 'E'; 
      case 6: 
       return 'F'; 
      case 7: 
       return 'G';`` 
      case 8: 
       return 'H'; 
      case 9: 
       return 'I'; 
      default: 
       return 'J'; 
     } 

    } 
} 

}