1.1요구사항
1일차 : 출석함, 빵(소보루) 1개 받음, 빵 1개 먹음, 남은 빵 : 0개
2일차 : 출석함, 빵(단밭빵) 1개 받음, 빵 안먹음, 남은 빵 : 1개 (단밭빵)
3일차 : 출석함, 빵(소라빵) 안받음, 빵 안먹음, 남은 빵 1개 (단밭빵)
4일차 : 출석함, 빵(소보루) 1개 받음, 빵 안먹음, 남은 빵 2개 (단밭빵, 소보루)
5일차 : 출석함, 빵(단밭빵) 1개 받음, 빵 1개 먹음(소보루), 남은 빵 2개 (단밭빵2개)
6일차 : 출석함, 빵(소보루) 1개 받음, 빵 안먹음, 남은 빵 3개 (단밭빵2, 소보루1)
7일차 : 출석함, 빵(소보루랑 단팥빵) 2개 받음, 빵 안먹음, 남은 빵 5개 (소보루2개, 단밭빵 3개)
빵 1개당 20원원으로 교환 해줌
가지고 있는 빵은 5개
빵을 교환 해서 받은 금액은 : 100원
1.2.결과 화면
1.3.소스 코드
void Start() { System.Text.StringBuilder tPrint = new System.Text.StringBuilder(); int soraBread = 0;//가지고 있는 소라빵 수 int soboBread = 0;//가지고 있는 소보루 수 int redbBread = 0;//가지고 있는 단팥빵 수 bool isAttendent = true;//출석 여부 bool isGetreward = true;//보상 받을지 여부 int breadChe = 0;//보상빵 선택 int saveAttendent = 0;//누적한 출석한 횟수 int saveGetreward = 0;//누적한 보상받은 횟수 int totalGetreward = 0;//누적한 현재 보유 빵 //7일간 출석 및 보상 for (int day = 1; day < 8; day++) { //출석으로 보상 받기 if (isAttendent) { saveAttendent++;//누적 출석 tPrint.Append("\n" + day + "일차 출석하였습니다."); //보상 받을지 여부 if (!(day == 3)) { isGetreward = true; } else { isGetreward = !isGetreward; } //보상 받기 if (isGetreward) { if(breadChe%2 == 0) { tPrint.Append("\n++보상으로 소보루를 받았습니다."); soboBread++; totalGetreward++; saveGetreward++; breadChe++; } else { tPrint.Append("\n++보상으로 단팥빵을 받았습니다."); redbBread++; totalGetreward++; saveGetreward++; breadChe++; } } else { tPrint.Append("\n오늘 보상으로 빵을 받지 않았습니다."); } } else { tPrint.Append("\n출석 하지않아 보상을 못받습니다."); } //배고파서 빵먹기 if (day == 1 || day == 5) { tPrint.Append("\n--배고파서 소보루를 먹었습니다."); soboBread--; totalGetreward--; } tPrint.Append("\n**지금 보유한 빵은 소라빵 " + soraBread + "개 소보루 " + soboBread + "개 단팥빵 " + redbBread + "개 입니다."); } //못받은 빵이 있는지 확인 if (!(saveAttendent == saveGetreward)) { tPrint.Append("\n++못받았던 빵 " + (saveAttendent - saveGetreward) + "개를 추가로 받았습니다."); //못받은빵 랜덤으로 1가지 주기 for (int i = 0; i < (saveAttendent - saveGetreward); i++) { tPrint.Append("\n++보상으로 소보루를 받았습니다."); soboBread++; totalGetreward++; saveGetreward++; } saveGetreward = saveGetreward + (saveAttendent - saveGetreward); tPrint.Append("\n>>총 출석으로 받은 빵이 " + totalGetreward + "개 있습니다."); } //받은 빵 판매 if (!(totalGetreward == 0)) { tPrint.Append("\n))최종 보유한 빵은 소라빵 " + soraBread + "개 소보루 " + soboBread + "개 단팥빵 " + redbBread + "개 입니다."); tPrint.Append("\n$$남아있던 빵을 개당 20원씩 하여 " + (totalGetreward * 20) + "골드 받았습니다"); } Debug.Log(tPrint.ToString()); }
2.1.요구 사항
-출석을 1일차부터 7일차까지 7일동안
-출석 보상으로 3가지 빵 중 하나를 준다.
-3일차는 무조건 출석후 빵을 안받는다.
-1일차와 5일차에 가지고 있는 빵을 먹는다.
-7일차(마지막 날)에 못받은 빵을 받는다.
-남은 빵은 모두 개당 20골드로 바꾼다.
추가내용
-보상으로 빵을 3가지중 1개를 랜덤으로 준다
-빵을 먹을때 가지고 있는것중 랜덤으로 먹는다.
2.2.결과 화면
2.3.소스 코드
void Start () { System.Text.StringBuilder tPrint = new System.Text.StringBuilder(); int soraBread = 0;//가지고 있는 소라빵 수 int soboBread = 0;//가지고 있는 소보루 수 int redbBread = 0;//가지고 있는 단팥빵 수 bool isAttendent = true;//출석 여부 bool isGetreward = true;//보상 받을지 여부 int breadPer = 0;//빵 나올 확률 int saveAttendent = 0;//누적한 출석한 횟수 int saveGetreward = 0;//누적한 보상받은 횟수 int totalGetreward = 0;//누적한 현재 보유 빵 //7일간 출석 및 보상 for (int day = 1; day < 8; day++) { //출석으로 보상 받기 if (isAttendent) { saveAttendent++;//누적 출석 tPrint.Append("\n"+day + "일차 출석하였습니다."); //보상 받을지 여부 if (!(day == 3)) { isGetreward = true; } else { isGetreward = !isGetreward; } //보상 받기 if (isGetreward) { breadPer = Random.Range(1, 4); if (breadPer == 1) { tPrint.Append("\n++보상으로 소라빵을 받았습니다."); soraBread++; totalGetreward++; saveGetreward++; } else if (breadPer == 2) { tPrint.Append("\n++보상으로 소보루를 받았습니다."); soboBread++; totalGetreward++; saveGetreward++; } else if (breadPer == 3) { tPrint.Append("\n++보상으로 단팥빵을 받았습니다."); redbBread++; totalGetreward++; saveGetreward++; } else { tPrint.Append("ERORR 코드 작성 오류"); } } else { tPrint.Append("\n오늘 보상으로 빵을 받지 않았습니다."); } } else { tPrint.Append("\n출석 하지않아 보상을 못받습니다."); } //배고파서 빵먹기 if (day == 1 || day == 5) { for (int check = 0; check <= 0; check++) { breadPer = Random.Range(1, 4); if ((breadPer % 3) == 1 && soraBread > 0) { tPrint.Append("\n--배고파서 소라빵을 먹었습니다."); soraBread--; totalGetreward--; } else if ((breadPer % 3) == 2 && soboBread > 0) { tPrint.Append("\n--배고파서 소보루를 먹었습니다."); soboBread--; totalGetreward--; } else if ((breadPer % 3) == 0 && redbBread > 0) { tPrint.Append("\n--배고파서 단팥빵을 먹었습니다."); redbBread--; totalGetreward--; } else { check--; } } } tPrint.Append("\n**지금 보유한 빵은 소라빵 " + soraBread + "개 소보루 " + soboBread + "개 단팥빵 " + redbBread + "개 입니다."); } //못받은 빵이 있는지 확인 if (!(saveAttendent == saveGetreward)) { tPrint.Append("\n++못받았던 빵 " + (saveAttendent - saveGetreward) + "개를 추가로 받았습니다."); //못받은빵 랜덤으로 1가지 주기 for (int i = 0; i < (saveAttendent - saveGetreward); i++) { if (isGetreward) { breadPer = Random.Range(1, 4); if (breadPer == 1) { tPrint.Append("\n++보상으로 소라빵을 받았습니다."); soraBread++; totalGetreward++; } else if (breadPer == 2) { tPrint.Append("\n++보상으로 소보루를 받았습니다."); soboBread++; totalGetreward++; } else if (breadPer == 3) { tPrint.Append("\n++보상으로 단팥빵을 받았습니다."); redbBread++; totalGetreward++; } else { tPrint.Append("ERORR 코드 작성 오류"); } } } saveGetreward = saveGetreward + (saveAttendent - saveGetreward); tPrint.Append("\n>>총 출석으로 받은 빵이 " + totalGetreward + "개 있습니다."); } //받은 빵 판매 if (!(totalGetreward == 0)) { tPrint.Append("\n))최종 보유한 빵은 소라빵 " + soraBread + "개 소보루 " + soboBread + "개 단팥빵 " + redbBread + "개 입니다."); tPrint.Append("\n$$남아있던 빵을 개당 20원씩 하여 " + (totalGetreward * 20) + "골드 받았습니다"); } Debug.Log(tPrint.ToString()); }
'정리 카테고리 > 실습_과제' 카테고리의 다른 글
실습_비밀번호 설정 및 확인 프로그램 (0) | 2018.03.06 |
---|---|
C# 머드게임 기초 _ 굶주린 늑대를 잡아보자. (1) | 2018.03.02 |
02.26~27 수업중 내용 연습 (2) | 2018.02.27 |
Unity-5일차 실습-과제 (02-26) (0) | 2018.02.26 |
Unity-4일차 실습-과제 (02-23) (0) | 2018.02.23 |