GizeH
Legacy Member
Ik wil bij het maken van een de pionnen voor een bordspel, een random kleur toekennen in de constructor. (per pion)
De mogelijke kleuren staan in een dictionary.
Het probleem is echter dat bij het uitvoeren van de code, alle pionnen telkens dezelfde kleur hebben TENZIJ ik de code debug, dan worden de kleuren toch afgewisseld...
En hier het stukje waarin de pieces gemaakt worden:
De mogelijke kleuren staan in een dictionary.
Het probleem is echter dat bij het uitvoeren van de code, alle pionnen telkens dezelfde kleur hebben TENZIJ ik de code debug, dan worden de kleuren toch afgewisseld...

Code:
class Piece: Sprite
{
Dictionary<string, Color> _pieceColors = new Dictionary<string, Color>();
public Piece()
{
_pieceColors["red"] = new Color(1, 0, 0, 1);
_pieceColors["green"] = new Color(0, 1, 0, 1);
_pieceColors["blue"] = new Color(0, 0, 1, 1);
_pieceColors["yellow"] = new Color(1, 1, 0, 1);
List<string> keyList = new List<string>(_pieceColors.Keys);
int size = _pieceColors.Count;
Random rand = new Random();
string randomKey = keyList[rand.Next(size)];
Color col = _pieceColors[randomKey];
this.SetColor(col);
this.SetWidth(50);
this.SetHeight(50);
}
public void Render(Renderer _renderer)
{
_renderer.DrawSprite(this);
}
}
En hier het stukje waarin de pieces gemaakt worden:
Code:
board = new Piece[_rows, _cols];
double gap = 10;
double x = -25; //50/2
double y = -35;
for (int r = 0; r < _rows; r++)
{
for (int c = 0; c < _cols; c++)
{
Piece p = new Piece();
p.SetPosition(new Vector(x, y,0));
x += p.GetWidth();
x += gap;
board[r, c] = p;
}
x = -25;
y -= 50;
y -= gap;
}
.