본문 바로가기
반응형

전체 글40

C# 오목 게임 개발 #3 이 번에는 게임 화면을 디자인하고 HTML로 간단하게 구성을 해보겠습니다. 화면 디자인 개발할 게임화면을 Wireframe으로 간단하게 설계해 봅니다. 개발 시점에 게임정보를 쉽게 확인할 수 있도록 우측 정보영역 란에 착수정보List내용과 착수패턴정보를 실시간으로 확인할 수 있도록 구성해 봅니다. 정보 영역은 필요한 내용을 자유롭게 표기하고 실제 최종 완료시점에는 보이지 않게 처리하면 됩니다. 오목판 선택한 사이즈에 따라 오목판을 그립니다. 기본적으로, 15*15 사이즈가 표준이지만 오프라인 오목게임 시 바둑판(19*19 사이즈)을 주로 사용하기 때문에 선택할 수 있도록 구현해 보겠습니다. 게임 상대 일단, 다른 사람과 게임할 수 있도록 오목게임의 기본 형태를 개발합니다. 추가적으로, 컴퓨터와 대전할 수.. 2023. 1. 30.
C# 오목 게임 개발 #2 오목게임을 개발하기 위한 준비사항을 알아보고 개발할 게임에 대한 기본 구상을 해 보겠습니다. 그리고, 개발에 필요한 C#의 기본 문법과 기능을 간략하게 알아보겠습니다. 준비사항 게임을 개발하기 위한 개발환경에 대해 알아봅니다. Visual Studio Community 2022 C# 개발을 위한 통합개발환경(IDE)으로 개발, 디버그 및 실행을 모두 할 수 있는 환경입니다. Visual Studio IDE는 코드를 편집하고 디버그를 편리하게 하면 쉬운 빌드를 통해 프로그램을 손쉽게 개발할 수 있는 툴입니다. C#이외에도 다양한 언어를 지원하며 Community 버전은 무료로 사용 가능합니다. https://visualstudio.microsoft.com/ko/free-developer-offers/ 에서.. 2023. 1. 30.
C# 오목 게임 개발 #1 이 번에는 C#으로 오목게임을 만들어 보면서 오목게임과 C#의 기본을 동시에 배울 수 있는 시리즈입니다. 오목에 대해 좀 더 상세히 알아보고 C#으로 어떻게 개발할 수 있는지 같이 공부해 보겠습니다. 오목의 규칙은 상세하게 들어가면 은근히 복잡한 내용들이 있는데 일반적인 오목게임을 개발하고 플레이하는데 필요한 내용들로 진행해도 충분할 것 같습니다. 오목의 규칙 먼저 오목의 기본 규칙에 대해 알아봅니다. 여러 규칙들이 존재하지만, 여기에서는 C#으로 구현할 기본 규칙을 정의하는 차원에서 정리해 보겠습니다. 두 명의 선수가 흑과 백을 번갈아 가면서 가로 세로 15칸으로 된 보드에 둡니다. 첫 수는 항상 보드의 정 중앙에 흑을 먼저 둡니다. 돌은 반드시 가로줄과 세로줄의 교차점에 두어야 합니다. 가로 세로 대.. 2023. 1. 30.
자바스크립트 오목 게임 개발 #10 이번 회차에서는 지금까지 구현한 내용에 일부 부가기능을 추가하고 보완하는 작업을 진행하겠습니다. 착수 순서 표시하기 오목돌에 착수순서대로 번호를 표시하는 코드를 작성해 보겠습니다. 순서 표시여부를 drawStone 멤버함수의 인자로 전달하여 필요에 따라 on/off 하도록 합니다. //오목돌 그리기 //ctx: context, pointInfo: 오목돌 그릴 오목위치, orderDisplay: 착수순서 표시여부 drawStone(ctx, pointInfo, orderDisplay) { //오목돌을 그릴 위치 계산 let { boardX, boardY} = this.getBoardPosition(pointInfo.x, pointInfo.y); //오목돌 그리기 ctx.beginPath(); ctx.stro.. 2023. 1. 25.
자바스크립트 오목 게임 개발 #9 이번 회차에서는 오목여부를 판단하는 방법에 대해 구현해 보겠습니다. 오목을 판단하기 위해 오목판의 착수정보를 추출하고 패턴을 확인하는 로직은 오목판단뿐만 아니라 이후에 각 포인트의 우선순위를 분석하는데 이용하게 됩니다. 오목여부 판단 오목여부 판단은 오목판의 착수정보를 추출하여 패턴을 확인하는 방법으로 진행합니다. 오목판 착수정보 추출 최종 착수점을 기준으로 가로, 세로, 좌대각선, 우대각선 각각에 대해 검색 후 착수된 모든 정보를 추출합니다. 착수정보는 흑돌, 백돌, 공백, 오목판 외부 정보를 모두 구분하여 수집합니다. 각 포인트 정보는 다음의 알파벳으로 구분합니다. B: 흑돌 W: 백돌 S: 공백 X: 오목판 외부 추출함수는 Omok클래스의 멤버함수로 구현하며 4개의 방향에 대해 동일한 로직이므로 하.. 2023. 1. 25.
Javascript - 콜백(CallBack) 함수 형태 1. 함수를 파라미터로 전달받아 실행하는 형태 콜백으로 실행할 함수들을 별도로 정의하고, 콜백함수의 파라미터로 함수를 전달하는 형태로 구현 가능합니다. //게임종료 함수 function endGame() { alert('Game End!'); } //상태체크 함수 function checkGame() { alert('Check Omok'); } //다음진행 함수 function goNext() { alert('Go Next'); } //콜백함수 (doOmok, doNext라는 함수를 인자로 전달해 줌) function checkOmokCallBack(status, doOmok, doNext) { if (status == 'Omok') { doOmok(); } else { doNext(); } } c.. 2023. 1. 24.
자바스크립트 오목 게임 개발 #8 이번 회차에는 정확한 착수여부를 체크하는 코드와 새게임, 무르기 처리 기능을 구현해 보겠습니다. 추가적으로, 착수 시에 사운드 재생하는 코드를 같이 작성해 보겠습니다. Omok 클래스 멤버함수 추가 (omok.js) 정확한 착수인지를 체크하기 위한 Omok 클래스의 멤버함수를 구현합니다. 착수점에 이미 돌이 있는지 여부 체크 함수 착수점(마우스 클릭점)에 기존에 이미 돌이 있는지를 확인하는 멤버함수입니다. 착수정보배열(mainBoard)에서 착수점(x,y)으로 검색하여 존재하는지 여부로 판단합니다. //기 착수여부 판단 checkOccupied(omokX, omokY) { let filtered = this.mainBoard.filter(point => { return (point.x == omokX) .. 2023. 1. 24.
Dart - 멀티 플랫폼 개발을 위한 생산적인 프로그래밍 언어 분류 앱 프로그래밍 언어 C언어의 문법과 유사하며, Java, C#, Javascript와 같은 기능 구조를 추가한 언어 회사 구글 Google 출시 2011년 10월에 최초 공개됨 주요 비교 제품군 (개발언어) C/C++ Javascript C# 주요 개발 툴 (환경) Android Studio Visual Studio Code IntelliJ IDEA 대표적인 Dart 앱 이베이 구글 애드센스 구글 애즈 뉴욕 타임즈 알리바바 네이버 지식in Stackoverflow Survey 2022 Programming, scripting, and markup languages Integrated development environment 주요 장점 Native에 필적하는 성능 Navtive Code로 컴파일 가.. 2023. 1. 23.
반응형