Hallo NachMan,
danke, wie doof, es bringt ja wenig rechts aus dem Fenster heraus zu zeichnen. Das mit der Position verstehe ich noch nicht so genau. Ich muss diese doch nach Jedem mal setzen?
Die ungarische Notation, ja ... ist eigentlich unnötig, stimmt. X und Y in der for-Schleife erstellen, auch eine Möglichkeit. Nun zu dem Thema mit dem Flackern, wie meinst du das genau? So:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
// Spielfeld zeichnen
for (y=0; y<Hoehe; y++)
{
for(x=0; x<Breite; x++)
{
if(nGame[x][y] == true)
{
window.clear();
window.draw(sBlockDef); // schwarzen Block mit weißem Rand als Abgrenzung
window.display();
std::cout << "X"; // in der Konsole "X" ausgeben
}
else if (nGame[x][y] == false)
{
window.clear();
window.draw(sBlack); // für später nutzbare Felder, schwarzen Block mit weißem Kreis in der Mitte
window.display();
std::cout << " "; // " " in der Konsole ausgeben
}
vBlockDef.x += 24; // Pro durchlauf die X-Pos um 24 Px erhöhen (ein Block ist 24x24 Px groß)
sBlockDef.setPosition(vBlockDef.x, vBlockDef.y); // Position setzen
sBlack.setPosition(vBlockDef.x, vBlockDef.y); // ""
}
vBlockDef.y += 24; // Das Gleiche mit der Y-Pos
vBlockDef.x = 0;
sBlockDef.setPosition(vBlockDef.x, vBlockDef.y); //
sBlack.setPosition(vBlockDef.x, vBlockDef.y); //
std::cout << std:: endl; // Neue Zeile in Konsole
}
|
Danke nochmal!
LG
EDIT: So macht es garkeinen Sinn, wieder zu wenig nachgedacht. Könntest du mir trotzdem erklären wie du es meintest?