본문 바로가기

IT/java

자바 팀 프로젝트(섯다 게임) GUI

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

학교 수행평가로 GUI를 이용해 프로그램을 만들기로 했다.


처음에 우리 조원은 배운걸로 무엇을 할 수 있을까 하다가 섯다를 하기로 했다. 나는 섯다 룰은 잘 모르지만 조금 검색해보니 도박성만 조금 없애면 건전하고 재밌을 것 같았다.





처음 회의에서 어떻게 GUI를 구성할지 생각하고 역할분담을 했다.




프로그램 설계는 이렇게 했는데 gui는 말 그대로 gui를 구성하는 부분이고 actionPerformed은 버튼을 클릭했을 때 승 패를 결정


하는 매소드다. CheckScore는 현재 나온 카드들을 보내서 족보를 보는 함수이다.




내가 gui를 짤때는 어떤 레이아웃으로 할까 고민하다가 그냥 깔끔하게 절대값으로 지정하기로 했다. 절대값으로 레이아웃을 하


려면 setLayout(null)이라고 지정해주고 setBounds(x좌표, y좌표, 가로길이, 세로길이)로 위치를 지정해주면 된다. 길이들은 픽


셀로 계산된다.




1차적으로 gui를 짯을때는 이런 모양이 되었다.




그리고 친구에게 카드를 랜덤으로 돌릴 함수를 받아 적용시켰다. 해석는 안에 주석으로 적혀있다.




섯다는 총 20장의 패로 구성되어 있어서 20장의 패를 전부 이미지 배열안에 넣었다. 




이미지를 넣었을 때의 모습이다. gui도 약간 변경점이 생겼는데 그림 크기가 바뀐만큼 setBounds의 값을 조정해 주었다.



 

그리고 가운데 패가 뒤집힌 그림을 버튼으로 만들기로 했다. 상대편의 패가 안보이다가 누르면 공개되고 승패가 결정되도록 액


션을 넣기로 했다. 하지만 승패가 바뀌는 부분은 아직 만들지 않았기때문에 상대편 패가 가려졌다가 공개되는 부분만 일차적으


로 친구가 만들어서 넣었다.




오른쪽 화면에서 누르면 왼쪽 화면이 나온다. 잘 적용되는 모습이다.


결과창 띄우는 부분을 친구가 완성되어 적용시켰다. 내 점수와 적 점수를 비교해서 이겼다 졌다를 팝업창으로 보여준다. 하지만 아직 족보를 확인하는 함수가 완성이 안되있어서 창이 뜨는 것만 확인했다.




내 점수를 0으로 하고 적 점수를 100으로 했을 떄는 졌습니다. 라고 바르게 뜨는 것도 확인했다.



족보를 확인하는 함수이다. 이미지 a와 이미지 b, 이미지 배열을 매개변수로 받아서 a의 그림 b의 그림을 확인하고 점수를 상대적으로 부여한다. 처음에는 이렇게 짯지만 도중에 반대일 경우 확인할 수 없어서 변경했다.


이렇게 하면 패가 바뀌어도 확인 할 수 있다.




이 부분은 끗의 경우인데 끗의 경우가 너무 많아서 일일이 쓰기에는 너무 힘들어서 몇월인지 확인하고 계산하기로 했다. 끗이란 특이한 패가 아닌경우 각 패의 월을 합하고 그 1의 자리를 보는 경우이다. 월을 확인하기 위해서 이미지들이 어떻게 분포되있는지 확인해봤더니 0번 1번이 1월 2번 3번이 2월 이런 식이기에 저렇게 짰다. 만약 19번 이미지라면 나누기 2 해서 9 나오고 +1 하면 10월이 된다. 





실행화면이다. 패가 딸려서 지는걸 볼 수 있다. 적 패는 구땡인데 우리 패는 독사라서 졌다. ㅠㅠ



'IT > java' 카테고리의 다른 글

(윈도우 7) 자바 jdk 환경변수 설정법  (0) 2013.04.18
자바 설치법  (0) 2013.04.17