public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int aliveHome = 0;
int TotalMoney = 1000000;
object obj = new object();
private void button1_Click(object sender, EventArgs e)
{
if(TotalMoney > 100000)
{
string houseName = "헨젤과 그레텔";
int housePrice = 100000;
Task.Run(() => Show(houseName, housePrice, obj));
} else
{
MessageBox.Show("돈이 없습니다.");
}
}
private void button2_Click(object sender, EventArgs e)
{
if(TotalMoney > 300000)
{
string houseName = "제빵왕 김탁구";
int housePrice = 300000;
Task.Run(() => Show(houseName, housePrice, obj));
} else
{
MessageBox.Show("돈이 없습니다.");
}
}
private void button3_Click(object sender, EventArgs e)
{
if (TotalMoney > 500000)
{
string houseName = "인도 왕자";
int housePrice = 500000;
Task.Run(() => Show(houseName, housePrice, obj));
} else
{
MessageBox.Show("돈이 없습니다.");
}
}
public void Show(string houseName, int housePrice, object obj)
{
lock (obj)
{
listBox1.Items.Add("====================================");
listBox1.Items.Add(houseName + "집에 오신걸 환영합니다.");
pictureBox4.Visible = false;
for (int i = 1; i < 4; i++)
{
Thread.Sleep(1000);
listBox1.Items.Add(string.Format("{0}일이 지났습니다.", i));
aliveHome++;
}
listBox1.Items.Add("집에서 쫒겨났습니다.");
listBox1.Items.Add("====================================");
pictureBox4.Visible = true;
label2.Text = string.Format("총 거주일 : {0} 일", aliveHome);
label1.Text = string.Format("재 산 : {0} 원", TotalMoney = TotalMoney - housePrice);
}
}
}
728x90
'오늘의 코딩' 카테고리의 다른 글
C# Lock (0) | 2022.01.26 |
---|---|
C# Linq (0) | 2022.01.25 |
C# Thread (0) | 2022.01.24 |
C# delegate pizza (0) | 2022.01.24 |
C# listView (0) | 2022.01.23 |