본문 바로가기
IT/기술(C,C++,JAVA)

JAVA를 이용한 간단한 슬롯머신 게임 만들기

by ghostzoominn 2020. 9. 13.

「 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으로 나눈 나머지 값을 표시하였습니다.

「 실행 결과 」

슬롯머신 프로그램 실행결과

 

댓글