이 코드에 주석 좀 달아주세요 ㅠ
구슬
제가 가위바위보 게임을 만들려구 하는데
이분처럼 버튼을 클릭하면 그림이 바뀌는 식으로 만들고 싶어서요
참고하고 싶은데 어떻게 참고해야할지 ㅠㅠ
전체적으로 주석 좀 달아주시면 감사하겠습니다 ㅠ/*
* 작성 일자 : 11.29
* 수정 일자 : 12.03
* source file : rockpapersissorsswing.java
* 내용 : 스윙으로 구현하는 가위바위보 게임
* 작성자 : 조한중(hanjoongcho@gmail.com)
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class gbbclass extends jframe implements actionlistener{
static string user = ; //유저입력
static string com = ;
static int mixsu = 0; // 0~2 숫자를 랜덤으로 출력해서 저장하는 변수
static jlabel comimg;
static jlabel userimg;
static list list;
jlabel title;
jbutton rock;
jbutton paper;
jbutton sissors;
jbutton end;
jbutton reset;
/*=============== 생성자 ====================*/
public gbbclass(){
super(가위/바위/보 game coding by hanjong);
this.addwindowlistener(new windowadapter() {
public void windowclosing(windowevent e) {
system.exit(0);}
}
);
try{
uimanager.setlookandfeel(com.sun.java.swing.plaf.windows.windowslookandfeel);
swingutilities.updatecomponenttreeui(gbbclass.this);
}catch(exception e){ }
start_display();
}
/*=============== 메인 메서드 ====================*/
/*========== 레이어를 추가하는 메서드 ==============*/
public void start_display(){
container cpane=getcontentpane();
cpane.setlayout(null);
color bg = new color(255,255,255);
cpane.setbackground(bg);
rock = new jbutton(바위);
paper = new jbutton(보);
sissors = new jbutton(가위);
end = new jbutton(종료);
reset = new jbutton(reset);
list = new list();
comimg = new jlabel(new imageicon(1.jpg));
userimg = new jlabel(new imageicon(2.jpg));
title = new jlabel(new imageicon(./rockpapersissors/4.jpg));
rock.setbounds(30,250,70,30);
paper.setbounds(130,250,70,30);
sissors.setbounds(230,250,70,30);
end.setbounds(330,250,70,30);
list.setbounds(30,20,370,70);
reset.setbounds(330,220,70,30);
comimg.setbounds(30,140,100,100);
userimg.setbounds(200,140,100,100);
title.setbounds(30,110,270,40);
cpane.add(rock);
cpane.add(paper);
cpane.add(sissors);
cpane.add(end);
cpane.add(list);
cpane.add(comimg);
cpane.add(userimg);
cpane.add(reset);
cpane.add(title);
rock.addactionlistener(this);
paper.addactionlistener(this);
sissors.addactionlistener(this);
end.addactionlistener(this);
reset.addactionlistener(this);
}
/*======= user의 입력값을 text영역에 보여주는 메서드=======*/
public void actionperformed(actionevent e){
if(e.getsource() == rock){
list.removeall();
list.add(바위를 내셨군요.);
getfight(com,바위);
startmix();
}else if(e.getsource() == paper){
list.removeall();
list.add(보를 내셨군요.);
getfight(com,보);
startmix();
}else if(e.getsource() == sissors){
list.removeall();
list.add(가위를 내셨군요.);
getfight(com,가위);
startmix();
}else if(e.getsource() == reset){
list.removeall();
startmix();
}else if(e.getsource() == end){
system.exit(0);
}
}
/*========== 랜덤으로 가위바위보를 구하는 메서드 ============*/
static void startmix(){
mixsu = (int)(math.random()*3);
switch(mixsu){
case 0 : com = 가위; break;
case 1 : com = 바위; break;
default : com = 보; break;
}
}
/*============ user와 computer 승부비교============*/
static void getfight(string com, string user){
if(com.equals(바위)){
comimg.seticon(new imageicon(bawi.jpg));
if(user.equals(바위)){
userimg.seticon(new imageicon(bawi.jpg));
list.add(컴퓨터는 바위를 냈습니다.);
list.add(비겼습니다.);
}else if(user.equals(보)){
userimg.seticon(new imageicon(bo.jpg));
list.add(컴퓨터는 바위를 냈습니다.);
list.add(이겼습니다.);
}else{
userimg.seticon(new imageicon(gawi.jpg));
list.add(컴퓨터는 바위를 냈습니다.);
list.add(졌습니다.);
}
}
if(com.equals(가위)){
comimg.seticon(new imageicon(gawi.jpg));
if(user.equals(바위)){
userimg.seticon(new imageicon(bawi.jpg));
list.add(컴퓨터는 가위를 냈습니다.);
list.add(이겼습니다.);
}else if(user.equals(보)){
userimg.seticon(new imageicon(bo.jpg));
list.add(컴퓨터는 가위를 냈습니다.);
list.add(졌습니다.);
}else{
userimg.seticon(new imageicon(gawi.jpg));
list.add(컴퓨터는 가위를 냈습니다.);
list.add(비겼습니다.);
}
}
if(com.equals(보)){
comimg.seticon(new imageicon(bo.jpg));
if(user.equals(바위)){
userimg.seticon(new imageicon(bawi.jpg));
list.add(컴퓨터는 보를 냈습니다.);
list.add(졌습니다.);
}else if(user.equals(보)){
userimg.seticon(new imageicon(bo.jpg));
list.add(컴퓨터는 보를 냈습니다.);
list.add(비겼습니다.);
}else{
userimg.seticon(new imageicon(gawi.jpg));
list.add(컴퓨터는 보를 냈습니다.);
list.add(이겼습니다.);
}
}
}
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2701230 | 테마 설정하면 밑에 뜨는 글 삭제 (1) | 창의적 | 2025-07-12 |
2701177 | css적용이 안되요~ (6) | 다니엘 | 2025-07-11 |
2701151 | 사이트작업시 inputbox 가 readonly 형태표시 어떻게 하시나요? (1) | 찬내 | 2025-07-11 |
2701123 | 간단한 select 질문입니다 (3) | 천사의눈물 | 2025-07-11 |
2701061 | 비베질문.. | 똘끼 | 2025-07-10 |
2701034 | 메일폼 내 script 삽입가능한 방법 없을까요.. (2) | 마음새 | 2025-07-10 |
2701008 | 분명히 버튼을 만들었는데 액션이 안걸립니다. (3) | 재찬 | 2025-07-10 |
2700923 | 전체중앙정렬&독타입&쿼크모드 ㅜㅠ (8) | 푸른들 | 2025-07-09 |
2700893 | 질문드리겠습니다. | 도도한 | 2025-07-09 |
2700793 | 무비클립에 마우스 오버시 랜덤으로 효과음 나기는 어떻게 ;; (1) | 바닐라 | 2025-07-08 |
2700741 | 웹전송? (2) | 연와인 | 2025-07-07 |
2700686 | 카테고리 호버시 세부카테고리 보이게하는 것, css로만 가능할까요?? (3) | 다힘 | 2025-07-07 |
2700658 | 메타태그 질문드립니다..ㅠㅠ;;; | 모해 | 2025-07-07 |
2700632 | 외부에서 이미지 파일을 불러와야 합니다. 도와주세요. (4) | 에일린 | 2025-07-06 |
2700579 | (air + as3) smtp 이용해서 첨부파일 포함해서 메일 보내기 | 물보라 | 2025-07-06 |
2700524 | 클릭시 밑에 메뉴 나오게 (4) | 새솔 | 2025-07-05 |
2700505 | activex를 비쥬얼6.0으로 만들었는데요 비스타 배포시에 안되서 질문드립니다 (3) | 참이 | 2025-07-05 |
2700452 | c언어에서... 자료형 구분.... (3) | 시내 | 2025-07-05 |
2700422 | 버전에 관해 질문 | 라온제나 | 2025-07-04 |
2700393 | mysql이 갑자기!!!!!!!!!!!!!!!에러가;; (2) | 소미 | 2025-07-04 |