2048 게임을 작성해보았다.
2048게임이란 같은숫자를 계속 더해나가서 2048 이라는 블럭이 나오면 승리하는게임이다.
2048을 만들기전에 화면에 숫자들이 가득차서 더이상 움직일 수 없다면 게임에 패배한다.
간단한 함수 몇개 만 소개하자.
먼저 키보드 방향키(→,←,↑,↓)를 입력 받는 함수다. 방향키는 합성 코드로 찾아보면
두개의 수를 입력을 받는다.
왼쪽(224,75) 오른쪽(224,77) 위쪽(224,72) 아래쪽 (224,80) 이렇게 입력이 들어온다
그러므로 처음 224 가 들어올때까지 키보드 입력을 받고 다음 입력은 각각 방향키 고유의
숫자들을 받아준다.
각각 의 리턴값을 모와서 각 방향에따라 다른 함수를 호출해주는 함수.
위 함수는 왼쪽을 눌렀을때 호출되는 함수이다. 인접한 벽돌이 서로 같은숫자일 때와
테두리(벽쪽)에 숫자를 옮길수 있는 공간이 있을때 숫자를 합쳐주고 옮겨주는 코드이다.
2048게임이란 같은숫자를 계속 더해나가서 2048 이라는 블럭이 나오면 승리하는게임이다.
2048을 만들기전에 화면에 숫자들이 가득차서 더이상 움직일 수 없다면 게임에 패배한다.
간단한 함수 몇개 만 소개하자.
먼저 입력을 받는 함수를 짜기 전에 enum 으로 왼쪽 오른쪽 위쪽 아래쪽을 초기화 선언
해준다.
먼저 키보드 방향키(→,←,↑,↓)를 입력 받는 함수다. 방향키는 합성 코드로 찾아보면
두개의 수를 입력을 받는다.
왼쪽(224,75) 오른쪽(224,77) 위쪽(224,72) 아래쪽 (224,80) 이렇게 입력이 들어온다
그러므로 처음 224 가 들어올때까지 키보드 입력을 받고 다음 입력은 각각 방향키 고유의
숫자들을 받아준다.
각각 의 리턴값을 모와서 각 방향에따라 다른 함수를 호출해주는 함수.
위 함수는 왼쪽을 눌렀을때 호출되는 함수이다. 인접한 벽돌이 서로 같은숫자일 때와
테두리(벽쪽)에 숫자를 옮길수 있는 공간이 있을때 숫자를 합쳐주고 옮겨주는 코드이다.
랜드함수를 이용해, 숫자가 없는 빈 공간에 1/4의 확률로 '4' 3/4확률로 2를 생성하는 함수
다음은 게임 실행 화면이다.
이렇게 원하는 게임 칸수를 정하면 칸수*칸수 만큼의 게임판이 나온다
게임을 진행하면 스코어도 나온다.
숫자들이 보드를 가득채우고 더이상 움직이지 못하면 게임을 패배한다.
코드를 다운해서 컴파일 해보자.








