본문 바로가기

일상

Scratch - 가위바위보 하기

미리보기


고양이와 오리의 가위바위보 놀이를 스크래치로 만들어봅니다.


먼저 변수는 2개가 필요합니다.


고양이의 가위바위보 변수와 오리의 가위바위보 변수.


가위바위보를 할 때 매번 다른 것을 정해야 하므로


무엇을 낼 지 정하는 반복되는 부분을 추가블록으로 떼어냅니다.


정하고 나면 정했다는 것을 고양이와 오리에게 전달합니다.


스프라이트 간에 전달하기에는 방송하기가 최고인듯 싶습니다.




정해진 난수를 고양이와 오리가 받아 각각 무었을 냈는지 말합니다.


1은 가위, 2는 바위, 3은 보로 정했습니다.


난수로 생성된 변수에 해당하는 것을 말하고 난 뒤 결과를 받아


흔히 생각하는 것과 같이 가위바위보 알고리즘을 구현합니다.


계산 방법은 간단합니다.


1과 1, 2와 2, 3과 3은 비겼으니 다시합니다.


1는 3에 이기지만 2에 집니다.


2는 1에 이기지만 3에 집니다.


3은 2에 이기지만 1에 집니다.


위의 내용을 알고리즘에 녹여내면 됩니다.


결과를 내는 부분도 반복되어야 하니, 추가블록으로 떼어냅니다.


비겼을 경우는 다시 정하는 부분으로 돌어가야 하니 아까 만들어 둔 추가블록을 다시 호출하여 돌아갑니다.


구현방식은 정해진 것이 없으므로 결과만 잘 뽑아냅니다.



상세 알고리즘은 솔직히 창피해서 생략.


이렇게 만들어도 되고, 저렇게 만들어도 되고.


정해진 방식 없이 IF-ELSE로 구현을 하는 것이 코딩의 참맛입니다.



그러고나서 누가 이겼는지 알려주고 말하면 끝!


중간 알고리즘은 방법이 너무 많습니다.


한가지, 한가지 케이스를 모두 받아서 비교하는 방식,


몇가지 케이스를 묶어서 처리하고 나머지에 대해 처리하는 방식.


구현하는 방식은 다양하므로 적당히 만들면 됩니다.



이상 가위바위보의 알고리즘 구현이었습니다.