using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
namespace CuteCat
{
// 고양이를 정의하는 설계도 = class Cat
public class Cat // class의 접근제한자 : internal(아무것도 적지않으면)
// internal은 Cutcat이라는 namespace안에서만 작동가능하다. > 반대 : public
{
public String Name; // private : 이 클래스 내부에서만 사용가능
public int Age; // public : 어디에서나 사용가능
// 아무런 제한자를 적지않으면 private이지만 명시를 해주는 것이 좋다.
private int Happiness = 50;
// 생성자 생성(pulbic)
public Cat(string name, int age)
{
this.Name = name;
this.Age = age;
}
// 고양이의 행위 play, eat, Express
public void Play()
{
Happiness += 10;
if (Happiness > 100)
{
Happiness = 100;
}
}
public void Eat()
{
Happiness += 20;
if (Happiness > 100)
{
Happiness = 100;
}
}
public string Express()
{
string message;
if (80 <= Happiness)
{
message = "행복하네";
}
else if (60 <= Happiness)
{
message = "쏘쏘하네";
}
else if (40 <= Happiness)
{
message = "보통이네";
}
else if (20 <= Happiness)
{
message = "우울하네";
}
else
{
message = "슬프네";
}
return Name + ": " + message;
}
public void GetBoard()
{
Happiness -= 10;
if (Happiness < 0)
{
Happiness = 0;
}
}
}
}
- Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace CuteCat
{
public partial class Form1 : Form
{
// Form1 class에 Cat타입을 가지는 mycat 객체 생성
private Cat Mycat = new Cat("범이", 2);
public Form1()
{
InitializeComponent();
}
private void Play_Click(object sender, EventArgs e)
{
Mycat.Play();
CatScreen.Text = Mycat.Express();
}
private void Feed_Click(object sender, EventArgs e)
{
Mycat.Eat();
CatScreen.Text = Mycat.Express();
}
private void CatTimer_Tick(object sender, EventArgs e)
{
Mycat.GetBoard();
CatScreen.Text = Mycat.Express();
}
}
}
- Cat.cs
'C#' 카테고리의 다른 글
2020.09.01 - Customer 클래스 (0) | 2020.09.02 |
---|---|
2020.09.01 - C#의 구조체 (0) | 2020.09.01 |
2020.08.27(목) - C# (0) | 2020.08.27 |
2020.08.26(수) - C# (0) | 2020.08.26 |
2020.08.25(화) - C# 윈폼 (0) | 2020.08.25 |