昨天老师布置了猜拳小游戏,我也做了一份。当时自我感觉还不错。结果老师今天花了20分钟讲了一下。发现自己还是不行呀。main方法写的太多。不太简洁。
封上老师的源码:https://www.lanzouj.com/i1j732h
没有比较就没有伤害。下面封上我自己写的源码。我写的代码比较少。
[Java] 纯文本查看 复制代码 package day06;
import java.util.Scanner;
class Computer{
private int score;
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public int punch()
{
int rd=(int)(Math.random()*3+1);
switch(rd){
case 1:System.out.println("电脑出了石头");break;
case 2:System.out.println("电脑出了剪刀");break;
case 3:System.out.println("电脑出了布");
}
return rd;
}
}
class Person{
private int score;
private int rd;
public int getScore() {
return score;
}
public int getRd() {
return rd;
}
public void setRd(int rd) {
this.rd = rd;
}
public void setScore(int score) {
this.score = score;
}
public int punch()
{
switch(rd){
case 1:System.out.println("玩家你出了石头");break;
case 2:System.out.println("玩家你出了剪刀");break;
case 3:System.out.println("玩家你出了布");
}
return rd;
}
}
public class GuessFistGame {
public static int play(Computer c,Person p,int a){
int cFist=c.punch();
int pFist=p.punch();
System.out.println("----------------游戏结束------------");
if(cFist==pFist)
System.out.println("平局");
else if((cFist==1 && pFist==2) || (cFist==2 && pFist==3) || (cFist==3 && pFist==1))
System.out.println("电脑赢,你输了!");
else{
a++;
System.out.println("恭喜你,赢了电脑。");
}
return a;
}
public static void result(int a,int b){
System.out.println("总共游戏"+a+"次"+"你赢了电脑"+b+"次");
}
public static void main(String[] args) {
int winP=0;
int times=0;
boolean menu=true;
Computer c=new Computer();
Person p=new Person();
Scanner in= new Scanner(System.in);
while(menu)
{
System.out.println("-----------------猜拳游戏-------------\n"
+ "\t\t1.开始-------(1代表石头,2代表剪刀,3代表石头)\n"
+ "\t\t2.查看总记录\n"
+ "\t\t3.退出游戏\n");
System.out.print("请输入您的选项:");
int tab=in.nextInt();
switch(tab){
case 1:
while(true){
System.out.println("游戏开始,请输入你输入数字1/2/3 4(返回上一级)");
int rd=in.nextInt();
if(rd==4)
break;
p.setRd(rd);
times++;
winP=play(c,p,winP);
System.out.println("----------------------------");
}
break;
case 2:
result(times,winP);
break;
case 3:
menu=false;
}
}
}
}
|