GithubHelp home page GithubHelp logo

alpha_6's Introduction

최종코드는 아래 링크의 master 외 다른 branch(applying_CONNSIX)에 있다.

https://github.com/euncharm1ng/alpha_6.git

alpha_6

실행순서: 인풋을 받는다 올바르게 입력 되었는지 확인하고 보드에 착수한다. 승리자가 있는지 확인한다. 그리곤 보드 상황을 판단하고 그중에서 최상의 수를 착수한다. 보드를 판단하는 프로세스다 보드에서 돌들을 읽어오고 그 돌들을 기반하여 5 가지의 상황으로 나눈다. 1. offImm 이는 아군이 4목이 있고 양쪽 혹은 한쪽이 막히지 않은 상태를 일컫는다. 착수 가능한 2돌을 이어 붙이고 게임을 승리한다. 2. defImm 이는 상대방이 4목이 있고 양쪽이 다 막히지 않을 상태를 일컫는다. 착수 가능한 돌 2개를 다 사용하여 방어를 해야한다. 단 최대한의 이익을 위해서 한칸을 띄고 착수해도 된다. 예시로 1일 상대방 돌이고 0이 아군돌일 때 0_11110 이런 모습이 될 것이다. 3. defFir 이는 상대방이 4목이 있지만 한쪽은 막혀있는 상태를 일컫는다. defImm처럼 한칸을 띄고 착수가 가능하며 나머지 돌 하나로 off나 def를 진행한다. 4. off 이는 상대방의 돌이 위협적이지 않고(4목이 없고) 아군의 돌로 공격(4목)이 가능한 상태를 일컫는다. 5. def 이는 아군도 상대편도 4목을 완성시킬 수 없는 상태를 일컫는다. 최대한의 이익을 위해 상대편의 돌들을 재지하고 아군의 돌들이 이어지는 부분에 착수한다.

해당 프로그램에 x1 y1 x2 y2의 방식으로 입력을 한다.

operation order: get user's input check for validation and enter the value check for winner evaluate the board place the stone that has the best odds evaluation process: read stones from the board and determine a situation out of 5 options 1. offImm it is a situation which ally's stone has completed 4 in a row and both or one side is not blocked. place 2 stones next to the 4 and win the game 2. defImm it is a situation which opponent has completed 4 in a row and non of the sides are blocked use both stones to stop 6 in a row but for a better board, it is fine to leave a gap and place the stone for example: 1 for opponent's stone and 0 for ally's 0_11110 3. defFir it is a situation which opponent has completed 4 in a row and one of the side is blocked block the side and use the one last stone to perform off or def of course leaving a gap and place the stone is also possible 4. off it is a situation which opponent has no 4 in a row and ally and make 4 in a row with the stones 5. def it is a situation which neither opponent and ally can make 4 in a row place the stone where can stop opponent's build and link ally's stones

the input syntax for the program is x1 y1 x2 y2.

todo: unify 119 and 018 option: ctrl+z dealing with wrong input: receive new input or continue without wrong input option: input 0~5 red stones which blocks the space only

alpha_6's People

Contributors

euncharm1ng avatar yoonjin09 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.