我想用面板畫一條街道,但不行。我想要一個循環,但我無法完成它。牆和屋頂必須比左邊的房子小20%。C#繪圖房屋比左側房屋小20%
我的代碼:
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 5; i++)
{
HuisTekenen();
}
}
private void HuisTekenen()
{
gebouw();
dak();
}
private void gebouw()
{
Graphics paper;
paper = panel1.CreateGraphics();
Pen pennetje = new Pen(Color.Green);
int b = 100;
int aantal = 0;
for (int i = 10; aantal <= 5; i += 120)
{
paper.DrawRectangle(pennetje, i, 100, b, 150);
aantal++;
i = i/100 * 80;
b = b/100 * 80;
}
}
private void dak()
{
Graphics paper;
paper = panel1.CreateGraphics();
Pen pennetje = new Pen(Color.Red);
int b = 100;
int aantal = 0;
for (int i = 10; aantal <= 5; i+=120)
{
paper.DrawLine(pennetje, i, 10/100 * 80, i, b);
paper.DrawLine(pennetje, i, 10/100 * 80, i + 100, b);
aantal++;
i = i/100 * 80;
b = 100/100 * 80;
}
}
你能幫助我嗎?
謝謝!
你現在得到了什麼結果? –
添加了我現在擁有的屏幕截圖,我已經有了他們必須建造的房屋,只有更小的東西不會工作 – Arendax
關於設計的副作用:我希望你調用方法'DrawHouse' 5次,傳遞它的參數(從循環「i」計算)。 'DrawHouse'既可以繪製完整的房屋,又可以調用'DrawWalls' +'DrawRoof',將它們的一部分傳遞給接收到的矩形(例如,頂部的矩形的上1/3)。 – Sinatr