본문 바로가기
반응형

분류 전체보기40

C# 오목 게임 개발 #7 이번 회차에는 정확한 착수여부를 체크하는 코드와 새게임, 무르기 처리 기능을 구현해 보겠습니다. 추가적으로, 착수 시에 사운드 재생하는 코드를 같이 작성해 보겠습니다. COmok 클래스 멤버함수 추가 (COmok.cs) 정확한 착수인지를 체크하기 위한 COmok 클래스의 멤버함수를 구현합니다. 착수점에 이미 돌이 있는지 여부 체크 함수 착수점(마우스 클릭점)에 기존에 이미 돌이 있는지를 확인하는 멤버함수입니다. 착수정보List(mainList)에서 착수점(x,y)으로 검색하여 존재하는지 여부로 판단합니다. public bool IsOccupied(int x, int y) { foreach (var item in mainList) { if (item.X == x && item.Y == y) return t.. 2023. 1. 30.
C# 오목 게임 개발 #6 이번 회차에서는 오목판 위에 실제 오목돌을 그리는 클램스 멤버함수 및 호출 부분을 구현해 보겠습니다. 오목판의 특정 위치를 마우스로 좌클릭하면 흑돌부터 순서대로 그려지도록 합니다. COmok 클래스 멤버함수 추가 (COmok.cs) 오목돌을 그리기 위한 COmok 클래스의 멤버함수를 구현합니다. 오목돌 그리는 방법 먼저 오목돌을 그리는 방법에 대해 정리한 후에 실제 코드를 작성합니다. 오목돌은 마우스 클릭 이벤트 발생시점에 해당 위치에 직접 그려주는 방법도 있지만, 여기에서는 아래와 같이 오목돌 착수정보를 관리하는 배열에 추가(push) 한 후에 착수정보배열을 기준으로 전체 오목돌을 다시 그려주는 방법으로 구현해 보겠습니다. 오목위치 구하기 panel상의 마우스 클릭 위치 좌표를 오목판 사이즈(15*15.. 2023. 1. 30.
C# 오목 게임 개발 #5 이번 회차에서는 오목게임의 근간이 되는 오목클래스를 디자인하고 우선 오목판을 그려봅니다. 오목클래스는 개발이 완료될 때까지 단계적으로 구현해야 할 중요한 영역입니다. 객체지향의 핵심이 되는 클래스/객체 개념은 별도로 꼭 학습해 보시길 권장합니다. 오목클래스(COmok) 정의 오목클래스는 오목게임의 중요한 로직을 담고 있는 핵심클래스가 됩니다. 단계적으로 진행하면서 계속 개발하고 보완해 나갈 예정입니다. 오목클래스는 COmok.cs라는 별도의 파일에 작성합니다. namespace Omok { internal class COmok { ... } } 멤버변수 오목의 여러 속성들을 멤버변수로 정의합니다. 주요 상수 정의 게임환경변수 정의 오목판정보 배열 정의 Graphics g; int boardMargin =.. 2023. 1. 30.
C# 오목 게임 개발 #4 본격적으로 오목 게임 개발을 시작해 보겠습니다. 오목게임 흐름(Flow) 먼저 오목게임이 어떤 순서로 처리되는지 전체적인 Flow를 도식화해서 정리해 봅니다. 전체 게임 흐름 시작버튼 클릭 이벤트 처리 사람 착수 클릭 이벤트 처리 전체 게임 흐름 게임 설정 : 게임에 필요한 변수 선언 및 초기값 할당 등의 설정을 처리합니다. 이벤트 설정 : 게임에서 발생할 수 있는 이벤트를 생성하고 이벤트 발생 시 처리할 콜백함수 내용을 구현합니다. 이벤트 대기 : 이벤트 발생을 대기합니다. 이벤트 처리 : 발생한 이벤트에 대한 콜백함수의 내용을 처리합니다. 시작버튼 클릭 이벤트 오목객체 생성 : 오목게임을 시작하기 위해 오목클래스에 대한 객체를 생성하고 게임을 시작합니다. 컴퓨터 착수 처리 : 흑 선수가 컴퓨터인 경우.. 2023. 1. 30.
반응형