모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 오유인페이지
    개인차단 상태
    KOTHAICHI님의
    개인페이지입니다
    가입 : 11-06-06
    방문 : 498회
    닉네임변경 이력
    회원차단
    회원차단해제
    게시물ID : programmer_9008
    작성자 : KOTHAICHI
    추천 : 0
    조회수 : 1887
    IP : 86.134.***.95
    댓글 : 2개
    등록시간 : 2015/03/31 01:40:52
    http://todayhumor.com/?programmer_9008 모바일
    ㅂㅅㄱ) 자바로 체스게임을 만들고 있는데 조언 부탁합니다
    옵션
    • 본인삭제금지
    <div><span style="line-height:14.3999996185303px;font-size:9pt;">아직 프로그래밍에 대해 많이 이해를 못 해서 질문이 좀 횡설수설하고 장황할 수 있는 점 죄송합니다.</span></div> <div><br></div>이번에 숙제로 자바로 플레이어가 콘솔창을 통해 할 수 있는 체스게임을 만드는 것에도전해야합니다. 그런데 잘 모르는 부분이 있네요. <div><br></div> <div>특히 장기말들의 움직임에 대해 코드 짜는 게 힘듭니다.</div> <div><br></div> <div>1) 처음 숙제를 받았을 때, 먼저, Pawn, 보드, Display, Player, Piece, Pieces 등등의 클래스가 이미 주어져 있습니다.</div> <div><br></div> <div>예시로 주어진 Pawn 클래스의 코드가 </div> <div><br></div> <div> <div>public class Pawn extends Piece {</div> <div><br></div> <div>  public Pawn (int ix, int iy, int c, Board b) {</div> <div>    super(PieceCode.PAWN, ix, iy, c, b);</div> <div>  }</div> <div>  </div> <div>  // method implements abstract method in Piece class</div> <div>  public ArrayList<Move> availableMoves() {</div> <div>    if (getColour()==PieceCode.WHITE) return whitePawn();</div> <div>    else return blackPawn();</div> <div>  }</div> <div><br></div> <div>  // method to return Vector of legal moves for a white pawn</div> <div>  private ArrayList<<u>Move</u>> whitePawn() {</div> <div>    int x = getX();</div> <div>    int y = getY();</div> <div>      </div> <div>    // return null if the pawn is at the edge of the board, or if the</div> <div>    // next move takes it out of range</div> <div>    if (y==7) return null;</div> <div>    if (getBoard().outOfRange(x,y+1)) return null;</div> <div>      </div> <div>    // otherwise create a new vector to store legal moves</div> <div>    ArrayList<Move> v = new ArrayList<Move>();</div> <div>      </div> <div>    // set up m to refer to a Move object  </div> <div>    Move m = null;</div> <div>      </div> <div>    // first legal move is to go from x,y to x,y+1 if x,y+1 is unoccupied  </div> <div>    if (!getBoard().occupied(x,y+1)) {</div> <div>      m = new Move(<u>this, x,y,x,y+1,false</u>);</div> <div>      v.add(m);</div> <div>    }</div> <div>      </div> <div>    // second legal move is to go from x,y to x+1,y+1 if x+1,y+1 is occupied </div> <div>    // by a black piece</div> <div>    if (!getBoard().outOfRange(x+1, y+1)</div> <div>       && getBoard().occupied(x+1, y+1)</div> <div>       && (getBoard().getPiece(x+1, y+1).getColour()</div> <div>           !=this.getColour())) {</div> <div>       m = new Move(<u>this, x,getY(),x+1,y+1,true</u>);</div> <div>       v.add(m);</div> <div>    }</div> <div>      </div> <div>    // third legal move is to go from x,y to x-1,y+1 if x-1,y+1 is occupied </div> <div>    // by a black piece  </div> <div>    if (!getBoard().outOfRange(x-1, y+1)</div> <div>       && getBoard().occupied(x-1, y+1)</div> <div>       && (getBoard().getPiece(x-1, y+1).getColour()</div> <div>           !=this.getColour())) {</div> <div>       m = new Move(<u>this, x,y,x-1,y+1,true</u>);</div> <div>       v.add(m);</div> <div>    }</div> <div>      </div> <div>    if (v.isEmpty()) return null;</div> <div>    return v;</div> <div>  }</div></div> <div><br></div> <div>이런 식으로 주어져 있고, 저는 이 형식을 빌려서 나머지 기사, 승려, 룩, 킹, 퀸 클래스 등등을 작성해야 합니다.</div> <div><br></div> <div>여기서 모르는 부분은 줄 쳐져 있는 부분입니다.</div> <div><br></div> <div>Move에 대한 클래스가 없어서 에러가 난다는 것은 알겠는데, 클래스의 constructor를 어떻게 작성해야하는 지 잘 모르겠습니다. (정확히는 주어진 contructor에 대해 해석이 안되요)</div> <div><br></div> <div><span style="font-size:9pt;line-height:14.3999996185303px;">Move(</span><u style="font-size:9pt;line-height:14.3999996185303px;">this, x,y,x-1,y+1,true</u><span style="font-size:9pt;line-height:14.3999996185303px;">);, </span><span style="font-size:9pt;line-height:14.3999996185303px;">Move(</span><u style="font-size:9pt;line-height:14.3999996185303px;">this, x,y,x,y+1,false</u><span style="font-size:9pt;line-height:14.3999996185303px;">); 등등 이렇게 Move 클래스가 (String, int, int, int, int, boolean)으로 되어있지만 작성할 때마다 에러가 나서 어떻게 작성해야 하는 지 잘 모르겠습니다 (특히 저 false와 true의 의미는 아무리 생각해도 모르겠고요).</span></div> <div><span style="font-size:9pt;line-height:14.3999996185303px;"><br></span></div> <div><span style="font-size:9pt;line-height:14.3999996185303px;"><br></span></div> <div><span style="font-size:9pt;line-height:14.3999996185303px;">2) 글에는 없지만 예시로 주어진 Pawn 클래스 내에 whitePawn 과 코드는 완전히 같지만 이름만 다른 blackPawn 도 있습니다.</span></div> <div><span style="font-size:9pt;line-height:14.3999996185303px;"><br></span></div> <div><span style="font-size:9pt;line-height:14.3999996185303px;">그런데 나머지 기사, 승려, 룩, 킹, 퀸 도 흑,백으로 나눠서 코드를 짤 필요가 있나요? 제 생각에는 Pawn은 한 방향으로 밖에 못 움직이니까 흑,백으로각각 나눠서 코드를 짰지만, 다른 말들은 흑이던 백이던 갈 수 있는 방향은 같으니까 차라리 하나로 통합해서 만드는 게 코드 길이도 줄일 수 있다고 생각하는 데 어떤가요?</span></div> <div><span style="font-size:9pt;line-height:14.3999996185303px;"><br></span></div> <div><span style="font-size:9pt;line-height:14.3999996185303px;"><br></span></div> <div><span style="font-size:9pt;line-height:14.3999996185303px;">3) Pawn이야 앞으로 한 칸씩 밖에 전진을 못 해서 </span><span style="line-height:14.3999996185303px;font-size:9pt;">x,y+1 식으로</span><span style="font-size:9pt;line-height:14.3999996185303px;"> 움직이게 할 수 있지만, 나머지 장기말들은 다 방향으로, 어떤 말들은 한칸 이상씩 전진할 수 있잖아요?</span></div> <div><span style="font-size:9pt;line-height:14.3999996185303px;"><br></span></div> <div><span style="font-size:9pt;line-height:14.3999996185303px;">그러면 예를들어 퀸 같은 경우 x축, y축, 대각선으로 모두 움직일 수 있는데, 설마 무식하게 </span><span style="line-height:14.3999996185303px;font-size:9pt;">x,y+1, </span><span style="line-height:14.3999996185303px;font-size:9pt;">x,y+2, </span><span style="line-height:14.3999996185303px;font-size:9pt;">x,y+3 이런 식으로 다 짜야 하는 건 아니겠죠? 제 생각으로는 각 방향으로 while 루프를 사용해서 다른 말에 막힐때까지 이동할 수 있다 라는 식으로 해볼까 하는 데 어떤가요?</span></div> <div><span style="font-size:9pt;line-height:14.3999996185303px;"><br></span></div> <div><span style="font-size:9pt;line-height:14.3999996185303px;"><br></span></div> <div><span style="font-size:9pt;line-height:14.3999996185303px;">구글신에도 여러번 검색을 하고 조사를 했으나, 다른 사람이 짠 코드를 이해하고 응용해서 제것을 만들어야 하다보니 도움 될만한 정보를 못 찾았네요.</span></div> <div><br></div> <div>질문에 대한 관련 웹사이트나 정보가 있으시다면 알려주시면 감사하겠습니다 (특히 첫번째 질문인 contructor관련)</div> <div><span style="font-size:9pt;line-height:14.3999996185303px;"><br></span></div>

    이 게시물을 추천한 분들의 목록입니다.
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    96
    본삭금)질문및추천) 노트북 비교 및 추천 부탁드립니다. [2] 본인삭제금지 KOTHAICHI 18/09/06 15:20 56 1
    95
    본삭금) 몬헌월드 돌릴 게이밍 노트북 추천 부탁합니다. [4] 본인삭제금지 KOTHAICHI 18/09/05 11:06 56 1
    94
    앱스토어에 보면 게임 소개할 때 있는 창작글베오베금지본인삭제금지외부펌금지 KOTHAICHI 18/07/06 19:42 139 0
    93
    질문)이 견적에 이 가격이 맞나요? [2] 창작글본인삭제금지 KOTHAICHI 18/04/11 12:51 81 1
    92
    Haskell 하시는분 계시나요? [3] 창작글본인삭제금지외부펌금지 KOTHAICHI 18/04/11 11:27 66 0
    91
    영국에서 자취하면서 배우고 느낀건 [19] 창작글본인삭제금지외부펌금지 KOTHAICHI 18/04/11 10:16 389 37
    90
    영국에서 살고 있습니다. 부품구매 문의합니다 [5] 본인삭제금지 KOTHAICHI 18/04/07 03:36 154 1
    89
    오랜만에 해볼까하는데 짧게 즐기기에 어떤가요 [8] 본인삭제금지 KOTHAICHI 18/04/07 03:04 117 2
    88
    6월에 플스슬림을 사려는데 블본 vs 닼솔3 [5] 본인삭제금지 KOTHAICHI 17/03/26 09:22 103 0
    87
    무과금인데 첫 전설 먹었어요! [3] KOTHAICHI 15/08/28 23:54 95 0
    85
    이번 한판 갓페가 한정신 카니발이었던가요? [1] KOTHAICHI 15/07/31 15:47 39 0
    84
    오유 채널에서 같이 플레이 하고 싶지만... [1] KOTHAICHI 15/07/20 07:57 80 0
    83
    퍼드] 일판 진로상담 부탁합니다 [5] KOTHAICHI 15/07/07 19:32 21 0
    82
    하스스톤 시작해 봤습니다 [4] 베스트금지본인삭제금지 KOTHAICHI 15/07/06 11:50 56 0
    81
    퍼드) 멍청한 짓을 한것 같습니다;;; [2] KOTHAICHI 15/06/21 01:13 27 0
    80
    퍼드) 상담) 데빌러시 각 좀 봐주세요 [6] 본인삭제금지 KOTHAICHI 15/06/06 10:14 23 0
    79
    퍼드) 일판 부계정 키우기 시작했습니다. + 계정,선물,절친 나눔(마감) [21] KOTHAICHI 15/06/02 03:04 31 3
    78
    슬슬 배치고사를 준비하고 있습니다 [3] KOTHAICHI 15/05/20 06:41 81 0
    77
    본삭금) 과제X) STRIPS planning의 한계에 대해 아세요? KOTHAICHI 15/05/11 12:30 24 0
    76
    퍼드) 헤라 챌린지 졸업했습니다 [3] KOTHAICHI 15/04/22 02:05 43 2
    75
    [주의] 랜섬웨어가 유포되고 있다고 합니다 [1] KOTHAICHI 15/04/21 16:34 53 0
    74
    와 코리안갓;;; LCS EU 프나틱 우승 [4] KOTHAICHI 15/04/20 04:42 372 0
    73
    다크소울1 오랜만에 해볼려니 실행이 안되네요 [5] KOTHAICHI 15/04/16 20:19 63 0
    72
    본삭금)전에 자바로 체스게임 만드는 거에 대해 질문한 사람입니다 [9] KOTHAICHI 15/04/12 02:00 42 0
    71
    ㅂㅅㄱ) 프로그래밍용도의 태블릿 추천해주세요 [7] KOTHAICHI 15/04/04 06:50 78 0
    ㅂㅅㄱ) 자바로 체스게임을 만들고 있는데 조언 부탁합니다 [2] KOTHAICHI 15/03/31 01:40 45 0
    69
    알고리즘(점근 표기법) 질문 있습니다 (본삭금) [7] KOTHAICHI 15/02/26 20:33 39 1
    68
    퍼드) 본삭금) 현 몬박 상황과 가능한 파티들 [2] KOTHAICHI 14/12/28 23:26 33 0
    67
    퍼드) 선물 맞교환 하실 분 구해요 [5] KOTHAICHI 14/12/23 04:04 26 0
    [1] [2] [3] [4]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈