private void Form3_Paint(object sender, PaintEventArgs e)
{
for (int i = 1; i <= this.MapSize; i++)
{
e.Graphics.DrawLine(blackPen, block, block * i, block * this.MapSize, block * i);//°¡·Î
e.Graphics.DrawLine(blackPen, block * i, block, block * i, block * this.MapSize);//¼¼·Î
}
}//¹ÙµÏÆÇ ¹è¿ ±×¸®±â
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
private void button1_Click_1(object sender, EventArgs e)
{
int index = 0; Boolean stop = false;
for (int i = 0; i < BugCount.Length; i++)
{
BugCount[i].Size = new Size((int)(block *0.5), (int)(block *0.5));
CurrentPosition[i].X = r.Next(1, MapSize) * block;
CurrentPosition[i].Y = r.Next(1, MapSize) * block;
BugCount[i].Location = new Point(CurrentPosition[i].X, CurrentPosition[i].Y);
}//óÀ½¿¡ »çÁøÀ§Ä¡ ¾Æ¹«·¸°Ô ÁÖ±â (BugCount[i] //PictureBox ¹è¿ÀÓ)
while (true)
{
textBox1.Text = String.Format("{0} {1}", BeerLocation.X, BeerLocation.Y);
for (int i = 0; i < BugCount.Length; i++)
{
if (CurrentPosition[i].X == BeerLocation.X && CurrentPosition[i].Y == BeerLocation.Y)
{
MessageBox.Show("ã¾Ò½À´Ï´Ù!");
stop = true;
break;
}
}
textBox2.Text = String.Format("{0} {1}", CurrentPosition[0].X, CurrentPosition[0].Y);
if (stop == true)
break;
for (int i = 0; i < BugCount.Length; i++)
{
direction[0] = r.Next(8);
switch (direction[0])
{
case 0:
if (CurrentPosition[i].Y == block) break;
CurrentPosition[i].Y -= block;
BugCount[i].Location = new Point(CurrentPosition[i].X,CurrentPosition[i].Y);
break;
case 1:
if (CurrentPosition[i].Y == block || CurrentPosition[i].X == 4*block) break;
CurrentPosition[i].X += block; CurrentPosition[i].Y -= block;
BugCount[i].Location = new Point(CurrentPosition[i].X, CurrentPosition[i].Y);
break;
case 2:
if (CurrentPosition[i].X == 4*block) break;
CurrentPosition[i].X += block;
BugCount[i].Location = new Point(CurrentPosition[i].X, CurrentPosition[i].Y);
break;
case 3:
if (CurrentPosition[i].Y == 4 * block || CurrentPosition[i].X == 4 * block) break;
CurrentPosition[i].X += block; CurrentPosition[i].Y += block;
BugCount[i].Location = new Point(CurrentPosition[i].X, CurrentPosition[i].Y);
break;
case 4:
if (CurrentPosition[i].Y == 4 * block) break;
CurrentPosition[i].Y += block;
BugCount[i].Location = new Point(CurrentPosition[i].X, CurrentPosition[i].Y);
break;
case 5:
if (CurrentPosition[i].Y == 4 * block || CurrentPosition[i].X == block) break;
CurrentPosition[i].X -= block; CurrentPosition[i].Y += block;
BugCount[i].Location = new Point(CurrentPosition[i].X, CurrentPosition[i].Y );
break;
case 6:
if (CurrentPosition[i].X == block) break;
CurrentPosition[i].X -= block;
BugCount[i].Location = new Point(CurrentPosition[i].X, CurrentPosition[i].Y);
break;
case 7:
if (CurrentPosition[i].Y == block|| CurrentPosition[i].X ==block) break;
CurrentPosition[i].X -= block; CurrentPosition[i].Y -= block;
BugCount[i].Location = new Point(CurrentPosition[i].X, CurrentPosition[i].Y);
break;
}//end of switch*/
Thread.Sleep(200);
this.Invalidate();//¿ä³ðÀÌ ¹®Á¦?
}//end of for
index++;
}//end of while
}//end of btn1
C#ÀÔ´Ï´Ù . º¸±â¿Í °°ÀÌ invalidate()¸¦ È£ÃâÇØ¢Z´Âµ¥ ±×·¯¸é paint()ÇÔ¼ö°¡ È£ÃâµÇ¾î¾ßÇÏ´Â°Ô ¾Æ´Ñ°¡¿ä?±×·¯¸é ¹ÙµÏÆÇ ¹è¿À» ´Ù½Ã ±×·Á¾ßÇϴµ¥ ¾È±×¸®´Âµ¥¿ä;
Áö±Ý ¹®Á¦°¡ »çÁøÀÌ(¹«´ç¹ú·¹) ¿òÁ÷ÀÌ¸é ¹ÙµÏÆÇ¹è¿ÀÌ Àú·¸°Ô Áö¿öÁý´Ï´Ù... ȸéÀ» ¹ú·¹°¡ ¿òÁ÷À϶§¸¶´Ù ±×·ÁÁà¾ßÇҰͰ°Àºµ¥ ¾î¶»ÇÏ¸é µÇ³ª¿ä??