练习用的仿代码 自己堆出来的;
首先堆一个玩家的属性和相应方法:
package csq;
import java.util.Scanner;
public class Person {
String name;
int score;
public int showFist(){
System.out.println("请出拳:1.剪刀 2.石头 3.布");
Scanner iuput=new Scanner(System.in);
int num=iuput.nextInt();
String fist="";
switch (num){
case 1:
fist="剪刀";
break;
case 2:
fist="石头";
break;
case 3:
fist="布";
break;
}
System.out.println(name+"的出拳为:"+fist);
return num;
}
}
再创建一个computer的属性和猜拳方法:
package csq;
public class Computer {
String name;
int score;
public int Showfist(){
int num=(int)(Math.random()*3)+1;
String fist="";
switch (num){
case 1:
fist="剪刀";
break;
case 2:
fist="石头";
break;
case 3:
fist="布";
break;
}
System.out.println(name+"出拳为:"+fist);
return num;
}
}
然后是游戏界面包含引用:
package csq;
import java.util.Scanner;
public class Game {
int count;
Person person=new Person();
Computer computer=new Computer();
public int initia(){
count=0;
return count;
}
public void startGame(){
System.out.println("---------欢迎进入游戏世界---------\n");
System.out.println("\t\t************");
System.out.println("\t\t** 😊猜拳,start☺ **");
System.out.println("\t\t************");
System.out.println("\n\n 出拳规则:1.剪刀 2.石头 3.布");
Scanner iuput=new Scanner(System.in);
System.out.println("请选择对手:1. 刘备 2.关羽 3.张飞");
int num=iuput.nextInt();
switch (num){
case 1:
computer.name="刘备";
break;
case 2:
computer.name="关羽";
break;
case 3:
computer.name="张飞";
break;
}
System.out.print("请输入你的名字:");
person.name=iuput.next();
System.out.println(person.name+"VS"+computer.name+"对战\n");
System.out.print("\n要开始了么?(y/n)");
String con=iuput.next();
int perFist;
int comFist;
if (con.equals("y")){
String answer="y";
while ("y".equals(answer)){
perFist=person.showFist();
comFist=computer.Showfist();
if ((perFist==1&&comFist==1)||(perFist==2&&comFist==2)||(perFist==3&&comFist==3)){
System.out.println("平局\n");
}
else if ((perFist==3)&&(comFist==2)||(perFist==2)&&(comFist==1)||(perFist==1)&&(comFist==3)){
System.out.println("恭喜你,你赢了");
person.score++;
}
else {
System.out.println("你输了");
person.score++;
}
count++;
System.out.println("\n是否开始下一轮(y/n)");
answer=iuput.next();
}
}
}
public void showRosult(){
System.out.println("---------------------------");
System.out.println(computer.name+"VS"+person.name);
System.out.println("对战次数:"+count);
System.out.println("\n 姓名\t得分\n"+person.name+"\t\t"+person.score+"\n"+computer.name+"\t\t"+computer.score+"\n");
if (computer.score==person.score){
System.out.println("平局");
}else if (computer.score>person.score){
System.out.println("你输了");
}else {
System.out.println("你赢了");
}
System.out.println("-------------------------");
}
}
这玩意很烦对于初学者无框架的人来说,写出来要用到之前学的东西,之前是不记笔记的,但是后来的初学者特别是自学者最好养成记笔记的习惯。
最后一个测试类:
代码如下:
package csq;
public class Text {
public static void main(String[] args) {
Game start=new Game();
start.initia();
start.startGame();
start.showRosult();
}
}
这个就是main方法加上调用作用,没啥难的。
406

被折叠的 条评论
为什么被折叠?



