mardi 5 février 2019

Placing points randomly on a 2D board

How can I generate random points (tokens, stones...) on a 2D based game?

Tokens are a 2D array of points : Token[][] gameBoard;

Players are simply paint object. It contains colors of the token that will : Paint bluePaint, redPaint;

On initialization, I can manually place tokens arbitrarly on the board like below (from the onCreate method of the MainActivity):

bluePlayer = new Token(1,bluePaint, bgrBluePaint);
redPlayer = new Token(2, redPaint, bgrRedPaint);
gameBoard = new Token[100][100];

gameBoard[47][47]= redPlayer;
gameBoard[46][47]= bluePlayer;
gameBoard[44][48] = redPlayer; 
gameBoard[44][49]= redPlayer;
gameBoard[45][47]= redPlayer;
gameBoard[45][48]= bluePlayer;
gameBoard[45][49]= bluePlayer;
gameBoard[45][50]= redPlayer;
gameBoard[46][50]= bluePlayer;
gameBoard[46][49]= redPlayer;
gameBoard[46][48]= redPlayer;
gameBoard[47][50]= bluePlayer;
gameBoard[47][48]= bluePlayer;
gameBoard[47][49]= redPlayer;
gameBoard[48][50]= redPlayer;
gameBoard[48][49]= redPlayer;
gameBoard[48][48]= redPlayer;
gameBoard[49][50]= bluePlayer;
gameBoard[48][51]= redPlayer;

So my question is, how to randomly place redPlayer and bluePlayer within a given range of coordinates? I mean I would like them to be placed at the center of the board

class Token {

    private int _player;
    private Paint _paint, _bgrPaint;

    Token(int player, Paint paint, Paint bgrPaint) {
        _player = player;
        _paint = paint;
        _bgrPaint = bgrPaint;
    }

    Paint getPaint() {
        return _paint;
    }

    Paint get_bgrPaint() {
        return _bgrPaint;
    }

    int setPlayer(int _player, int _paint) {

        this._player = _paint;

        return _player;
    }

    int getPlayer() {
        return _player;
    }
}

Above is the Token class




Aucun commentaire:

Enregistrer un commentaire