오늘은 코드 구조에 대해서 고민해봄
특히 카드 덱에 카드를 추가하는 과정을
리스트 + append 로 추가 하는 게 더 좋을 거 같다는 갤럼 의견을 적극 참고했고
리스트 안의 리스트로 처리된 카드 뽑기 과정과는 다르게
이젠 일단은 클래스를 시작하기 전 for loop 로 카드를 만들었음
또 카드 덱 리스트에 카드들을 추가할 땐
52장의 카드를 뽑을 땐 random 으로 생성한 난수와 리스트 인덱싱을 결합해 추출,
카드를 실제로 덱으로부터 뽑을 땐 pop으로 뽑는 동시에 리스트로부터 삭제를 해서
이전의 sum 등을 통한 꼼수를 거쳐서
이중 리스트를 풀어내는 과정도 겪을 필요 없이
코드를 좀 더 간편하게 짤 수 있었음
다만 이렇게 하려면 카드의 숫자 부분도 숫자(integer) 가 아닌 문자(string)로 받아야 해서
카드 벨류에이션을 하는 과정에서 조금 미개한 코드가 나왔음
우욱 씹
ㅡㅡ
음 사실 오늘은
오류 뿜는 거랑, 예외 처리를 어떻게 하면 막을 수 있을지 궁리한 시간이 대부분인듯
예상대로 이전에 짠 코드를 보니 개판이었음
(지금도 개판이긴 하지만 조금 더 나아졌다고 생각한다)
ㅡㅡ
이제 진짜 해결해야 할 과제
'어떻게 객체지향적으로 설계할까' 를 공부할 수 있는 단계까지 옴
코드는 완성이 되었으니깐!
다행히도 객체지향적으로 블랙잭을 설계한 사람이 있어서 (블로그 링크, 클릭)
이 구성을 참고하여 다시 한 번 코드를 작성해 보려고 함
비록 자바로 작성된 코드이지만, 객체지향적인 코드인 건 읽을 수 있을테니
적극 참고해서 다시 한 번 더 깔끔해 진 코드를 완성해 보려고 함
ㅡㅡ
내일도 출근이지만 설날 연휴만 바라보면서 힘낸다
프갤러들도 파이팅
해당 댓글은 삭제되었습니다.
acd 나 clover 같은거 벨류에이션한다음, 이제 마지막으로 숫자 벨류에이션 하는 코드만 짤랐음 ㅋㅋㅋ 나머지 앞에도 다 있음
반복문을 두고 왜 대체 조건문 난발을...
문자열 1~10 리스트 만들고 그 리스트 원소랑 같은지 아닌지 비교해도 될것같음 나도 방금 떠올랐다
순서에 상관 없다면 리스트 대신 셋을 써보자 크기가 작아서 큰 의미는 없겠지만.
존나어려윰