IT

ChatGPT 와 함께 할리갈리 보드게임 만들기 두번째

인공지능하마 2023. 11. 3. 23:53
반응형

안녕하세요 인공지능하마 입니다.

 

문득 할리갈리 보드게임 만들기 포스트를 빨리 써야 겠다는 생각이 들었습니다.

개발 경험을 살려 ChatGPT와 함께 노코딩으로 게임 만들어야 겠다고 생각했지만

결국 ChatGPT 의 예제를 활용해서 완성을 해야 하는 상황이 되었습니다.

ChatGPT가 완성하지 못한 코딩을 마무리 하려니 안구에 습기가...

 

포스팅을 작성하기 위해 오랜만에 JavaScript CSS코딩을 해봤습니다.

역시나 CSS 의 심오한 세계를 다시 감탄하며 포스팅을 시작하겠습니다.

 

ChatGPT 로 기본적인 핵심 코드들은 전달 받았지만. 게임으로 만들기에는 많이 부족했습니다.

수정해야 할 부분이 많았는데요.

 

 

1. 화면 디자인 구성

2. 카드 이동, 뒤집기 

3. 종 눌렀을때 카드계산

4. 승리, 패배 판단

 

핵심만 전달해 드리겠습니다.

ChatGPT 가 만들어준 화면의 카드 영역을 하나로 모으는 작업을 수행 했습니다.

 

ChatGPT 가 만들어준 화면

 

CSS를 활용하여 수동으로 추가한 이벤트 효과들입니다. 

position: absolute; 설정으로 위치를 고정해 줍니다. 

transition: 0.5s; cardElement.style.left="150px";  카드가 오른쪽으로 이동하는 효과를 줍니다.

cardElement.style.transform = "rotateY(180deg)"; 카드를 뒤집는 효과를 줍니다.

 

추가로 생성 및 수정한 함수 목록입니다.

 

gamestart() 시작버튼 누를때 게임 시작

flipCard1() 카드 뒤집기에 이벤트 효과

isFiveYN() 과일 다섯개 일때 눌렀는가?

pressBell() 벨 눌렀을때 이벤트 처리

 

 

 

과일 다섯개 일때 눌렀는가?  예제로 하나만 살펴보면

- 카드가 하나 뒤집어진 경우 과일이 5개 이면 성공

- 카드가 두게 뒤집어진 경우 동일한 과일이라면 과일합이 5개 이면 성공

- 나머지 경우에는 실패

		function isFiveYN(){
		
			const el1 = player1Pile2Element;
			const el2 = player2Pile2Element;
			elem1 = el1.lastElementChild;
			elem2 = el2.lastElementChild;
		
			var rst = false;
			if(elem1 == null && elem2 == null){
				
			}else if(elem1 != null && elem2 == null){
				if(elem1.card.number == 5){
					rst = true;
				}
			}else if(elem1 == null && elem2 != null){
				if(elem2.card.number == 5){
					rst = true;
				}				
			}else{		

				if(elem1.card.color == elem2.card.color){
					if((elem1.card.number + elem2.card.number) == 5){
						rst = true;
					}
				}else{
					if(elem1.card.number == 5 || elem2.card.number == 5){
						rst = true;
					}
				}
	
				console.log(elem1.card.color + " " + elem2.card.color + " " + elem1.card.number + " "  + elem2.card.number + " " + rst);
			}

 

우여곡절 끝에 완성된 ChatGPT 의 도움받아 만든 할리갈리 입니다.

동영상으로 만들었습니다. 함께 보시죠.

 

 

반응형