当前位置:首页 » 编程软件 » 猜拳的编程

猜拳的编程

发布时间: 2023-07-13 15:19:07

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;
}
}
}

热点内容
scratch少儿编程课程 发布:2025-04-16 17:11:44 浏览:629
荣耀x10从哪里设置密码 发布:2025-04-16 17:11:43 浏览:357
java从入门到精通视频 发布:2025-04-16 17:11:43 浏览:76
php微信接口教程 发布:2025-04-16 17:07:30 浏览:300
android实现阴影 发布:2025-04-16 16:50:08 浏览:788
粉笔直播课缓存 发布:2025-04-16 16:31:21 浏览:338
机顶盒都有什么配置 发布:2025-04-16 16:24:37 浏览:204
编写手游反编译都需要学习什么 发布:2025-04-16 16:19:36 浏览:801
proteus编译文件位置 发布:2025-04-16 16:18:44 浏览:357
土压缩的本质 发布:2025-04-16 16:13:21 浏览:583