본문내용
1. FPGA 보드를 이용한 Baseball, Up&Down 게임
1.1. Baseball 게임
Baseball 게임이란 상대방이 생각한 숫자를 맞추는 게임이다. 가령, 상대방이 123이란 숫자를 생각했을 때, 내가 321이라 말하면, 상대방은 1스트라이크 2볼이라 말한다. 이를 반복하여, 숫자를 맞춰가는 게임이다.
상대방이 숫자를 생각하면, 각 자릿수의 숫자가 맞으면 스트라이크, 숫자는 맞지만 자릿수가 다르면 볼이 된다. 이를 통해 점차 상대방이 생각한 숫자를 맞춰나가게 되는 것이 Baseball 게임의 핵심 원리이다.
이 게임은 직관적이고 간단하지만, 상대방의 숫자를 추측하여 맞춰나가는 과정에서 전략적 사고와 논리적 추론 능력이 요구된다. 따라서 단순한 게임을 넘어 두 사람 간의 두뇌 싸움이라고 볼 수 있다.
또한 Baseball 게임은 숫자 맞추기의 재미뿐만 아니라, 상대방과의 대화와 상호작용을 통해 즐거움을 얻을 수 있다는 점에서 사회성 발달에도 도움이 될 수 있다.
이처럼 Baseball 게임은 단순한 숫자 맞추기 게임을 넘어, 전략적 사고와 논리적 추론, 사회성 발달 등 다양한 측면에서 효과적인 교육 수단으로 활용될 수 있다.
1.2. Up&Down 게임
Up&Down 게임은 상대방이 생각한 숫자를 맞추는 방식에서 Baseball 게임과 유사하지만, 게임 방식에 차이가 있다. Up&Down 게임의 경우 플레이어가 숫자를 말하면 상대방이 생각한 숫자와 비교하여 자신이 말한 숫자가 클 경우 "Down", 작을 경우 "Up"을 말해주어 숫자를 맞춰가는 게임이다.
State Machine Diagram에서 Up&Down 게임은 INIT 상태로부터 go_game2 버튼을 누르면 START2 상태로 전환된다. START2 상태에서 플레이어 1과 2가 각자 숫자를 입력하면 DECISION2 상태로 이동한다. DECISION2 상태에서는 플레이어 1이 말한 숫자(Decision_p1)와 플레이어 2가 생각한 숫자(num_p2)를 비교하여, 일치하지 않으면 플레이어를 변경하고 Up 또는 Down 결과를 출력한다. 숫자가 일치하면 WIN 상태로 전환되어 승리한 플레이어의 LED가 깜박인다. New_game을 누르면 다시 INIT 상태로 돌아간다.
이처럼 Up&Down 게임은 INIT, START2, DECISION2, WIN의 4가지 상태로 구성되며, 플레이어가 입력한 숫자와 상대방이 생각한 숫자를 비교하여 Up 또는 Down 정보를 제공하는 방식으로 진행된다. State Machine Diagram은 Baseball 게임과 유사하게 구현되지만, 게임 방식의 차이로 인해 세부적인 구현 내용에 차이가 있다.
1.3. State Machine Diagram
State Machine Diagram은 FPGA 보드를 이용한 Baseball, Up&Down 게임의 핵심적인 동작 원리를 보여준다. 먼저 Reset을 통해 초기 상태인 INIT 상태를 만든다. INIT 상태에서는 모든 출력이 0이며, P1 LED만 켜진다. go_game1 버튼을 누르면 Baseball 게임이, go_game2 버튼을 누르면 Up&Down 게임이 선택되어 START 상태로 이동한다.
각 START 상태에서는 플레이어가 자신의 숫자를 num_p1, num_p2에 입력한다. 모두 입력이 끝나면 DECISION 상태로 이동한다. DECISION 상태에서는 자신이 선택한 숫자인 Decision_...