编程(游戏,逻辑中的算法)
剪刀石头布-à程序
玩法:
两个玩家
电脑(随机) 玩家
- 玩家参与:输入用户名
- 电脑:提供角色供选择
- 玩家选择:1-剪刀 2-石头 3-布
- 电脑随机选对一个数字1,2,3
- 判断对错(实现玩家赢或者电脑赢的结果)
(1)罗列出所有的可能性,判断每种可能性的实现
If 电脑==1 玩家==2
玩家 赢
Else if 电脑==2 玩家==3
玩家赢
Else if 电脑==1 玩家==3
电脑赢
Else if 玩家 ==1 电脑 ==2
电脑赢
Else if电脑==3 玩家==2
电脑赢
Else if 玩家 ==1 电脑 ==3
玩家赢
Else:
平局
(2) 剪刀 石头 布
1 2 3
所有赢家 玩家 –电脑=1 || 玩家-电脑=-2(间隔数) 玩家赢
电脑-玩家=1||电脑-玩家=-2 电脑赢
最后: 平局
import java.util.Scanner;
public class game1_modi {
public static void main(String[] args) {
//定义全局变量,玩家名字player_name,电脑名字com_name,玩家出拳player_choice,电脑出拳com_choice
String player_name;
String com_name;
int player_choice;
int com_choice;
//增加的bug变量,玩家的出拳名称 player_choice_name 电脑出拳名称 com_choice_name
String player_choice_name;
String com_choice_name;
//按照流程写程序
//欢迎界面
System.out.println("**********************************");
System.out.println(" 游戏:剪刀石头布");
System.out.println(" 作者:XXXXXX");
System.out.println(" 版本:v1.1");
System.out.println("*********************************");
System.out.println("欢迎进入本游戏,请输出游戏玩家的名字:");
//获取输入设备
Scanner scanner = new Scanner(System.in);
//结合上下文的变量来决定当前等式的变量,nextLine()游戏玩家的名字可以带空格
player_name=scanner.nextLine();
//玩家可能输入空格,哪一个结果为true,就是player_name的变量内容
// System.out.println(player_name.equals(""));
//这个变量的空格也可能是多个,包含空格 contains,这种 contains包含空格,但是中间也有,中间有合法
//只有player变量全是空格,不合法,trim()方法去掉字符串开头和结尾的空格
// System.out.println(player_name.trim().equals(""));
if(player_name.trim().equals("")){
player_name="匿名玩家";
}
// if(player_name)
//选择电脑的玩家
System.out.println("********************************");
System.out.println("1-----ikun");
System.out.println("2-----jkun");
System.out.println("*********************************");
//需要用户选择玩家
String com_no=scanner.next();
if (com_no.equals("1")){
com_name="ikun";
}else if(com_no.equals("2")){
com_name="jikun";
}else{
com_name="匿名kun";
}
//玩家出拳
System.out.println("****请玩家选择出拳的代表数字*********");
System.out.println("1------剪刀");
System.out.println("2------石头");
System.out.println("3------布");
System.out.println("*************