숙제 야구게임 > 학습자료 | IOTsw_u2 U2 Project
학습자료

Etc 숙제 야구게임

본문

package javaAwtBaseball;

 

import java.awt.Button;

import java.awt.FlowLayout;

import java.awt.Font;

import java.awt.Frame;

import java.awt.GridLayout;

import java.awt.Label;

import java.awt.Panel;

import java.awt.TextField;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

 

public class BaseballMain {

private Frame mainFrame;

private Label headerLabel;

private Label msgLabel;

private Label statusLabel;

private Panel inputPanel;

private Panel controlPanel;

private Font font = new Font("Sans-Serif", Font.BOLD, 30);     //Font("글자체",글자style(Font.BOLD, Font.ITALIC, Font.PLAIN)

public BaseballMain() {

prepareGUI();

}

 

public static void main(String[] args) {

BaseballMain awtControlDemo = new BaseballMain(); // 메인객체를(생성자호출)

awtControlDemo.showButton(); //

}

 

// 프레임을 만들고 레벨을 붙이고 버튼을 넣을 판넬을 깐다

private void prepareGUI() {

// Frame 에 대한 셋팅

mainFrame = new Frame("신나는 야구게임");

mainFrame.setSize(400, 400);

mainFrame.setLayout(new GridLayout(6, 1)); // 그리드셋팅

mainFrame.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent windowEvent) {

System.exit(0);

}

});

 

// 상단에 있는 라벨

headerLabel = new Label();

headerLabel.setAlignment(Label.CENTER);

headerLabel.setText("Wellcom Baseball Center");

headerLabel.setFont(font);//폰트크기셋팅

 

//상황알림 라벨

msgLabel = new Label();

msgLabel.setAlignment(Label.CENTER);

msgLabel.setText("숫자를 3개 신속하게 넣으시오");

 

// 하단 상태값 라벨

statusLabel = new Label();

statusLabel.setText("Status Lable");

statusLabel.setAlignment(Label.CENTER);

statusLabel.setSize(350, 100);

 

inputPanel = new Panel();

inputPanel.setLayout(new FlowLayout()); // 따라가는 배치

 

controlPanel = new Panel();

controlPanel.setLayout(new FlowLayout()); // 따라가는 배치

 

mainFrame.add(headerLabel);

mainFrame.add(msgLabel);

mainFrame.add(inputPanel);

mainFrame.add(controlPanel);

mainFrame.add(statusLabel);

mainFrame.setVisible(true);

}

 

private void showButton() {

 

TextField userText = new TextField("",10);

userText.setFont(font);//폰트크기셋팅

Button btnOk = new Button(" 벳팅 ");

Button btnSubmit = new Button("계속하기");

Button btnCancel = new Button(" 종료 ");

 

btnOk.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

statusLabel.setText("Ok Button clicked.");

}

});

 

btnSubmit.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

statusLabel.setText("Submit Button clicked.");

}

});

 

btnCancel.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

System.exit(0);

}

});

 

userText.addKeyListener(new KeyListener() {

int num_count;

String toString;

 

@Override

public void keyReleased(KeyEvent e) {

if (isStringDouble(userText.getText())) {//숫자인지 정검한다

num_count = userText.getText().length(); //길이판정

//중복검사

if (num_count == 3) {

// 게임판정

//컴퓨터 숫자 출력

//내숫자 출력

//판정문 출력

toString = Long.toString(num_count);

statusLabel.setText(toString);

} else {

statusLabel.setText("3자리 수를 입력하시요");

}

} else {

statusLabel.setText("숫자만 유효합니다");

}

}

 

@Override

public void keyPressed(KeyEvent e) {

statusLabel.setText("키를 눌렀다");

}

@Override

public void keyTyped(KeyEvent e) {

statusLabel.setText("어떤 이벤트냐");

}

});

 

inputPanel.add(userText);

controlPanel.add(btnOk);

controlPanel.add(btnSubmit);

controlPanel.add(btnCancel);

mainFrame.setVisible(true);

}

 

//숫자인지 검사하는 메소드(함수)

public static boolean isStringDouble(String s) {

try {

Double.parseDouble(s);

return true;

} catch (NumberFormatException e) {

return false;

}

}

 

}

 

 

 

////////////////////////////////////////////////////////////////////////////

 

 

 

import java.util.Scanner;

 

public class Ball_computer {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

int[] pc = new int[3];

int[] my = new int[3];

int[] result = new int[10];

int count = 0;

boolean bool = false;

 

for (int j = 0; j < pc.length; ++j) {

do {

bool = false;

pc[j] = (int) (Math.random() * 10);

 

// 생성된 임의의 수가 같은 수일 때 다시 생성하도록.

for (int i = 0; i < j; ++i) {

if (pc[j] == pc[i]) {

bool = true;

}

}

} while (bool); // true일때 계속 do while문 실행 /false일때 빠져나감

// System.out.println(pc[j] + "\t"); // 정답 출력

} // end for i

 

while (true) {

int strike = 0, ball = 0;

System.out.println("3가지의 숫자를 입력하세요");

for (int i = 0; i < my.length; ++i) {

my[i] = scan.nextInt();

}

 

for (int i = 0; i < my.length; ++i) {

for (int j = 0; j < my.length; ++j) {

if (my[i] == pc[j]) { // 스트라이크 볼을 카운트

if (i == j) {

strike++;

} else {

ball++;

}

 

} // end if

} // end for j

} // end for i

 

System.out.println(strike + "strike," + ball + "ball");

count++;

if (strike == 3) {

break;

}

} // end while

System.out.println(count + "번만에 쓰트라이크 아웃!!");

 

}

}

댓글목록

학습자료 목록

Total 1건 1 페이지
게시물 검색

IOTsw_u2 정보

회사 . U2
주소 . 어느별 하늘 아래에 있것지요
사업자 등록번호 . 백수임 대표 . 김씨 전화 . 02-123-4567 팩스 . 팩스없음
통신판매업신고번호 . 낼할께 개인정보관리책임자 . 김씨가 알아서 함 부가통신사업신고번호 신고안함
Copyright © 2001-2013 U2. All Rights Reserved.
닫기