「 JAVA를 이용한 간단한 슬롯머신 게임 만들기 」
JAVA를 이용하여 간단한 슬롯머신을 만드는 예제입니다.
슬롯머신처럼, '스핀' 버튼을 누르면 3개의 난수가 각각 화면에 표시가 되도록 하면 됩니다.
「 프로그램 코드 」
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
class MyCounter extends JFrame implements ActionListener {
private JLabel[] labels;
private JButton button;
private int[] numbers;
public MyCounter() {
setSize(500, 300);
JPanel panel = new JPanel();
panel.setLayout(null);
labels = new JLabel[3];
numbers = new int[3];
for (int i = 0; i < 3; i++) {
labels[i] = new JLabel("" + numbers[i]);
labels[i].setFont(new Font("Serif", Font.BOLD | Font.ITALIC, 100));
labels[i].setSize(100, 100);
labels[i].setLocation(100 + 100 * i, 20);
panel.add(labels[i]);
}
button = new JButton("스핀");
button.setSize(250, 50);
button.setLocation(100, 150);
panel.add(button);
button.addActionListener(this);
add(panel);
setTitle("My Game");
setVisible(true);
}
public void actionPerformed(ActionEvent event) {
for (int i = 0; i < 3; i++) {
numbers[i] = (int) (Math.random() * 10);
labels[i].setText(" " + numbers[i]);
}
}
}
public class SlotMachineTest {
public static void main(String[] args) {
new MyCounter();
}
}
「 주요 코드 설명 」
1. 3개의 레이블을 생성하고, 절대 위치에 표시하는 코드
for (int i = 0; i < 3; i++) {
labels[i] = new JLabel("" + numbers[i]);
labels[i].setFont(new Font("Serif", Font.BOLD | Font.ITALIC, 100));
labels[i].setSize(100, 100);
labels[i].setLocation(100 + 100 * i, 20);
panel.add(labels[i]);
}
labels[i].setLocation(100 + 100 * i, 20);
이 부분에서 i값의 증가에 따라 숫자의 위치가 절대값으로 결정되도록 코드를 구성하였습니다.
2. 랜덤 숫자를 만드는 코드
public void actionPerformed(ActionEvent event) {
for (int i = 0; i < 3; i++) {
numbers[i] = (int) (Math.random() * 10);
labels[i].setText(" " + numbers[i]);
}
}
0~9까지의 숫자중에 한가지의 숫자를 랜덤으로 표시하기위해, Math.random() 함수를 불러온 후 10으로 나눈 나머지 값을 표시하였습니다.
「 실행 결과 」
'IT > 기술(C,C++,JAVA)' 카테고리의 다른 글
c언어로 쉽게 만드는 합집합, 교집합, 차집합 간단 예제(코드포함) (3) | 2020.09.24 |
---|---|
Shell/Merge Sort(TopDown/BottomUp) 실행시간 비교(코드첨부) (0) | 2020.09.20 |
정말 쉬운 JAVA를 활용한 좌석 예약 프로그램 만들기 (3) | 2020.08.20 |
c를 활용한 원의 중심과 반지름을 통한 원그리기(넓이 구하기) (3) | 2020.08.18 |
c언어를 활용한 방향키(키보드)로 움직이는 #을 만드는 방법 (0) | 2020.08.17 |
댓글