세가지 장애물들
첫번째 당면한 문제는 바로 컴퓨터가 랜덤하게 가위 바위 보를 고르게 작업하는 것이었다. 자바스크립트에서 난수를 생성하는 법은 배우지 않았다. 검색해보니 Math.random()를 사용하면 0에서 1사이의 값을 생성함을 알수 있었다. 이를 토대로 나는 이 메서드 값에 10을 곱하여 나온 수를 3등분하여 가위 바위 보를 설정하려 했으나 이는 바보같은 짓이 었다. 그냥 3을 곱하고 그값에 Math.floor()를 처리 해주면 결과물은 0,1,2만 나오게 된다. 이를 각각 가위 바위 보와 매칭시키면 되었다.
두번째 문제는 가위 바위 보 특유의 룰을 어떻게 컴퓨터에 적용시키는가 하는 점이었다. 가위를 0, 바위를 1, 보를 2로 매치시키고 큰 숫자가 승리하는 형태로 소스를 만들었지만 문제는 보자기와 가위가 만났을 때이다. 현실에서는 가위가 보자기를 이기지만 프로그램상에선 가위가 자신보다 숫자가 큰 보자기를 이기지 못한다. 이문제는 간단했다. 그냥 If문을 비기는 조건 다음에 else로 넣어주면 해결된다.
마지막 문제는 유저 인터페이스이다. 처음에는 유저의 가위 바위 보 입력을 prompt창으로 직접 한글로 받았지만 이것은 보기에도 안좋고 사용자가 너무 불편하다. prompt창 대신 버튼으로 해결했고 게임의 공정성(?)을 위해 컴퓨터가 무엇을 선택했는지 결과창도 만들었다. 마우스 하나 만으로 모든걸 해결할 수 있게 만들었다. 나름 예쁘게 만들어본다고 했지만 뭔가 디자인적인 아름다움을 창조해내는 작업은 나랑 잘 안맞는 거 같다.