Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Treue Seele
C#-Quelltext |
|
1 2 3 4 5 6 7 8 9 |
private void Form1_Paint(object sender, PaintEventArgs e) { int pixelCount = 7; int pixelSize = 10; SolidBrush playerBrush = new SolidBrush(Color.Black); Graphics grafik = this.CreateGraphics(); Rectangle[,] recArray = new Rectangle[pixelCount, pixelCount]; } |
Quellcode |
|
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 |
private void Form1_Paint(object sender, PaintEventArgs e) { int pixelCount = 7; int pixelSize = 10; //int space = 2; //temporary for visibility; Pen black = new Pen(Color.Black); Graphics grafik = this.CreateGraphics(); Rectangle[,] recArray = new Rectangle[pixelCount, pixelCount]; for (int x = 0; x < pixelCount; x++) { for (int y = 0; y < pixelCount; y++) { recArray[x, y] = new Rectangle((x * pixelSize),(y * pixelSize), pixelSize, pixelSize); } } for (int x = 0; x < pixelCount; x++) { for (int y = 0; y < pixelCount; y++) { grafik.DrawRectangle(black, recArray[x, y]); } } } |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Tician« (16.08.2016, 15:46)
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
bool b = true; recArray[3, 3] = b; for (int x = 0; x < pixelCount; x++) { for (int y = 0; y < pixelCount; y++) { if (recArray[x,y] == true) { grafik.FillRectangle(black, recArray[x, y]); } else { grafik.DrawRectangle(transparent, recArray[x, y]); } } } |
Treue Seele
C#-Quelltext |
|
1 2 3 4 |
class LabyrinthTile { public Rectangle { get; set;} public bool IsFree { get; set; } } |
C#-Quelltext |
|
1 |
var recArray = new LabyrinthTile[pixelCount, pixelCount]; |
C#-Quelltext |
|
1 |
if (recArray[x,y].IsFree)
|
C#-Quelltext |
|
1 |
grafik.FillRectangle(recArray[x,y].Rectangle); |
Quellcode |
|
1 2 3 4 5 6 7 8 |
class MazeTile { public bool Wall { get; set; } struct Rectangle { int pixelsize { get; set; } } } |
Quellcode |
|
1 |
public Rectangle { get; set;} |
Treue Seele
C#-Quelltext |
|
1 2 3 4 |
class LabyrinthTile { public Rectangle Rectangle { get; set;} public bool IsFree { get; set; } } |
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Paint(object sender, PaintEventArgs e) { try { int pixelCount = 7; int pixelSize = 10; SolidBrush black = new SolidBrush(Color.Black); Graphics grafik = this.CreateGraphics(); var recArray = new MazeTile[pixelCount, pixelCount]; //declare //recArray[3, 3].Wall = true; //SystemNullException //recArray[1, 1].Wall = true; for (int x = 0; x < pixelCount; x++) { for (int y = 0; y < pixelCount; y++) { //recArray[x, y].Rectangle.X = x * pixelSize; Rectangle rec = new Rectangle((x * pixelSize), (y * pixelSize), pixelSize, pixelSize); recArray[x, y] = new MazeTile(); recArray[x, y].Rectangle = rec; if (recArray[x, y].Wall == true) { grafik.FillRectangle(black, recArray[x, y].Rectangle); } } } } catch (Exception ex) { MessageBox.Show(ex.Message); } } } class MazeTile { public bool Wall { get; set; } public Rectangle Rectangle { get; set; } } |
C#-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
//declare recArray[3, 3] = new MazeTile(); recArray[3, 3].Wall = true; //SystemNullException //recArray[1, 1].Wall = true; for (int x = 0; x < pixelCount; x++) { for (int y = 0; y < pixelCount; y++) { Rectangle rec = new Rectangle((x * pixelSize), (y * pixelSize), pixelSize, pixelSize); var tile = (recArray[x, y]); if (tile != null && tile.Wall) grafik.FillRectangle(black, rec); else grafik.DrawRectangle(Pens.Black, rec); } } |
Treue Seele
weiß nicht wo ich mein "IsFree" (="Wall", ich glaube das habe ich umgedreht) setzen kann da ich ja vorher das Objekt erstellen muss. Du hattest gemeint das irgendwie in die Klasse zu packen, was meintest du genau?
C#-Quelltext |
|
1 2 3 |
for (var x = 0; x < pixelCount; x++) for(var y = 0; y < pixelCount; y++) recArray[x,y] = new MazeTile() { Rectangle = new Rectangle(...), Wall = true }; |
C#-Quelltext |
|
1 2 3 4 5 6 7 8 9 |
class MazeTile { public Rectangle Rectangle { get; private set; } public bool Wall { get; private set; } public MazeTile(Rectangle rect, bool wall) { Rectangle = rect; Wall = wall; } } |
C#-Quelltext |
|
1 |
recArray[x,y] = new MazeTile(new Rectangle(...), true); |
C#-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
class MazeTile { public Rectangle Rectangle { get; private set; } public bool Wall { get; private set; } private SolidBrush blackBrush; public MazeTile(Rectangle rect, bool wall) { Rectangle = rect; Wall = wall; blackBrush = new SolidBrush(Color.Black); } public void Draw(Graphics grafik) { if (this.Wall) grafik.FillRectangle(blackBrush , rec); else grafik.DrawRectangle(Pens.Black, rec); } } |
C#-Quelltext |
|
1 2 3 |
for (var x = 0; x < pixelCount; x++) for(var y = 0; y < pixelCount; y++) recArray[x,y].Draw(grafik) |
Werbeanzeige