Java猜拳游戏代码解析:从入门到精通
代码解析
import java.util.Random;
import java.util.Scanner;
这两行代码导入了Java的Random和Scanner类,这些类可以用于生成随机数和读取用户的输入。
public class zuoye {
这一行代码定义了一个名为'zuoye'的公共类。
public static void main(String[] args) {
这一行代码定义了主方法,是程序的入口点。
String[] youxi = {'石头', '剪刀', '布'};
这一行代码创建了一个名为'youxi'的字符串数组,并初始化了三个元素,分别是'石头'、'剪刀'和'布'。
Scanner sc = new Scanner(System.in);
Random rd = new Random();
这两行代码创建了一个Scanner对象和一个Random对象,用于读取用户输入和生成随机数。
System.out.println('猜拳游戏:五局三胜制');
这一行代码在控制台打印出一条字符串,用于提示用户游戏规则。
int win = 0, lose = 0, pin = 0, i = 1;
这一行代码声明了四个整型变量win、lose、pin和i,并将它们初始化为0和1。
while (win < 3 && lose < 3 && pin + win + lose != 5) {
这一行代码开始了一个while循环,只要win小于3、lose小于3且pin + win + lose不等于5,循环就会继续执行。
shuchu(i);
这一行代码调用了名为shuchu的方法,并传入变量i的值作为参数。
int my = sc.nextInt();
my = shurucuowu(my, i, sc);
这两行代码从用户输入中读取整数,并将其赋值给变量my。然后,调用了名为shurucuowu的方法,并传入变量my、i和sc作为参数。
int pc = rd.nextInt(3);
这一行代码使用Random对象rd生成一个0到2之间的随机整数,并将其赋值给变量pc。
System.out.println('你的输入选择为:' + youxi[my - 1]);
System.out.println('电脑系统选择为:' + youxi[pc]);
这两行代码分别在控制台打印出用户选择的动作和电脑选择的动作。
if (my == pc || my - 3 == pc) {
System.out.println('你赢了');
win++;
} else if (my - 1 == pc) {
System.out.println('平局');
pin++;
} else {
System.out.println('你输了');
lose++;
}
这一段代码根据用户选择和电脑选择的结果,判断游戏的胜负,并相应地增加win、lose或pin的值。
i++;
这一行代码将变量i的值加1。
}
这一行代码结束了while循环。
zuihoushenli(win, lose);
这一行代码调用了名为zuihoushenli的方法,并传入变量win和lose的值作为参数。
private static void zuihoushenli(int win, int lose) {
这一行代码定义了一个私有静态方法zuihoushenli,它接受两个整型参数win和lose。
if (win > lose) {
System.out.println('
你胜利啦');
} else if (win < lose) {
System.out.println('
电脑胜利啦');
} else {
System.out.println('你和电脑为是平局');
}
这一段代码根据win和lose的值判断最终胜利的一方,并在控制台打印相应的结果。
}
这一行代码结束了zuihoushenli方法。
private static int shurucuowu(int my, int i, Scanner sc) {
这一行代码定义了一个私有静态方法shurucuowu,它接受三个参数:my、i和sc,分别表示用户的选择、局数和Scanner对象。
while (my < 1 | my > 3) {
System.out.println('输入有误重新输入');
shuchu(i);
my = sc.nextInt();
}
return my;
这段代码使用while循环,当用户的选择不在1到3之间时,循环会一直执行。在循环体内,会打印出错误提示并重新读取用户的输入,直到输入符合要求为止。最后,返回用户的选择。
}
这一行代码结束了shurucuowu方法。
private static void shuchu(int i) {
这一行代码定义了一个私有静态方法shuchu,它接受一个整型参数i,表示局数。
System.out.println('这是第' + i + '局');
System.out.println('请选择你的动作:');
System.out.println('1. 石头');
System.out.println('2. 剪刀');
System.out.println('3. 布');
这几行代码在控制台打印出局数和用户可以选择的动作。
}
这一行代码结束了shuchu方法。
}
这一行代码结束了主方法。
}
这一行代码结束了zuoye类。
原文地址: https://www.cveoy.top/t/topic/cZWz 著作权归作者所有。请勿转载和采集!