游戏规则:人和电脑分别出剪刀、石头、布,直到人战胜电脑,游戏结束。
1. 用Java语言实现
import java.util.Scanner;
/**
* java实现人机猜拳游戏
* 人和电脑分别出剪刀、石头、布,直到人战胜电脑,游戏结束
*/
public class Scissors_Stone_Cloth {
public static void main(String[] args) {
while (true) {
System.out.println("*******************************");
System.out.println("--------欢迎进入猜拳游戏--------");
System.out.println("请出拳:(1是剪刀,2是石头,3是布)");
Scanner sc=new Scanner(System.in);
int person=sc.nextInt(); //获取用户输入
int computer=(int)(Math.random()*3)+1; //电脑随机出拳
String per="用户";
String com = "电脑";
//用户出拳
switch(person){
case 1:
per="剪刀";
break;
case 2:
per="石头";
break;
case 3:
per="布";
break;
}
//电脑出拳
switch(computer){
case 1:
com="剪刀";
break;
case 2:
com="石头";
break;
case 3:
com="布";
break;
}
//根据出拳判断输赢
if(person==1&&computer==2||person==2&&computer==3||person==3&&computer==1){
System.out.println("你出的是("+per+") 电脑出的是("+com+")");
System.out.println(" 【你输了!再来一次吧】");
//System.out.println();
}else if (person==computer){
System.out.println("你出的是("+per+") 电脑出的是("+com+")");
System.out.println(" 【平局!再来一次吧】");
// System.out.println();
}else{
System.out.println("你出的是("+per+") 电脑出的是("+com+")");
System.out.println(" 【恭喜你赢了!!!】");
System.out.println("【你终于战胜了电脑,游戏结束!】");;
break;
}
}
}
}
2. 用Go语言实现
package main
import (
"fmt"
"math/rand"
)
// 下面这个函数判断一个一维slice在不在二维slice中,相当于python中in功能
func exist_in(str1 [][]string, str2 []string) int {
for _, item := range str1 {
if item[0] == str2[0] && item[1] == str2[1] {
return 1
}
}
return 0
}
func main() {
var person string
guess_list := []string{"石头", "剪刀", "布"}
Win := [][]string{{"布", "石头"}, {"石头", "剪刀"}, {"剪刀", "布"}}
for {
num := rand.Intn(len(guess_list))
computer := guess_list[num]
fmt.Println(computer)
fmt.Println("请输入'石头,剪刀,布'")
fmt.Scanf("%s\n", &person)
input := []string{computer, person} //构造一个一维slice
if computer == person {
fmt.Println("平手!")
} else if exist_in(Win, input) > 0 {
fmt.Println("电脑获胜")
} else {
fmt.Println("人获胜")
break
}
}
}
3. 用python实现
import random
guess_list = ["石头", "剪刀", "布"]
win_combination = [["布", "石头"], ["石头", "剪刀"], ["剪刀", "布"]]
while True:
computer = random.choice(guess_list)
people = input('请输入:石头,剪刀,布\n').strip()
if people not in guess_list:
continue
elif computer == people:
print("平手,再玩一次!")
elif [computer, people] in win_combination:
print("电脑获胜,再玩,人获胜才能退出!")
else:
print("人获胜!")
break
执行结果如下图: