猜拳的编程
Ⅰ java编程 用循环方式实现和计算机玩猜拳的程序 (设定胜出条件--输3次或赢3次即退出)
大哥,刚刚看到你的就开始写了。各种功能都有,包括判断你输入的字符是否正确,假如不符合的字符就提示。不玩了就可以直接按0退出。
然后,只要是赢三次,输三次都自动退出,并输出你输赢,还可以自动共玩多少局,输赢局数统计!希望能帮到您。
/*
猜拳游戏思路
1、定义输入函数
2、提示用户输入猜拳数值
3、定义随机一个数作为电脑数值
4、判断[用户输入数值]与[电脑随机数值]
5、能够相等就是打平,不能相等就利用&&、||逻辑符判断输赢
6、设定数值1-石头2-剪刀3-布
*/
importjava.util.*;//嵌入Java.util包所有
publicclassCq{
publicstaticvoidmain(String[]args){
intwin=0;//赢的记录
intlose=0;//输的记录
intall=1;//计数总的局数
inta=1;//控制循环条件使用
System.out.println("--------------猜拳游戏---------------");
System.out.println("游戏规则:赢三次便赢,输三次便输。");
while(a>0){//假如a=0的话就不用继续玩
Scannerin=newScanner(System.in);//定义输入函数in,Scanner包功能,输入数值用的
System.out.println("请输入一个数值:1、石头2、剪刀3、布0、退出游戏");//提示输入数值
System.out.println("");//空行
intx=in.nextInt();//让用户输入X的数值
Randomon=newRandom();//定义电脑的随机数值的函数on
inty=on.nextInt(3)+1;//定义y随机函数数值范围(1--3)
if(x>=4){//判断用户是否输入非1--3范围
System.out.println("亲,请正确输入:1、石头2、剪刀3、布。你输入了:"+x);
}elseif(x==0){
a=0;
System.out.println("欢迎再次玩“猜拳游戏”!");
return;
}
else{
/*下面是判断用户输入x的数值嵌套if*/
if(x==y){
if(x==1){//判断打平的情况
System.out.println("你:石头------电脑:石头PK:平手"+"共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}
elseif(x==2){
System.out.println("你:剪刀------电脑:剪刀PK:平手"+"共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}else{
System.out.println("你:布------电脑:布PK:平手"+"共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}
/*打平手的判断END*/
}elseif(x==1&&y==2||x==2&&y==3||x==3&&y==1){//开始判断赢的情况
if(x==1&&y==2){
win++;//win1
System.out.println("[你]:石头---VS---[电脑]:剪刀PK:赢了!"+"共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}elseif(x==2&&y==3){
win++;//win2
System.out.println("[你]:剪刀---VS---[电脑]:布PK:赢了!"+"共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}else{
win++;//win3
System.out.println("[你]:布---VS---[电脑]:石头PK:赢了!"+"共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}
//判断赢的情况END
}else{//开始判断输的情况
if(x==1&&y==3){
lose++;
System.out.println("[你]:石头---VS---[电脑]:布PK:输了!"+"共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}elseif(x==2&&y==1){
lose++;
System.out.println("[你]:剪刀---VS---[电脑]:石头PK:输了!"+"共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}else{
lose++;
System.out.println("[你]:布---VS---[电脑]:剪刀PK:输了!"+"共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}
}//判断输的情况END
if(win==3){
System.out.println("");
System.out.println("");
System.out.println("游戏结束:恭喜您!你已经赢了[电脑]三局!!!"+"共玩"+all+"局,"+"赢:"+win+",输:"+lose);
a=1;
return;
}elseif(lose==3){
a=1;
System.out.println("");
System.out.println("");
System.out.println("游戏结束:很遗憾,电脑赢了你三盘!继续加油!"+"共玩"+all+"局,"+"赢:"+win+",输:"+lose);
return;
}
else{continue;}
}//判断是否输入数值1-3范围,如果不是1-3会提醒重新输入END
}//while
}
}
Ⅱ 猜拳游戏C语言编程
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <time.h> #define ORIGINGOLD 100 typedef struct { char name[100]; unsigned long score; } User; void Menu() { system("cls"); printf("========================made by 小恩 =====================\n"); printf("1:start game\n"); printf("2:show order\n"); printf("3:quit game\n"); printf("==========================================================\n"); } int choise() { int ch; printf("Input your choice(1~3): "); while(ch=getchar()) { if('\n'==ch) continue; while('\n'!=getchar()); if(ch>'3'||ch<'1') { printf("Error input,Try again(1~3): "); continue; } else break; } return ch; } int agree(const char *p) { char yes; printf("%s",p); while(scanf("%c",&yes),yes!='Y'&& yes!='N'&& yes!='y'&& yes!='n') { while('\n'!=getchar()); printf("Error input! Try again(Y/N): "); } while('\n'!=getchar()); if(yes=='Y'|| yes=='y') return 1; else return 0; } User getUser(const unsigned long score) { User gamer; int ch,i=0; memset(&gamer,0,sizeof(User)); printf("Please input the User's name:"); while(!strcmp(gamer.name,"")) { while((i<99) && ('\n'!=(ch=getchar()))) gamer.name[i++]=(char)ch; gamer.name[i]='\0'; } gamer.score=score; return gamer; } int getInt(int minR,int maxR) { int showhand; while(!scanf_s("%d",&showhand) || showhand<minR|| showhand>maxR) { while('\n'!=getchar()); printf("Invide input!Try again:(%d~%d) ",minR,maxR); } while('\n'!=getchar()); return showhand; } void save(const unsigned long score) { FILE *fp; int num=0; User gamer={"",0L},temp={"",0L},gm; if(fopen_s(&fp,"F:\\fist.gm","r+")) { if(fopen_s(&fp,"F:\\fist.gm","w")) { printf("Error,Can't open file F:\\fist.gm for save!\n"); exit(1);
希望采纳
Ⅲ C语言编写三局两胜的猜拳游戏编程
/*假设有A和B进行猜拳
'x'表示剪刀,'y'表示石头,'z'表示布
规则如下:
1、 石头 > 剪刀
2、 布 > 石头
3、 剪刀> 布
*/
#include <stdio.h>
#define WIN 1
#define LOSE -1
#define EQUAL 0
/*比赛规则函数*/
int game_rule(char a,char b)
{
switch(a)
case 'x':
{
switch(b)
case 'x':return EQUAL;
case 'y':return LOSE;
case 'z':return WIN;
}
case 'y':
{
switch(b)
case 'x':return WIN;
case 'y':return EQUAL;
case 'z':return LOSE;
}
case 'z':
{
switch(b)
case 'x':return LOSE;
case 'y':return WIN;
case 'z':return EQUAL;
}
}
/* main function*/
void main(void)
{
int ans;
int a = b = 0;
char A;
char B;
do
{
prinf("please input A:\n");
scanf("%c",&A);
getchar();
prinf("please input B:\n");
scanf("%c",&B);
getchar();
//有效性检查请自己加上
ans = game_rule(A,B);
if(ans==WIN)
{
a++;
prinf("A赢了%d局\n",a);
}
else if(ans==LOSE)
{
b++;
prinf("A赢了%d局\n",b);
}
if((a==2)||(b==2))
{
prinf("game over");
break;
}
}while(1);
}
Ⅳ 用1,2,3分别代表石头剪刀布,输入甲乙的猜 拳选择输出甲乙猜拳结果。(分支结构)。C语言程序设计
void func(int a,int b)
{
int num=0;
if((a==1)&&(b==1))
printf("打平\n");
else if((a==1)&&(b==2))
printf("甲获胜\n");
else if((a==1)&&(b==3))
printf("乙获胜\n");
else if((a==2)&&(b==1))
printf("乙获胜\n");
else if((a==2)&&(b==2))
printf("打平\n");
else if((a==2)&&(b==3))
printf("甲获胜\n");
else if((a==3)&&(b==1))
printf("甲获胜\n");
else if((a==3)&&(b==2))
printf("乙获胜\n");
else if((a==3)&&(b==3))
printf("打平\n");
}
Ⅳ 在学习java期间如何利用java制作一个简单的猜拳游戏编程
importjava.util.Scanner;
publicclassGame{
privateScannerscan=newScanner(System.in);
privateStringrule[]={"","剪刀","石头","布"};
privateStringrole[]={"","刘备","孙权","曹操"};
privateComputercomputer;
privateUseruser;
privateintroundCount;
privateGame(){
roundCount=0;
}
publicstaticvoidmain(String[]args){
Gamegame=newGame();
game.start();
}
publicvoidstart(){
computer=newComputer();
System.out.println("--欢迎进入游戏世界--");
System.out.println("********************");
System.out.println("**猜拳,开始**");
System.out.println("********************");
System.out.println();
System.out.println("出拳规则:1.剪刀2.石头3.布");
System.out.print("请选择角色(1:刘备2.孙权3.曹操)");
intuserRole=scan.nextInt();
if(userRole>=1&&userRole<=3){
user=newUser(role[userRole]);
System.out.println();
System.out.print("要开始吗?(y/n)");
Stringstart=scan.next();
if(start.equals("y")){
round();
}
elseif(start.equals("n")){
}
}
}
privatevoidround(){
roundCount++;
System.out.println();
System.out.print("请出拳:1.剪刀2.石头3.布(输入相应数字):");
intuserRule=user.round();
if(userRule>=1&&userRule<=3){
intcomputerRule=computer.round();
judge(userRule,computerRule);
System.out.println();
System.out.print("是否开始下一轮(y/n):");
Stringnext=scan.next();
if(next.equals("y")){
round();
}
elseif(next.equals("n")){
end();
}
}
}
privatevoidjudge(intur,intcr){
System.out.println("你出拳:"+rule[ur]);
System.out.println("电脑出拳:"+rule[cr]);
if(ur==cr){
System.out.println("结果:和局,真衰!嘿嘿,等着瞧吧!");
}
elseif((ur==1&&cr==3)||
(ur==2&&cr==1)||
(ur==3&&cr==2)){
System.out.println("结果:你赢了!");
user.win();
}
else{
System.out.println("结果:你输了!");
computer.win();
}
}
privatevoidend(){
System.out.println("--------------------------------------");
System.out.println(user.getName()+"VS"+computer.getName());
System.out.println("对战次数:"+roundCount);
if(computer.getWin()==user.getWin()){
System.out.println("结果:打成平手,下次再和你一分高下!");
}
elseif(computer.getWin()>user.getWin()){
System.out.println("结果:你输了!电脑赢了"+computer.getWin()+"次!");
}
else{
System.out.println("结果:你赢了!你赢了"+user.getWin()+"次!");
}
System.out.println("--------------------------------------");
}
classComputer{
privateintwin;
privateStringname;
publicComputer(){
win=0;
name="匿名";
}
publicintround(){
return(int)(System.currentTimeMillis()%3)+1;//随机返回1、2、3
}
publicStringgetName(){
returnname;
}
publicvoidwin(){
win++;
}
publicintgetWin(){
returnwin;
}
}
classUser{
privateintwin;
privateStringname="";
publicUser(Stringname){
this.name=name;
win=0;
}
publicintround(){
returnscan.nextInt();
}
publicStringgetName(){
returnname;
}
publicvoidwin(){
win++;
}
publicintgetWin(){
returnwin;
}
}
}