오늘의 학습 키워드
문자열
공부한 내용
문자열 형식 지정
string.format(string format, string args[]);
문자열 대소 비교
string str1 = "Apple";
string str2 = "Banana";
// compare < 0 일 땐 str1 < str2, compare == 0 일 땐 str1 == str2, compare > 0 일 땐 str1 > str2
// A가 B보다 작으므로 음수 나옴
int compare = string.Compare(str1, str2);
문자열 갱신
boardUI가 갱신이 되지 않는 버그 수정
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace sparta
{
class 틱택토_게임
{
static void Main(string[] args)
{
int[] board = new int[9];
int player = 1;
int enemy = 2;
Random random = new Random();
string boardUI = $"-------\n-{board[0]}-{board[1]}-{board[2]}-\n-{board[3]}-{board[4]}-{board[5]}-\n-{board[6]}-{board[7]}-{board[8]}-\n-------";
Console.WriteLine(boardUI);
int user = 0;
bool result = false;
while (true)
{
int tempNum = -1;
tempNum = ChooseNum(board);
// 1 : 012 036 048
// 2 : 012 147
// 3 : 012 258 246
// 4 : 345 036
// 5 : 345 147 048 246
// 6 : 345 258
// 7 : 678 036 246
// 8 : 678 147
// 9 : 678 258 048
// 012 345 678 036 147 258 048 246
board[tempNum] = player;
boardUI = $"-------\n-{board[0]}-{board[1]}-{board[2]}-\n-{board[3]}-{board[4]}-{board[5]}-\n-{board[6]}-{board[7]}-{board[8]}-\n-------";
Console.WriteLine(boardUI);
result = CheckBingo(board, tempNum);
if (result)
{
user = player;
break;
}
tempNum = SelectRandomNum(random, board);
board[tempNum] = enemy;
boardUI = $"-------\n-{board[0]}-{board[1]}-{board[2]}-\n-{board[3]}-{board[4]}-{board[5]}-\n-{board[6]}-{board[7]}-{board[8]}-\n-------";
Console.WriteLine(boardUI);
result = CheckBingo(board, tempNum);
if (result)
{
user = enemy;
break;
}
}
WriteResult(user);
}
}
}
바보 같이 string을 갱신해주지 않아서 생긴 문제였다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace sparta
{
class 틱택토_게임
{
static void Main(string[] args)
{
int[] board = new int[9];
int player = 1;
int enemy = 2;
Random random = new Random();
string boardUI = $"-------\n-{board[0]}-{board[1]}-{board[2]}-\n-{board[3]}-{board[4]}-{board[5]}-\n-{board[6]}-{board[7]}-{board[8]}-\n-------";
Console.WriteLine(boardUI);
int user = 0;
bool result = false;
while (true)
{
int tempNum = -1;
tempNum = ChooseNum(board);
// 1 : 012 036 048
// 2 : 012 147
// 3 : 012 258 246
// 4 : 345 036
// 5 : 345 147 048 246
// 6 : 345 258
// 7 : 678 036 246
// 8 : 678 147
// 9 : 678 258 048
// 012 345 678 036 147 258 048 246
board[tempNum] = player;
boardUI = $"-------\n-{board[0]}-{board[1]}-{board[2]}-\n-{board[3]}-{board[4]}-{board[5]}-\n-{board[6]}-{board[7]}-{board[8]}-\n-------";
Console.WriteLine(boardUI);
result = CheckBingo(board, tempNum);
if (result)
{
user = player;
break;
}
tempNum = SelectRandomNum(random, board);
board[tempNum] = enemy;
boardUI = $"-------\n-{board[0]}-{board[1]}-{board[2]}-\n-{board[3]}-{board[4]}-{board[5]}-\n-{board[6]}-{board[7]}-{board[8]}-\n-------";
Console.WriteLine(boardUI);
result = CheckBingo(board, tempNum);
if (result)
{
user = enemy;
break;
}
}
WriteResult(user);
}
}
}
오늘의 회고
오늘은 12시간 중 10~11시간 정도는 몰입한 것 같다. 구현이 오래 걸리는 문제나 내가 모르는 부분이 있어 정보를 찾는데 시간이 오래 걸렸는데 그 과정이 순탄치는 않았지만 새로 알게된 내용이 많아 재밌었던 것 같다.
내일은 과제로 있는 스네이크 게임과 블랙잭 구현을 마무리 할 것이다.
'스파르타 Unity 1기' 카테고리의 다른 글
내일배움캠프 7일차 TIL - 스네이크 게임과 블랙잭 (0) | 2023.08.16 |
---|---|
내일배움캠프 1주차 WIL - 미니 프로젝트 (0) | 2023.08.14 |
스파르타 Unity 8기 5일차 TIL (0) | 2023.08.11 |
스파르타 Unity 8기 4일차 TIL (0) | 2023.08.10 |
스파르타 Unity 8기 3일차 TIL (0) | 2023.08.09 |