猜拳游戏代码

合集下载

猜拳C语言

猜拳C语言
default:printf("您出的是剪刀,电脑出的是布.....您赢了!\n");
}
}
else if(a==3)
{
switch(n)
{
case 1:printf("您出的是布,电脑出的是石头......您赢了!\n");break;
case 2:printf("您出的是布,电脑出的是剪刀......电脑赢了\n");break;
default:printf("双方出的都是布......平手\n");
}
}
else if(a==4)
{
goto tuichu;
}
else
{
printf("输入的数字有误!请重新输入!\n");
}
printf("........................................................\n");
Hale Waihona Puke #include<time.h>
void main()
{
int n;
int a;
int b;
b=1;
printf("这是一个猜拳小游戏!\n");
while(b<=20)
{
srand((unsigned)time(NULL));/*随机种子*/
n=rand()%(3-1+1)+1;/*n为1~3之间的随机数*/
printf("1:石头\n2:剪刀\n3:布(第%d场)\n4:不玩了,退出\n",b);
printf("输入相应的数字进行猜拳:\n");

使用java实现猜拳小游戏

使用java实现猜拳小游戏

使⽤java实现猜拳⼩游戏本⽂实例为⼤家分享了java实现猜拳⼩游戏的具体代码,供⼤家参考,具体内容如下实现下图要求public class User {private String u_name;private int u_score;public User() {super();}public User(String name, int score) {super();this.u_name = name;this.u_score = score;}public String getName() {return u_name;}public void setName(String name) {this.u_name = name;}public int getScore() {return u_score;}public void setScore(int score) {this.u_score = score;}/*** 出拳⽅法* @param choice 选择的数字代表出拳(1:⽯头2:剪⼑3:布)case 2:str = "剪⼑";break;case 3:str = "布";break;default:System.out.println("未知错误");break;}return str;}}public class Computer {private String c_name;private int c_score;public String getName() {return c_name;}public void setName(String name) {this.c_name = name;}public int getScore() {return c_score;}public void setScore(int score) {this.c_score = score;}/*** 出拳⽅法* @param choice 选择的数字代表出拳(1:⽯头2:剪⼑3:布)case 2:str = "剪⼑";break;case 3:str = "布";break;default:System.out.println("未知错误");break;}return str;}}import java.util.Scanner;public class Game {Scanner input = new Scanner(System.in);private User user;private Computer computer;private int count;private int c_score;private int u_score;//初始化⽅法public void init(){user = new User();computer = new Computer();System.out.println("-----------------欢迎进⼊游戏世界------------------");System.out.println("\t **************************");System.out.println("\t\t** 猜拳,开始 **");System.out.println("\t **************************");System.out.println();System.out.println("出拳规则:1.⽯头 2.剪⼑ 3.布");System.out.print("请选择对⽅⾓⾊:(1:曹操 2:孙权 3:刘备):"); int key = input.nextInt();switch (key) {case 1:computer.setName("曹操");break;case 2:computer.setName("孙权");System.out.println("⾮法输⼊...");break;}System.out.print("请输⼊你的姓名:");user.setName(input.next());System.out.println(user.getName()+" VS "+computer.getName());begin();}//是否开始执⾏循环执⾏直到输⼊n结束public void begin(){System.out.print("要开始吗(y/n):");// boolean falg = true;String str = input.next();if(str.equals("y")){while(true){score();System.out.print("是否开始下⼀轮:(y/n)");String str1 = input.next();count++;if(str1.equals("y")){}else{// falg = false;break;}}}show();}//⼈和机器出拳并判断胜负此处计算⽐赛次数双⽅得分public void score(){System.out.print("请出拳:");int choice1 = input.nextInt();String str1 = user.chuQuan(choice1);int choice2 = (int)(Math.random()*3+1);String str2 = computer.chuQuan(choice2);System.out.println("你出拳"+str1);System.out.println(computer.getName()+"出拳"+str2);if(choice1 == choice2){System.out.println("结果:平局");}else if(choice2-choice1==-1||choice2-choice1==2){System.out.println("结果:"+computer.getName()+"获胜...");c_score++;computer.setScore(c_score);}else if(choice1-choice2==-1||choice1-choice2==2){System.out.println("结果:恭喜你,你获胜...");u_score++;user.setScore(u_score);}}//显⽰⽐赛结果并⽐较得得出最后胜负public void show(){System.out.println("--------------------------------");System.out.println(user.getName()+" VS "+computer.getName());System.out.println("对战次数:"+count+"\n\n");System.out.println("姓名\t得分");System.out.println(user.getName()+"\t"+user.getScore());System.out.println(computer.getName()+"\t"+computer.getScore()+"\n"); if(user.getScore()>computer.getScore()){System.out.println("结果:恭喜恭喜");}else if(user.getScore()<computer.getScore()){System.out.println("结果:再接再厉");}else{System.out.println("结果:平局");}System.out.println("--------------------------------");}}测试类Game game = new Game();game.init();}}这样猜拳⼩游戏就实现了。

HTML+JS实现猜拳游戏的示例代码

HTML+JS实现猜拳游戏的示例代码

HTML+JS实现猜拳游戏的⽰例代码⽬录效果图关于JS构建过程添加事件监听器函数 gameRules()函数 whoWon()效果图游戏可以通过这个进⼊关于JS构建过程⾸先,我创建了⼀个对象,其中包含每种可能性的⽂本格式(⽯头、纸、剪⼑),然后将图像源也添加到该对象中。

在我制作的 HTML 中:playerChoiceImgplayerChoiceTxtcomputerChoiceImgcomputerChoiceTxt能够修改其中的每个内容。

然后创建了⼀个points变量,它将存储每个玩家(玩家和计算机)的分数。

之后,我需要⼀个介于 1 和 3 之间的随机⽣成的数字来指⽰计算机的选择。

// 变量const choices = [{id: 1,name: "⽯头",image: "./img/rock.png"},{id: 2,name: "布",image: "./img/paper.png"},{id: 3,name: "剪⼑",image: "./img/scissors.png"}]let playerPoints = document.querySelector(".playerPoints")let computerPoints = document.querySelector(".computerPoints")let playerChoiceImg = document.querySelector("#playerChoiceImg")let playerChoiceTxt = document.querySelector("#playerChoiceTxt")let computerChoiceImg = document.querySelector("#computerChoiceImg")let computerChoiceTxt = document.querySelector("#computerChoiceTxt")let buttons = document.querySelectorAll(".btn")let points = [0, 0]let randomNumber;⽼实说我给这些对象⼀个ID,但没有在项⽬中使⽤它们。

C语言猜拳游戏代码

C语言猜拳游戏代码
{
CBrush brushes[3];
brushes[0].CreateSolidBrush(RGB(100, 60, 30));
brushes[1].CreateSolidBrush(RGB(20, 120, 90));
brushes[2].CreateSolidBrush(RGB(30, 80, 150));
NULL, NULL);
CRect rect (0, 0, 600, 600);
CalcWindowRect (&rect);
SetWindowPos(NULL, 0, 0, rect.Width(), rect.Height(),
SWP_NOZORDER | SWP_NOMOVE | SWP_NOREDRAW);
#define SHITOU 0
#define JIANDAO 1
#define BU 2
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main()
{
int x,y;
srand ((unsigned)time(NULL));
printf("电脑-布,玩家-布,平\n");
break;
}
break;
}
return 0;
}
WINDOWS模式下的,用MFC写成(可视,但我不会画那些图案,只好用文字代替):
(PRS.h)
#define SHITOU 0
#define JIANDAO 1
}
break;

C语言实现猜拳游戏

C语言实现猜拳游戏

C语⾔实现猜拳游戏⼀、问题C语⾔实现猜拳游戏,⽤户⾃⼰选择对⼿,可以创建玩家⾓⾊。

可以记录当前对战情况(对战局数,得分情况)⼆、解决思路猜拳游戏⼤家都不陌⽣,从⼩玩到⼤,遇到棘⼿的选择,猜拳往往是最能服众的处理办法。

那么今天我们就⽤C语⾔来实现这个⼩游戏。

这题⽐较简单,创建两个字符数组,对应对⼿和玩家。

接着⽤户选择要出的(⽯头,剪⼑,布),然后是电脑选择,最后把两个选择进⾏对⽐,判断输赢。

三、代码实现第⼀步,编写game.h头⽂件,把需要⽤到的函数声明及⼀些宏定义写在⾥⾯#ifndef __GAME_H__#define __GAME_H__#include <stdio.h>#include <windows.h>#include <time.h>#pragma warning(disable:4996)void menu();void gamestart(int com, char* comname, char* name);int judge(int choice, int c);int computer_round();void show(int count, int ptimes, int ctimes, char* comname, char* name);#endif第⼆步,编写main函数,从这⾥调⽤函数#include "game.h"int main(){menu();//调⽤menu函数system("pause");return 0;}第三步,编写game.c,把需要⽤到的函数都写在⾥⾯。

menu函数,指引⽤户做出选择void menu()//menu函数,指引⽤户做出选择{printf("**************\n");printf("**猜拳,开始**\n");printf("**************\n");printf("请选择对⽅⾓⾊(1.奥特曼2.葫芦娃3.孙悟空)\n");int com = 0;char comname[20] = { 0 };int flag = 1;while (flag) { //为⽤户选择的对⼿创建名字scanf("%d", &com);switch (com) {case 1:strcpy(comname,"奥特曼");flag = 0;break;case 2:strcpy(comname, "葫芦娃");flag = 0;break;case 3:strcpy(comname, "孙悟空");flag = 0;break;default:printf("输⼊有误!\n");break;}}printf("请输⼊你的名字:");char name[20] = { 0 };scanf("%s", name);//⽤户⾃⼰创建⾓⾊printf("%sVS%s\n", name,comname);printf("要开始吗?(y/n)\n");char choice = 0;while (1) {if (flag) { // 判断⽤户是不是第⼀次进⾏游戏printf("要继续吗?(y/n)\n");}flag = 1;getchar();scanf("%c", &choice);switch (choice) {case 'y': gamestart(comname,name);//'y',开始游戏,调⽤gamestart函数break;case 'n': printf("拜拜!\n");//'n',游戏结束,函数调⽤结束return;default: printf("输⼊有误,请重新输⼊!\n");break;}}}gamestart函数,游戏开始void gamestart(char* comname,char* name){int static ptimes = 0;//⽤户赢的次数int static ctimes = 0;//电脑赢得次数int static count = 0; //游戏对战次数if (count) {show(count,ptimes,ctimes,comname,name); //如果不是第⼀次进⼊游戏,则显⽰当前对战情况 }count++;//每进⾏⼀次游戏,count⾃加⼀printf("请出拳:1.⽯头2.剪⼑3.布\n");int choice = 0;printf("你出拳:");int flag = 1;while (flag) {scanf("%d", &choice);switch (choice) {case 1:printf("⽯头\n");flag = 0;break;case 2:printf("剪⼑\n");flag = 0;break;case 3:printf("布\n");flag = 0;break;default:printf("输⼊有误,请重新输⼊!\n");}}printf("%s出拳:", comname);int result = judge(choice, computer_round());//先调⽤computer_round函数,得到电脑的选择//然后调⽤judge函数,判断输赢switch (result) {case -1:printf("很遗憾,你输了!\n");ctimes++; //记录电脑赢的次数break;case 0:printf("还不错,平局!\n");break;case 1:printf("恭喜你,你赢了!\n");ptimes++; //记录⽤户赢的次数break;}}judge函数,判断输赢int judge(int choice, int c)//judge函数,判断输赢{if (choice == c) { //如果两个选择相同,则平局return 0;}if (choice - c == 1 || choice - c == -2) { // choice是⽤户选择,若符合这两个结果,则证明⽤户输return -1;}else {return 1; //否则⽤户赢}}computer_round函数,电脑回合int computer_round()//computer_round函数,电脑选择出什么{srand((unsigned long)time(NULL));int c = rand() % 2 + 1; //与⼈的选项⼀样,1.⽯头2.剪⼑3.布if (c == 1) {printf("⽯头\n");}else if (c == 2) {printf("剪⼑\n");}else {printf("布\n");}return c;}show函数,显⽰当前对战情况void show(int count, int ptimes, int ctimes, char* comname, char* name) {system("cls");printf("%sVS%s\n", name, comname);printf("对战次数:%d\n", count);printf("姓名得分\n");printf("%6s %d\n", name, ptimes);printf("%6s %d\n", comname, ctimes);}四、运⾏结果五、写在最后既然在家都闲着没事,不如写个⼩游戏;不耽误学习,不耽误娱乐。

用javascript编写猜拳游戏(函数)

用javascript编写猜拳游戏(函数)

⽤javascript编写猜拳游戏(函数) 1const readline = require('readline-sync')//引⽤readline-sync2 console.log('欢迎进⼊猜拳游戏');3//电脑随机出拳4 let fn = function (min, max) {5if (!max) {//当max没有值时6 max = min;7 min = 0;8 }9if (min < max) {10return parseInt(Math.random() * (max - min + 1) + min);1112 } else {13return parseInt(Math.random() * (min - max + 1) + max);14 }15 }16//玩家选择出拳17 let menu = function () {18while (true) {19 console.log('请玩家出拳:1.⽯头 2.剪⼑ 3.布 4.退出');20 let num = readline.question() - 0;21switch (num) {22case4:23 console.log('再见,欢迎下次');24return;25 }26 let num1 = fn(1, 3)27if (num == num1) {28if (num == 1) {//平局29 console.log('玩家出拳:⽯头。

电脑出拳:⽯头\n 平局');30 } else if (num == 2) {31 console.log('玩家出拳:剪⼑。

电脑出拳:剪⼑\n 平局');32 } else {33 console.log('玩家出拳:布。

电脑出拳:布\n 平局');34 }35 } else if (num == 1 && num1 == 2 || num == 2 && num1 == 3 || num == 3 && num1 == 1) {36if (num == 1 && num1 == 2) {37 console.log('玩家出拳:⽯头。

Java猜拳小游戏(剪刀、石头、布)

Java猜拳小游戏(剪刀、石头、布)

Java猜拳⼩游戏(剪⼑、⽯头、布)1、第⼀种实现⽅法,调⽤Random数据包,直接根据“1、2、3”输出“剪⼑、⽯头、布”。

主要⽤了9条输出判断语句。

import java.util.Random;import java.util.Scanner;public class caiquan{public static void main(String[] args){Random r=new Random();int diannao=r.nextInt(3)+1;Scanner s=new Scanner(System.in);System.out.println("=========猜拳⼩游戏=========");System.out.println("请输⼊1、2、3,1代表剪⼑,2代表⽯头,3代表布");int fangke=s.nextInt();if(diannao==1&&fangke==1){System.out.println("电脑出的是剪⼑,你出的是剪⼑,平局");}if(diannao==1&&fangke==2){System.out.println("电脑出的是剪⼑,你出的是⽯头,你赢了");}if(diannao==1&&fangke==3){System.out.println("电脑出的是剪⼑,你出的是布,电脑赢了");}if(diannao==2&&fangke==1){System.out.println("电脑出的是⽯头,你出的是剪⼑,电脑赢了");}if(diannao==2&&fangke==2){System.out.println("电脑出的是⽯头,你出的是⽯头,平局");}if(diannao==2&&fangke==3){System.out.println("电脑出的是⽯头,你出的是布,你赢了");}if(diannao==3&&fangke==1){System.out.println("电脑出的是布,你出的是剪⼑,你赢了");}if(diannao==3&&fangke==2){System.out.println("电脑出的是布,你出的是⽯头,电脑赢了");}if(diannao==3&&fangke==3){System.out.println("电脑出的是布,你出的是布,平局");}if(fangke!=1&&fangke!=2&&fangke!=3){System.out.println("只能输⼊1、2、3");}}} 2、第⼆种实现⽅法,不调⽤Random数据包,换成Math.random(),把“1、2、3”换成“剪⼑、⽯头、布”再输出。

java实现简单猜拳小游戏

java实现简单猜拳小游戏

java实现简单猜拳⼩游戏本⽂实例为⼤家分享了java实现猜拳⼩游戏的具体代码,供⼤家参考,具体内容如下User.javaimport java.util.Scanner;public class User {String name;int score;public int showFist(){System.out.println ("请出拳:1.剪⼑\t2.⽯头\t3.布");Scanner input=new Scanner ( System.in );int choice=input.nextInt ();if(choice==1){System.out.println ("您出了剪⼑");}else if(choice==2){System.out.println ("您出了⽯头");}else if (choice==3){System.out.println ("您出了布");}else {System.out.println ("输⼊有误!");}return choice;}}Computer.javapublic class Computer {String name;int score;public int showFist () {int choice = (int) (Math.random () * 3) + 1; //产⽣随机数if (choice == 1) {System.out.println (name +"出了剪⼑" );} else if (choice == 2) {System.out.println (name +"出了⽯头" );} else if (choice == 3) {System.out.println (name +"您出了布" );} else {System.out.println ( "输⼊有误!" );}return choice;}}Game.javaimport java.util.Scanner;public class Game {User user; //⽤户Computer computer; //计算机int count; //记录对战次数//初始化:设置⾃⼰的名字对⼿的名字,积分0public void init(){System.out.println ("请输⼊⾃⼰的名字");Scanner input = new Scanner ( System.in );String name = input.next ();user=new User (); //对象初始化=name;user.score=0;System.out.println ("请选择你的对⼿:\n1.张三\t2.李四\t3.王五");int choice = input.nextInt ();computer=new Computer (); //对象初始化computer.score=0;switch (choice){case 1:="张三";case 2:="李四";case 3:="王五";break;default:System.out.println ("输⼊有误!");}System.out.println ("你选择与TA对战:"+);}public void start() {init ();Scanner input=new Scanner ( System.in );String isContinue = null;do {int userFist = user.showFist (); //⼈出拳int chomputerFist = computer.showFist (); //计算机出拳calcResult ( userFist, chomputerFist );System.out.println ("是否继续?y(继续)/其他(结束)");isContinue=input.next ();}while ("y".equals ( isContinue ));showResult (user,computer); //显⽰最终结果}//计算每⼀轮的结果public void calcResult(int userFist,int computerFist){//"1.剪⼑\t2.⽯头\t3.布"if((userFist==1&&computerFist==3)||(userFist==2&&computerFist==1)||(userFist==3&&computerFist==2)){System.out.println ("您赢了");user.score++;}else if((userFist==3&&computerFist==1)||(userFist==1&&computerFist==2)||(userFist==2&&computerFist==3)){ System.out.println ("您输了");computer.score++;}else {System.out.println ("您平局");}}//计算最终结果public void showResult(User user,Computer computer){System.out.println ( +"\t" +user.score );System.out.println ( +"\t" +computer.score);if (user.score>computer.score){System.out.println ("恭喜,获得了最终的胜利");}else if (user.score<computer.score){System.out.println ("很遗憾你输了");}else {System.out.println ("最终平局...");}}public static void main ( String[] args ) {Game game = new Game ();game.start ();}}测试结果显⽰以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

java人机猜拳-石头剪刀布

java人机猜拳-石头剪刀布

java人机猜拳1.首先定义一个用户类:代码如下package mypackage;import java.util.*;public class Person {String name="";int score;public int showFist(){System.out.println("请出拳:1.剪刀2.石头3.布(输入相应数字)");Scanner input =new Scanner(System.in);int number=input.nextInt();switch(number){case 1:System.out.println("玩家出:剪刀");return number;case 2:System.out.println("玩家出:石头");return number;case 3:System.out.println("玩家出:布");return number;default:System.out.println("你出拳:剪刀");return number;}}}2.定义一个计算机类package mypackage;public class Computer {int max =3;int min =1;int number= (int)(Math.random()*(max-min))+min;int score;String name="电脑";public int showcomputer(){switch(number){case 1:System.out.println("电脑出:剪刀");return number;case 2:System.out.println("电脑出;石头");return number;case 3:System.out.println("电脑出:布");return number;default:System.out.println("电脑出:剪刀");return number;}}}3.创建一个游戏类package mypackage;import java.util.*;public class StartGame{public int Initial(){System.out.println("----------欢迎进入游戏世界----------");System.out.println("");System.out.println("\t****************");System.out.println("\t** 猜拳,开始**\t\t");System.out.println("\t****************");System.out.println("");System.out.println("出拳规则:1.剪刀2.石头3.布");System.out.println("请选择对方角色(1.刘备2.孙权3.曹操):");Scanner input =new Scanner(System.in);int number=input.nextInt();switch(number){case 1:System.out.print("刘备");return number;case 2:System.out.print("孙权");return number;case 3:System.out.print("曹操");return number;default:System.out.print("你选择了刘备作战");return number;}}public static void main(String[] args){//完善游戏类的startGame()方法,实现一局对战Computer computer =new Computer();Person player =new Person();StartGame come =new StartGame();Scanner input =new Scanner(System.in);come.Initial();System.out.println("");System.out.println("要开始么?y/n\n\n");String con =input.next();int count=0;while(con.equalsIgnoreCase("y")){int perFist=player.showFist();int compFist=computer.showcomputer();System.out.println("双方对战次数:" + count);if((perFist==1&&compFist==1)||(perFist==2&&compFist==2)||(perFist==3&&com pFist==3)){System.out.println("结果:平局,真衰!");count++;}elseif((perFist==1&&compFist==3)||(perFist==2&&compFist==1)||(perFist==3&&compFist ==2)){System.out.println("结果:恭喜,你赢了!");player.score++;}else{System.out.println("结果说,你输了,真笨!\n");count++;computer.score++;}System.out.println(+ "积分为:" + player.score+ "\t\t" + + "积分为:" + computer.score);System.out.println("是否继续?y/n");con =input.next();}while(con.equals("n")){if(player.score > computer.score) {System.out.println("最终结果:" + + "在" + count + "回合中战胜了" + );break;}else if(player.score < computer.score) {System.out.println("最终结果:" + + "在" + count + "回合中战胜了" + );break;}else {System.out.println("最终结果:" + + "在" + count + "回合中和" + + "战平");break;}}}}本代码归武汉市江岸区百步亭50号熊盼所有,未经武汉市江岸区百步亭50号熊盼允许,不得转载、复制。

java语言实现猜拳游戏的编写

java语言实现猜拳游戏的编写

package TG.Java_17;public class Computer {public int getFist(){int fist = (int)(Math.random()*10)%3+1;switch(fist){case 1:System.out.println("机器:石头");break;case 2:System.out.println("机器:剪刀");break;case 3:System.out.println("机器:布");break;}return fist;}}package TG.Java_17;import java.util.Scanner;public class Person {public int getFist(){Scanner input = new Scanner(System.in);System.out.println("请用户猜拳:1.石头 2.剪刀 3.布");int fist = input.nextInt();switch(fist){case 1:System.out.println("人类:石头");break;case 2:System.out.println("人类:剪刀");break;case 3:System.out.println("人类:布");break;default:System.out.println("对不起哈我们没有这个猜拳选项");}return fist;}}package TG.Java_17;import java.util.Scanner;public class TestFist {public static void main(String[] args) {Person per = new Person();Computer com = new Computer();String answer = null;Scanner input = new Scanner(System.in);int pCount = 0;int cCount = 0;do{int pFist = per.getFist();int cFist = com.getFist();//我们判读一下if((pFist==1&&cFist==2)||(pFist==2&& cFist==3) ||(pFist==3&& cFist==1)){pCount++;}else if((pFist==2&&cFist==1)||(pFist==3&&cFist==2)||(pFist==1&&cFist==3)){cCount++;}else {}System.out.println("小样的?你服不服啊?(y/n)");answer = input.next();}while(!"y".equals(answer));if(pCount>cCount){System.out.println("恭喜,人类赢了!");}else if(pCount<cCount){System.out.println("大哥,太悲哀了~电脑赢了!");}else {System.out.println("你俩都很厉害!平局!");}System.out.println("比分是:"+pCount+"VS"+cCount);}}。

python实现一个猜拳游戏

python实现一个猜拳游戏

python实现⼀个猜拳游戏本⽂实例为⼤家分享了python实现⼀个猜拳游戏的具体代码,供⼤家参考,具体内容如下设计⼀个猜拳的游戏,要求如下:1、游戏开始时,输⼊玩家名字2、可以选择3个电脑对⼿(电脑名字⾃定)3、游戏规则为:1、剪⼑ 2、⽯头 3、布4、游戏开始,玩家vs电脑,玩家选择出⼀个,电脑随机1-35、具有局数统计(如:现在是第⼏局)、输赢统计(玩家胜⼏局,电脑胜⼏局)效果图如下:代码如下:import random #先导⼊随机数class game(): #创建⼀个游戏的类⾥⾯分为两个属性⼀个玩家名⼀个电脑名def __init__(self,playername,computername):self.playername=playernameputername=computernameself.playerscore=0 #玩家得分score=0 #电脑得分self.sum=0 #平局数def startgame(self):newname=input("请输⼊你的⿍⿍⼤名:")self.playername=newnamednname=input("请选择你的对⼿:1.王源,2.王俊凯,3.易烊千玺:")if dnname=="1":print("你的对⼿为王源")putername="王源"elif dnname=="2":print("你的对⼿为王俊凯")putername = "王俊凯"elif dnname=="3":print("你的对⼿为易烊千玺")putername = "易烊千玺"else:print("输⼊有误,系统以为你随机挑选王俊凯")putername = "王俊凯"print("--------猜拳游戏开始,%s VS %s--------" % (self.playername, putername))print("游戏规则为:1.剪⼑,2.⽯头,3.布")while True:player=int(input("玩家请出拳:"))#玩家出拳player = random.randint(1, 3)if player == 1:print(" %s出了剪⼑" % self.playername)elif player == 2:print(" %s出了⽯头" % self.playername)else:print(" %s出了布" % self.playername)#电脑出拳computer=random.randint(1,3)if computer==1:print(" %s出了剪⼑"%putername)elif computer==2:print(" %s出了⽯头"%putername)else:print(" %s出了布"%putername)if(player==computer):print("平局")self.sum+=1elif(player==1 and computer==3) or(player==2 and computer==1) or(player==3 and computer==2): print("%s本局获胜"%self.playername)self.playerscore+=1else:print("%s本局获胜"%putername)score+=1print("输赢统计:%s VS %s" % (self.playername, putername),"玩家%s胜利%d次" % (self.playername, self.playerscore),"%s胜利%d次" % (putername, score),"%d次平局" % self.sum)print("---------------------------------------------------")tag = input("是否继续y/n :")if tag.lower() == 'n':print("输赢统计:%s VS %s" % (self.playername, putername),"玩家%s胜利%d次" % (self.playername, self.playerscore),"%s胜利%d次" % (putername, score),"%d次平局" % self.sum)breaklx=game("as","hfg") #传⼊的参数数量必须和定义参数的数量相等lx.startgame() #调⽤游戏开始的⽅法更多有趣的经典⼩游戏实现专题,分享给⼤家:以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

python实现人和电脑猜拳的示例代码

python实现人和电脑猜拳的示例代码

python实现⼈和电脑猜拳的⽰例代码完成⼈机猜拳互动游戏的开发,⽤户通过控制台输⼊实现出拳,电脑通过程序中的随机数实现出拳,每⼀局结束后都要输出结果。

当⽤户输⼊n时停⽌游戏,并输出总结果。

import randomall = ['⽯头','剪⼑','布']computer = random.choice(['⽯头','剪⼑','布'])#所有赢了的情况win = [['⽯头','剪⼑'],['布','⽯头'],['剪⼑','布']]class Text():def func_play(self):ind = input('请输⼊【0】⽯头【1】剪⼑【2】布')if ind.isalpha():try:raise ValueError('请输⼊数字')except ValueError as v:print(v)elif ind.isdigit():ind = int(ind)if 0<=ind<=2:play = all[ind]print('你输⼊的是%s,电脑输⼊的是%s'%(play,computer))if play == computer:self.a = '平局'elif [play, computer] in win:self.a = '你赢了'else:self.a = '你输了'else:print('请输⼊0到2之间的数')print(self.a)def write_file(self):with open('wuhan.txt','a',encoding='utf-8') as f:f.write(self.a+'\n')while True:t = Text()t.func_play()t.write_file()到此这篇关于python 实现⼈和电脑猜拳的⽰例代码的⽂章就介绍到这了,更多相关python ⼈和电脑猜拳内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。

猜拳(石头剪子布)前端HTML源代码,三种不同的实现方式

猜拳(石头剪子布)前端HTML源代码,三种不同的实现方式

<html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /><title>猜拳(石头剪子布) </title><script type="text/javascript">var userselect = 3;function userchk(val) {userselect = valvar userselectval = "请出招";switch (userselect) {case 0: userselectval = "你将要出招“布”"; break;case 1: userselectval = "你将要出招“石头”"; break;case 2: userselectval = "你将要出招“剪刀”"; break;}document.getElementById("userselectval").innerText= userselectval;document.getElementById("computerselectval").innerT ext = "";document.getElementById("movesval").innerText = "";}function Moves() {if (userselect < 0 || userselect > 2) {alert("请选择要出的招")return;}var movesval = "";var computerselect = parseInt((Math.random() * 1000) % 3);if (compare(computerselect, userselect) == 1) {movesval = "猜拳结果:你赢了";}if (compare(computerselect, userselect) == 0) {movesval = "猜拳结果:平局";}if (compare(computerselect, userselect) == -1) {movesval = "猜拳结果:你输了";}var computerselectval = "计算机出招";switch (computerselect) {case 0: computerselectval = "计算机出招“布”"; break;case 1: computerselectval = "计算机出招“石头”"; b reak;case 2: computerselectval = "计算机出招“剪刀”"; break;}document.getElementById("computerselectval").innerT ext = computerselectval;document.getElementById("movesval").innerText = movesval;alert(movesval);}//比较猜拳结果function compare(cpu, you) {var win = 0;switch (you - cpu) {case 2: { win = 1; break; }case 1: { win = -1; break; }case 0: { win = 0; break; }case -1: { win = 1; break; }case -2: { win = -1; break; }}return win;}function MovesRadio(){var computerselect = parseInt((Math.random() * 1000) % 3);var userselect = 3;for(var i=0;i<=2;i++){if(document.f1.r1[i].checked==true){userselect = i;}}if (compare(computerselect, userselect) == 1) {movesval = "猜拳结果:你赢了";}if (compare(computerselect, userselect) == 0) {movesval = "猜拳结果:平局";}if (compare(computerselect, userselect) == -1) {movesval = "猜拳结果:你输了";}var computerselectval = "计算机出招";switch (computerselect) {case 0: computerselectval = "计算机出招“布”"; break;case 1: computerselectval = "计算机出招“石头”"; break;case 2: computerselectval = "计算机出招“剪刀”"; break;}document.getElementById("radiocomputerselectval").i nnerText = computerselectval;document.getElementById("radiomovesval").innerText = movesval;alert(movesval);}var seluserselect = 1;function MovesSelect() {var computerselect = parseInt((Math.random() * 1000) % 3);var objsel = document.getElementById("select");var objselval =objsel.options[objsel.selectedIndex].value;seluserselect = parseInt(objselval);if (compare(computerselect, seluserselect) == 1) {movesval = "猜拳结果:你赢了";}if (compare(computerselect, seluserselect) == 0) {movesval = "猜拳结果:平局";}if (compare(computerselect, seluserselect) == -1) {movesval = "猜拳结果:你输了";}var computerselectval = "计算机出招";switch (computerselect) {case 0: computerselectval = "计算机出招“布”"; break;case 1: computerselectval = "计算机出招“石头”"; break;case 2: computerselectval = "计算机出招“剪刀”"; break;}document.getElementById("selcomputerselectval").inn erText = computerselectval;document.getElementById("selmovesval").innerText = movesval;alert(movesval);}</script></head><body><h3 align="center">猜拳(石头剪子布)点击按钮</h3><div align="center"><div align="center">请选择要出的招</div><input type="button" value="石头" onclick="userchk(1)" /><input type="button" value="剪子" onclick="userchk(2)" /><input type="button" value="布" onclick="userchk(0)" /><div id="userselectval">请出招</div><input type="button" name="button" id="button" value="出拳" onclick="Moves()" /><div id="computerselectval"></div><div id="movesval">结果</div></div><h3 align="center">猜拳(石头剪子布)单选按钮组</h3><form name="f1" id="f1" align="center"><input type="radio" name="r1" id="s1" value="1"checked="checked" />布<input type="radio" name="r1" id="s2" value="2" />石头<input type="radio" name="r1" id="s3" value="3" />剪子<div>请出招</div><input type="button" name="button" id="button" value="出拳" onclick="MovesRadio()" /><div id="radiocomputerselectval"></div><div id="radiomovesval">结果</div></form><h3 align="center">猜拳(石头剪子布)下拉列表</h3><div align="center"><div align="center">请选择要出的招</div><select id="select"><option value="1">石头</option><option value="2">剪子</option><option value="0">布</option></select><div>请出招</div><input type="button" name="button" id="button" value="出拳" onclick="MovesSelect()" /><div id="selcomputerselectval"></div><div id="selmovesval">结果</div></div></body></html>。

三局两胜制猜拳游戏代码

三局两胜制猜拳游戏代码

package 猜拳游戏;import java.util.*;public class game2 {public static void main(String[] args){Scanner in=new Scanner(System.in);Random on=new Random();String Marks="拳头";String Marks2="拳头";int i=0;int j=0;int z=0;do{System.out.println("请出拳:(1.布2.剪刀3.石头)");int number=in.nextInt();int ran=on.nextInt(3);int rans=ran+1;if(number==rans){z=z+1;}else{if(number-rans==1||number-rans==-2){i=i+1;z=z+1;}else{j=j+1;z=z+1;}}switch(number){case 1:Marks="布";break;case 2:Marks="剪刀";break;case 3:Marks="石头";break;}switch(rans){case 1:Marks2="布";break;case 2:Marks2="剪刀";break;case 3:Marks2="石头";break;}if(number==rans){System.out.print("你出的是"+Marks+" 电脑出的是"+Marks2+" 平局"+"\n");}else{if(number-rans==1||number-rans==-2){System.out.print("你出的是"+Marks+" 电脑出的是"+Marks2+" 你赢了"+"\n");}else{System.out.print("你出的是"+Marks+" 电脑出的是"+Marks2+" 你输了"+"\n");}}}while(i!=2&&j!=2);System.out.print("总共玩了"+z+"局"+"赢了"+i+"局"+"输了"+j+"局"+"平了"+(z-i-j)+"局");}}。

python实现猜拳游戏

python实现猜拳游戏

python实现猜拳游戏对于⼀个初级学习python的⼈,这将是⼀个⾮常简单⽽有趣的内容;代码⾮常简单,主要是:随机函数–需要导⼊random模块与条件语句的⼀个简单实⽤;下⾯,简单介绍⼀下python中的随机函数:random.random()⽤于⽣成⼀个0到1的随机符⼩数: 0 <= n < 1.0random.random() # Random float x,andom.uniform的函数原型为:random.uniform(a, b),⽤于⽣成⼀个指定范围内的随机符点数,两个参数其中⼀个是上限,⼀个是下限。

如果a > b,则⽣成的随机数n: a <= n <= b。

如果 a <b,则 b <= n <= a。

random.uniform(1, 10) # Random float x,andom.randint()的函数原型为:random.randint(a, b),⽤于⽣成⼀个指定范围内的整数。

其中参数a是下限,参数b是上限,⽣成的随机数n: a <= n <= brandom.randint(10, 100)当然,还有其他的⽤法,需要⼩伙伴们⾃⾝去探索了!⾄于条件语句,与其他语⾔更多的是⽤法的区别;猜拳游戏的代码:#!/usr/bin/env python3# -*- coding:utf-8 -*-u'''Created on 2019年3⽉7⽇@author: wuluo'''__author__ = 'wuluo'__version__ = '1.0.0'__company__ = u'重庆交⼤'__updated__ = '2019-03-07'import randomclass caiquan():print('欢迎来到猜拳游戏')print('进⼊游戏--8')print('退出游戏--9')b = input("请输⼊:")print("你的选择是: ", b)print("\n")while b == '8':print('请进⾏猜拳:')print('⽯头--0')print('布--1')print('剪⼑--2')print('退出游戏--9')# 如果输⼊的数不是0,1,2;可以设置为重新输⼊,或者设置为失败a = random.randint(0, 2)b = int(input("你选择的是:")) # 整型,print("电脑选择的是:", a)if (a == 0 and b == 1) or(a == 1 and b == 2)or(a == 2and b == 0):print("你赢了!\n")elif a == b:print("平局!\n")else:print("你输了!\n")print('继续游戏--8')print('退出游戏--9')b = input("请重新选择:")print("你的选择是: ", b + "\n")if __name__ == "__main__":caiquan()print('游戏结束!')pass游戏可以继续优化!这个主要是了解python中随机函数的⽤法,以及if的多条件语句的⼀个简单⽤法!运⾏结果:进⾏猜拳中;玩家的选择如果不是:0;1;2 。

基于c++的猜拳游戏之欧阳德创编

基于c++的猜拳游戏之欧阳德创编

#include<iostream>#include <stdlib.h>#include <time.h>using namespace std;void show(int input){switch(input){case 1:cout<<("出的是石头!");break;case 2:cout<<("出的是剪刀!");break;case 3:cout<<("出的是布!");break;default:;}}void compare(int inputPlay,int inputComputer) {if(inputPlay==1&&inputComputer==2||inpu tPlay==2&&inputComputer==3||inputPlay==3& &inputComputer==1){cout<<("\n玩家胜!\n");}else if(inputPlay==inputComputer){cout<<("\n平局!\n");}else{cout<<("\n电脑胜!\n");}}int main(){cout<<"欢迎您玩石头-剪子-布游戏(游戏作者:张龙)版本 1.0\n"<<endl;cout<<"请合理安排时间,切勿沉迷于游戏!\n"<<endl;cout<<"游戏说明:数字1代表石头数字2代表剪子数字3代表布\n"<<endl;char isGoOn;int inputPlay;int inputComputer;cout<<("猜拳游戏\n");cout<<("游戏说明:\n\n");cout<<("数字1代表石头数字2代表剪子数字3代表布\n");srand(time(NULL));do{cout<<("\n请输入您要猜的:\n");cin>>inputPlay;if(inputPlay>=0&&inputPlay<=3){cout<<("您");show(inputPlay);inputComputer=rand()%3;cout<<("电脑");show(inputComputer);compare(inputPlay,inputComputer);}else{cout<<("您输入有错误!\n");cout<<("\n数字1代表石头数字2代表剪子数字3代表布\n");}cout<<"\n您需要继续么? (y/n)";cin>>isGoOn;}while(isGoOn=='y'||isGoOn=='Y');cout<<"欢迎下次再玩!";system("pause");}#include<iostream>#include<ctime>using namespace std;int win_or_loss(int);//判断输赢的子函数void baoshi(time_t&);//给出当前系统时间的子函数 void keep_window_open();//让程序运行完毕后,窗口不立马消失int main(){time_t the_time_1,the_time_2;char q;int win(0),loss(0),ping(0);double gailv(0),sum(0);cout<<"欢迎您玩石头-剪子-布游戏(游戏作者:张龙)版本 1.1\n"<<endl;cout<<"请合理安排时间,切勿沉迷于游戏!\n"<<endl;baoshi(the_time_1);cout<<"游戏说明:数字1代表石头数字2代表剪子数字3代表布\n"<<endl;do{cout<<"\n请问您一共想要玩几次猜拳游戏,请输入大于0的正整数(建议您至少玩十次):"<<endl; double times;//输入的次数必须为大于0的正整数,不可为0,负数,浮点数,字符或者是字符串,如果出现非法输入,下面代码是用来处理这些非法输入while(!(cin>>times)){cout<<"您的输入不合法,必须为一个数字,请重新输入:"<<endl;cin.clear();cin.sync();}if(times<=0){cout<<"您的输入不合法,必须为正整数!\n"<<endl;cin.clear();cin.sync();q='y';continue;}else if(times!=int(times)){cout<<"您的输入不合法,必须为正整数!\n"<<endl;cin.clear();cin.sync();q='y';continue;}//游戏正式开始for(int i=0;i<times;++i){cout<<"\n请输入您打算猜的拳(用数字123代替,数字1代表石头数字2代表剪子数字3代表布)"<<endl;while(1){double t;cin>>t;if(cin.bad()){cerr<<"Sorry,出现了系统故障,请重新运行游戏!\n"<<endl;return 1;}//用来处理非法输入if(cin.fail()){cerr<<"Sorry!,请您必须输入一个合法的数字(1 or 2 or 3)"<<endl;cout<<"请输入您打算猜的拳(用数字123代替)"<<endl;cin.clear();cin.sync();continue;}else if(t!=1&&t!=2&&t!=3){cerr<<"Sorry!,请您必须输入一个合法的数字(1 or 2 or 3)\n"<<endl;cout<<"请输入您打算猜的拳(用数字123代替)\n"<<endl;cin.clear();cin.sync();continue;}else{cout<<"第"<<i+1<<"次猜拳游戏 "; if(t==1)cout<<"您猜的拳是:石头"<<endl; else if(t==2)cout<<"您猜的拳是:剪刀"<<endl; elsecout<<"您猜的拳是:布"<<endl; int n=win_or_loss(t);if(n==0)++ping;else if(n>0)++win;//统计赢的次数else++loss;//统计输的次数break;}}if(i==times-1)cout<<"您的猜拳次数已经达到您所设定的"<<times<<"次\n"<<endl;}cout<<"请问是否还要继续本游戏(Y/other)"<<endl;cin>>q;//在玩够开始自己所设的次数后,如果仍然打算继续,则输入'y'}while(q=='Y'||q=='y');//对整个游戏过程做一个完整统计sum=win+loss+ping;gailv=win/sum;cout<<"\n本次游戏您一共猜拳:"<<sum<<"次"<<endl;cout<<"其中一共胜利:"<<win<<"次"<<endl;cout<<"其中一共输了:"<<loss<<"次"<<endl;cout<<"其中一共打平:"<<ping<<"次"<<endl;cout<<"您的胜率为:"<<gailv*100<<"%"<<endl;cout<<"您的败率为:"<<loss/sum*100<<"%"<<endl; cout<<"您的打平的概率为:"<<(1-loss/sum-gailv)*100<<"%"<<endl;if(sum<10)cout<<"由于您猜拳的次数小于10次,不具有统计学意义,所以您与电脑到底谁厉害,无法评判,请大侠重新来过!\n"<<endl;else if(gailv<0.4)cout<<"您真是个菜鸟,继续努力哦!\n"<<endl;elsecout<<"大侠好厉害啊,竟然赢了电脑,佩服佩服!\n"<<endl;baoshi(the_time_2);cout<<"本次游戏您一共花费了:"<<the_time_2-the_time_1<<"秒\n"<<endl;keep_window_open();return 0;}//游戏核心代码,判断输赢int win_or_loss(int t){time_t the_time;struct tm *tm_ptr;int rec_sec;//电脑的猜拳最好的办法是设定一组完全的随机数,但是一般很难设计出完全的随机数,因此想了一个很巧妙的方法,取玩游戏时的系统时间的秒,根据当前的秒,电脑给出相应猜出的拳//这样用一种相对比较随机的方法,即便玩游戏的人知道了随机数的规律,也很难完全获胜the_time=time((time_t *)0);tm_ptr=gmtime(&the_time);rec_sec=tm_ptr->tm_sec;int ans;//switch中主要分了三种情况,第一种是60以内的素数,然后又添加了几个其他的,凑够20;第二种是能被3除开的,然后再添加几个凑成20个;剩下的为第三种switch(rec_sec){case 2:case 8:case 5:case 7:case 11:case 13:case 17:case 19:case 23:case 29:case 31:case 37:case 41:case 43:case 47:case 53:case 59:case 22:case 38:case 56:cout<<"电脑游戏程序的猜的拳是:石头"<<endl; ans=1;break;case 0:case 3:case 6:case 9:case 12:case 15:case 18:case 21:case 24:case 27:case 30:case 33:case 36:case 39:case 42:case 45:case 48:case 51:case 54:case 57:cout<<"电脑游戏程序的猜的拳是:剪子"<<endl; ans=2;break;default:cout<<"电脑游戏程序的猜的拳是:布"<<endl;ans=3;break;}if(t==ans){cout<<"您这次和电脑打了一个平手!"<<endl; return 0;}switch(t){case 1:if(ans==2){cout<<"恭喜您!您这次赢了电脑!\n"<<endl; return 1;}else{cout<<"哈哈!输给电脑了!再接再厉!"<<endl;return -1;}break;case 2:if(ans==3){cout<<"恭喜您!您这次赢了电脑\n"<<endl; return 1;}else{cout<<"哈哈!输给电脑了!再接再厉!"<<endl;return -1;}break;case 3:if(ans==1){cout<<"恭喜您!您这次赢了电脑\n"<<endl; return 1;}else{cout<<"哈哈!输给电脑了!再接再厉!"<<endl;return -1;}break;}}inline void keep_window_open(){cin.clear();cout << "Please enter a character to exit\n"; char ch;cin >> ch;return;}inline void baoshi(time_t &timeval){(void)time(&timeval);cout<<"当前北京时间为:"<<ctime(&timeval)<<"\n"<<endl;return;}。

JS实现猜拳游戏

JS实现猜拳游戏

JS实现猜拳游戏本⽂实例为⼤家分享了JS实现猜拳游戏的具体代码,供⼤家参考,具体内容如下⼀、简单版猜拳游戏编写⼀个⽤户和计算机猜拳的游戏,⽤户输⼊剪⼑、⽯头或布,与计算机的出拳进⾏⽐较,判断胜负。

分析:1、⾸先得⽤prompt()⽅法建⽴⼀个⽤户输⼊框;2、核⼼是⽤到Math.random()这个函数,该函数的作⽤是取[0,1)之间的随机数,可以利⽤这个函数让计算机随机出拳;3、⽤if-else语句判断会出现的各种结果并作出判定;具体代码如下:/*** a是⽤户输⼊的内容* b是计算机的随机内容*/var a = prompt('请输⼊1:剪⼑ 2:⽯头 3:布');var b = Math.random();if (b < 0.3) {if (a == 1) {alert('电脑出的剪⼑,你出的剪⼑,平⼿');} else if (a == 2) {alert('电脑出的剪⼑,你出的⽯头,你输了');} else {alert('电脑出的剪⼑,你出的布,你赢了');}} else if (b < 0.6) {if (a == 1) {alert('电脑出的⽯头,你出的剪⼑,你输了');} else if (a == 2) {alert('电脑出的⽯头,你出的⽯头,平⼿');} else {alert('电脑出的⽯头,你出的布,你赢了');}} else {if (a == 1) {alert('电脑出的布,你出的剪⼑,你赢了');} else if (a == 2) {alert('电脑出的布,你出的⽯头,你输了');} else {alert('电脑出的布,你出的布,平⼿');}}⼆、进阶版猜拳游戏记录系统和玩家的分数,获胜者加1分,平局和输者不计分分析:1、在原来代码的基础上需要再增加两个变量,⼀个⽤来存储⽤户的总得分,另⼀个⽤来存储计算机的总得分;2、需要⽤到for循环来限定对局次数;3、得⽤alert()语句输出结果得分情况;具体代码如下:var sum=0;//⼈的分数var snm=0;//电脑分数for(var i=0;i<3;i++){var a=prompt('请输⼊1、剪⼑2、⽯头3、布');var b=Math.random();if (b < 0.3) {if (a == 1) {alert('电脑出的剪⼑,你出的剪⼑,平⼿');} else if (a == 2) {snm++;alert('电脑出的剪⼑,你出的⽯头,你输了');} else {sum++;alert('电脑出的剪⼑,你出的布,你赢了');}} else if (b < 0.6) {if (a == 1) {snm++;alert('电脑出的⽯头,你出的剪⼑,你输了');} else if (a == 2) {alert('电脑出的⽯头,你出的⽯头,平⼿');} else {sum++;alert('电脑出的⽯头,你出的布,你赢了');}} else {if (a == 1) {sum++;alert('电脑出的布,你出的剪⼑,你赢了');} else if (a == 2) {snm++;alert('电脑出的布,你出的⽯头,你输了');} else {alert('电脑出的布,你出的布,平⼿');}}}alert('电脑'+snm +'你的分数'+sum);以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

基于c++的猜拳游戏

基于c++的猜拳游戏

#include<iostream>之阿布丰王创作#include <stdlib.h>#include <time.h>using namespace std;void show(int input){switch(input){case 1:cout<<("出的是石头!");break;case 2:cout<<("出的是剪刀!");break;case 3:cout<<("出的是布!");break;default:;}}void compare(int inputPlay,int inputComputer){if(inputPlay==1&&inputComputer==2||inputPlay==2&&inp utComputer==3||inputPlay==3&&inputComputer==1){cout<<("\n玩家胜!\n");}else if(inputPlay==inputComputer){cout<<("\n平局!\n");}else{cout<<("\n电脑胜!\n");}}int main(){cout<<"欢迎您玩石头-剪子-布游戏(游戏作者:张龙)版本 1.0\n"<<endl;cout<<"请合理安插时间,切勿沉浸于游戏!\n"<<endl;cout<<"游戏说明:数字1代表石头数字2代表剪子数字3代表布\n"<<endl;char isGoOn;int inputPlay;int inputComputer;cout<<("豁拳游戏\n");cout<<("游戏说明:\n\n");cout<<("数字1代表石头数字2代表剪子数字3代表布\n");srand(time(NULL));do{cout<<("\n请输入您要猜的:\n");cin>>inputPlay;if(inputPlay>=0&&inputPlay<=3){cout<<("您");show(inputPlay);inputComputer=rand()%3;cout<<("电脑");show(inputComputer);compare(inputPlay,inputComputer);}else{cout<<("您输入有毛病!\n");cout<<("\n数字1代表石头数字2代表剪子数字3代表布\n");}cout<<"\n您需要继续么? (y/n)";cin>>isGoOn;}while(isGoOn=='y'||isGoOn=='Y');cout<<"欢迎下次再玩!";system("pause");}#include<iostream>#include<ctime>using namespace std;int win_or_loss(int);//判断输赢的子函数void baoshi(time_t&);//给出以后系统时间的子函数void keep_window_open();//让法式运行完毕后,窗口不立马消失int main(){time_t the_time_1,the_time_2;char q;int win(0),loss(0),ping(0);double gailv(0),sum(0);cout<<"欢迎您玩石头-剪子-布游戏(游戏作者:张龙)版本 1.1\n"<<endl;cout<<"请合理安插时间,切勿沉浸于游戏!\n"<<endl;baoshi(the_time_1);cout<<"游戏说明:数字1代表石头数字2代表剪子数字3代表布\n"<<endl;do{cout<<"\n请问您一共想要玩几次豁拳游戏,请输入年夜于0的正整数(建议您至少玩十次):"<<endl;double times;//输入的次数必需为年夜于0的正整数,不成为0,负数,浮点数,字符或者是字符串,如果呈现非法输入,下面代码是用来处置这些非法输入while(!(cin>>times)){cout<<"您的输入分歧法,必需为一个数字,请重新输入:"<<endl;cin.clear();cin.sync();}if(times<=0){cout<<"您的输入分歧法,必需为正整数!\n"<<endl;cin.clear();cin.sync();q='y';continue;}else if(times!=int(times)){cout<<"您的输入分歧法,必需为正整数!\n"<<endl;cin.clear();cin.sync();q='y';continue;}//游戏正式开始for(int i=0;i<times;++i){cout<<"\n请输入您筹算猜的拳(用数字123取代,数字1代表石头数字2代表剪子数字3代表布)"<<endl;while(1){double t;cin>>t;if(cin.bad()){cerr<<"Sorry,呈现了系统故障,请重新运行游戏!\n"<<endl;return 1;}//用来处置非法输入if(cin.fail()){cerr<<"Sorry!,请您必需输入一个合法的数字(1 or 2 or 3)"<<endl;cout<<"请输入您筹算猜的拳(用数字123取代)"<<endl;cin.clear();cin.sync();continue;}else if(t!=1&&t!=2&&t!=3){cerr<<"Sorry!,请您必需输入一个合法的数字(1 or 2 or 3)\n"<<endl;cout<<"请输入您筹算猜的拳(用数字123取代)\n"<<endl;cin.clear();cin.sync();continue;}else{cout<<"第"<<i+1<<"次豁拳游戏 ";if(t==1)cout<<"您猜的拳是:石头"<<endl; else if(t==2)cout<<"您猜的拳是:剪刀"<<endl; elsecout<<"您猜的拳是:布"<<endl;int n=win_or_loss(t);if(n==0)++ping;else if(n>0)++win;//统计赢的次数else++loss;//统计输的次数break;}}if(i==times-1)cout<<"您的豁拳次数已经到达您所设定的"<<times<<"次\n"<<endl;}cout<<"请问是否还要继续本游戏(Y/other)"<<endl;cin>>q;//在玩够开始自己所设的次数后,如果仍然筹算继续,则输入'y'}while(q=='Y'||q=='y');//对整个游戏过程做一个完整统计sum=win+loss+ping;gailv=win/sum;cout<<"\n本次游戏您一共豁拳:"<<sum<<"次"<<endl;cout<<"其中一共胜利:"<<win<<"次"<<endl;cout<<"其中一共输了:"<<loss<<"次"<<endl;cout<<"其中一共打平:"<<ping<<"次"<<endl;cout<<"您的胜率为:"<<gailv*100<<"%"<<endl;cout<<"您的败率为:"<<loss/sum*100<<"%"<<endl;cout<<"您的打平的概率为:"<<(1-loss/sum-gailv)*100<<"%"<<endl;if(sum<10)cout<<"由于您豁拳的次数小于10次,不具有统计学意义,所以您与电脑究竟谁厉害,无法评判,请年夜侠重新来过!\n"<<endl;else if(gailv<0.4)cout<<"您真是个菜鸟,继续努力哦!\n"<<endl;elsecout<<"年夜侠好厉害啊,竟然赢了电脑,佩服佩服!\n"<<endl;baoshi(the_time_2);cout<<"本次游戏您一共花费了:"<<the_time_2-the_time_1<<"秒\n"<<endl;keep_window_open();return 0;}//游戏核心代码,判断输赢int win_or_loss(int t){time_t the_time;struct tm *tm_ptr;int rec_sec;//电脑的豁拳最好的法子是设定一组完全的随机数,可是一般很难设计出完全的随机数,因此想了一个很巧妙的方法,取玩游戏时的系统时间的秒,根据以后的秒,电脑给出相应猜出的拳//这样用一种相比较力随机的方法,即便玩游戏的人知道了随机数的规律,也很难完全获胜the_time=time((time_t *)0);tm_ptr=gmtime(&the_time);rec_sec=tm_ptr->tm_sec;int ans;//switch中主要分了三种情况,第一种是60以内的素数,然后又添加了几个其他的,凑够20;第二种是能被3除开的,然后再添加几个凑成20个;剩下的为第三种switch(rec_sec){case 2:case 8:case 5:case 7:case 11:case 13:case 17:case 19:case 23:case 29:case 31:case 37:case 41:case 43:case 47:case 53:case 59:case 22:case 38:case 56:cout<<"电脑游戏法式的猜的拳是:石头"<<endl;ans=1;break;case 0:case 3:case 6:case 9:case 12:case 15:case 18:case 21:case 24:case 27:case 30:case 33:case 36:case 39:case 42:case 45:case 48:case 51:case 54:case 57:cout<<"电脑游戏法式的猜的拳是:剪子"<<endl;ans=2;break;default:cout<<"电脑游戏法式的猜的拳是:布"<<endl; ans=3;break;}if(t==ans){cout<<"您这次和电脑打了一个平手!"<<endl; return 0;}switch(t){case 1:if(ans==2){cout<<"恭喜您!您这次赢了电脑!\n"<<endl; return 1;}else{cout<<"哈哈!输给电脑了!再接再厉!"<<endl; return -1;}break;case 2:if(ans==3){cout<<"恭喜您!您这次赢了电脑\n"<<endl;return 1;}else{cout<<"哈哈!输给电脑了!再接再厉!"<<endl; return -1;}break;case 3:if(ans==1){cout<<"恭喜您!您这次赢了电脑\n"<<endl;return 1;}else{cout<<"哈哈!输给电脑了!再接再厉!"<<endl; return -1;}break;}}inline void keep_window_open(){cin.clear();cout << "Please enter a character to exit\n";char ch;cin >> ch;return;}inline void baoshi(time_t &timeval){(void)time(&timeval);cout<<"以后北京时间为:"<<ctime(&timeval)<<"\n"<<endl; return;}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}else if(user==2&&r==1)
{
printf("您出的是石头,电脑出的也是剪刀,您赢了!\n");
x++;
}else if(user==2&&r==2)
{
printf("您出的是石头,电脑出的也是石头,这局平局!\n");
z++;
}else if(user==2&&r==3)
printf("********************猜拳游戏**********************\n");
printf("游戏规则:\n");
printf("1、剪刀 2、石头 3、布\n");
for(int i=1;i<5;i++)//循环进行5局
{
int r = rand()%3+1;//随机数%3得到的是0,1,2三个数,再加一就得到1,2,3三个数(这条语句必须放到循环里面)
printf("电脑:赢%d局,输%d局,平手%d局\n",y,x,z);
if(x>y)
{
printf("运气这么旺?拜神的吧!!!\n");
}else if(x==y)
{
printf("电脑出错,平局收场!!!\n");
}
else
{
printf("电脑正常运行,你赢得几率相当低!!!\n");
z++;
}else if(user==1&&r==2)
{
printf("您出的是剪刀,电脑出的是石头,你输了!\n");
y++;
}else if(user==1&&r==3)
{
printf("您出的是剪刀,电脑出的也是布,您赢了!\n");
x++;
printf("请出拳(1、剪刀 2、石头 3、布):\n");
scanf("%d",&user);
if(user<0||user>3)
{
printf("您的输入错误,请重新输入!\n");
}
if(user==1&&r==1)
{
printf("您出的是剪刀,电脑出的也是剪刀,这局平局!\n");
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
srand(time(NULL));
char a;
int user,x=0,y=0,z=0;//x您赢得次数;y电脑赢得次数;z平局的次数
x++;
}else if(user==3&&r==3)
{
printf("您出的是布,电脑出的也是布,这局平局!\n");
z++;
பைடு நூலகம் }
}printf("对战局数:%d\n",i);
printf("战绩明细:\n");
printf("玩家:赢%d局,输%d局,平手%d局\n",x,y,z);
{
printf("您出的是石头,电脑出的是布,你输了!\n");
y++;
}else if(user==3&&r==1)
{
printf("您出的是布,电脑出的是剪刀,你输了!\n");
y++;
}else if(user==3&&r==2)
{
printf("您出的是布,电脑出的也是石头,你赢了!\n");
}
}
相关文档
最新文档