반응형
package javaapplication55; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; class Ex9 extends JFrame{ ImageIcon[] gbb = {new ImageIcon("gawi.jpg"), new ImageIcon("bawi.jpg"), new ImageIcon("bo.jpg")}; JButton[] btn = new JButton[gbb.length]; JLabel me= new JLabel("me"); JLabel com= new JLabel("com"); JLabel win= new JLabel("win"); Ex9(){ this.setTitle("가위 바위 보 게임"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel northPanel = new JPanel(); northPanel.setBackground(Color.GRAY); JPanel centerPanel = new JPanel(); centerPanel.setBackground(Color.YELLOW); win.setForeground(Color.red); centerPanel.add(me); centerPanel.add(com); centerPanel.add(win); for(int i=0; i<gbb.length; i++){ btn[i]=new JButton(gbb[i]); btn[i].addActionListener(new MyActionListener()); northPanel.add(btn[i]); } this.add(northPanel, BorderLayout.NORTH); this.add(centerPanel, BorderLayout.CENTER); this.setSize(400,300); this.setVisible(true); } public void draw(Icon m, Icon c, String w){ me.setIcon(m); com.setIcon(c); win.setText(w); } class MyActionListener implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { String w; JButton b =(JButton)e.getSource(); int n=(int)(Math.random()*3); if(btn[0]==b){ if(n==0){ w="Same!!!"; draw(gbb[0],gbb[n],w); } else if(n==1){ w="COMPUTER!!!"; draw(gbb[0],gbb[n],w); } else if(n==2){ w="ME!!!"; draw(gbb[0],gbb[n],w); } } else if(btn[1]==b){ if(n==0){ w="ME!!!"; draw(gbb[1],gbb[n],w); } else if(n==1){ w="Same!!!"; draw(gbb[1],gbb[n],w); } else if(n==2){ w="COMPUTER!!!"; draw(gbb[1],gbb[n],w); } } else if(btn[2]==b){ if(n==0){ w="COMPUTER!!!"; draw(gbb[2],gbb[n],w); } else if(n==1){ w="ME!!!"; draw(gbb[2],gbb[n],w); } else if(n==2){ w="Same!!!"; draw(gbb[2],gbb[n],w); } else return; } } } } public class JavaApplication55 { public static void main(String[] args) { new Ex9(); } }
<결과>
2016/10/29 - [자바] - 자바 소스코드: 텍스트필드의 문자열을 제한하기
2016/10/29 - [자바] - 자바 소스코드: 슬라이더 수치로 문자열 크기 조정
2016/10/29 - [자바] - 자바 소스코드: 슬라이더 수치 문자열로 표현
#자바 #자바 소스코드 #명품자바 프로그래밍 실습문제 11장 9번 #자바 예제 #가위 #바위 #보 #랜덤함수를 이용한 가위바위보 게임 #액션 리스너 #이미지 아이콘 #버튼 #Math.random()
반응형
'자바' 카테고리의 다른 글
자바 소스코드: JTextArea를 이용한 텍스트 영역만들기 예제 (0) | 2016.11.12 |
---|---|
자바 소스코드: 랜덤위치의 숫자를 순서대로 클릭하여 없애기 (0) | 2016.10.29 |
자바 소스코드: 텍스트필드의 문자열을 제한하기 (0) | 2016.10.29 |
자바 소스코드: 슬라이더 수치로 문자열 크기 조정 (0) | 2016.10.29 |
자바 소스코드: 슬라이더 수치 문자열로 표현 (0) | 2016.10.29 |