vendredi 3 avril 2020

How to rerandomize plots on a grid with math.random

I am assigning 3 chars (two 'T's and one 'S') to a 10 x 10 grid. I have that down but I want to know how I could re randomize the char's positions if they end up on the same spot. Basically I am creating a little game where I am a soldier (S) and am on a grid with two Targets (T). Eventually I will have to eliminate the targets but I fist I want to make sure each one ends up in it's own spot. here is my code

import java.lang.Math;
public class PaintBall_Thomas{
    public static void fillGrid(char[][] battleField){
      for ( int i = 0; i < battleField.length; i++){
        for ( int j = 0; j < battleField[i].length; j++){
          battleField[i][j] = '-';
        }
      }
      battleField[((int)(Math.random()*10))][((int)(Math.random()*10))] = 'S';//assigns a random number between 1-10 and assigns it to either soldier/target
      battleField[((int)(Math.random()*10))][((int)(Math.random()*10))] = 'T';
      battleField[((int)(Math.random()*10))][((int)(Math.random()*10))] = 'T';
      for ( int i = 0; i < battleField.length; i++){
        for ( int j = 0; j < battleField[i].length; j++){

          System.out.print(battleField[i][j] + " ");
        }
        System.out.println();
      }
    }//end of fillGrid method
    public static void main(String[] args) {
      int columns = 10;
      int rows = 10;
      System.out.println("----------GRID----------");
      //end of main
      char[][] battleField = new char [rows][columns];
      fillGrid(battleField);
  }
}



Aucun commentaire:

Enregistrer un commentaire