자바 입문 안 열 가위바위보 게임
먼저 내 가 어떤 종 류 를 썼 는 지 보 자.
플레이어:플레이어 클래스;
Computer Player:로봇 게이머 류 는 주로 로봇 이 무 작위 로 주먹 을 내 는 것 을 실현 하 는 데 사용 된다.
Game:게임 류 는 주로 게임 규칙 의 논리 와 정식 게임 의 논 리 를 실현 합 니 다.
TestGuessBox:코드 테스트 클래스;
Player 클래스:
//
public class Player {
private String name; //
private int score; //
private String box; //
// ,
Player(String name,int score){
this.name=name;
this.score=score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public String getBox() {
return box;
}
public void setBox(String box) {
this.box = box;
}
}
ComputerPlayer 클래스
public class ComputerPlayer extends Player {
// ,
ComputerPlayer(String name, int score) {
super(" "+name, score);
// TODO Auto-generated constructor stub
}
/**
*
*/
void punch() {
String[] box = {" "," "," "};
int index =(int) (Math.random()*3);
this.setBox(box[index]);
}
}
게임 클래스
import java.util.Scanner;
public class Game {
Player p; //
ComputerPlayer cp; //
// ,
Game(Player p, ComputerPlayer cp) {
this.p = p;
this.cp = cp;
}
//
void start() {
System.out.println(" "+p.getName()+
" "+cp.getName()+" ");
System.out.println(" :"+p.getScore()+
"
"+cp.getName()+" :"+cp.getScore());
Scanner sc=new Scanner(System.in);
while(true) {
System.out.println(" ( ,exit ):");
String pbox=sc.next();
if(filter(pbox)) { //
if(pbox.equals("exit")) { //
break;
}else {
p.setBox(pbox);
cp.punch();
System.out.println(" :"+p.getBox());
System.out.println(cp.getName()+" :"+cp.getBox());
int result = ruler(p,cp);
if(result>0) {
System.out.println(" , 10 ");
p.setScore(p.getScore()+10);
cp.setScore(cp.getScore()-10);
}
else if(result<0) {
System.out.println(" , 10 ");
p.setScore(p.getScore()-10);
cp.setScore(cp.getScore()+10);
}
else {
System.out.println(" !");
}
}
}
else {
System.out.println(" , :");
continue; // ,
}
}
System.out.println(" , :");
System.out.println(" :"+p.getScore());
System.out.println(cp.getName()+" :"
+cp.getScore());
}
/**
*
*
* @param p1 1
* @param cp2 2
* @return 0 ,1 ,-1
*/
int ruler(Player p1, Player cp2) {
if (p1.getBox().equals(" ")) {
if (cp2.getBox().equals(" "))
return -1;
else if (cp2.getBox().equals(" "))
return 1;
} else if (p1.getBox().equals(" ")) {
if (cp2.getBox().equals(" "))
return 1;
else if (cp2.getBox().equals(" "))
return -1;
} else if (p1.getBox().equals(" ")) {
if (cp2.getBox().equals(" "))
return -1;
else if (cp2.getBox().equals(" "))
return 1;
}
return 0;
}
/**
*
* @param s
* @return
*/
boolean filter(String s) {
if (s.equals(" ") || s.equals(" ") || s.equals(" ") || s.equals("exit")) {
return true;
} else
return false;
}
}
TestGuessBox 클래스
public class TestGuessBox {
public static void main(String[] args) {
// TODO Auto-generated method stub
Player p =new Player(" ",100);
ComputerPlayer cp=new ComputerPlayer(" ",100);
Game game=new Game(p,cp);
game.start();
}
}
아주 간단 해서 생각 을 정리 하면 쉽게 쓸 수 있다.잘못 이 있 으 면 지적 해 주세요.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.