當前位置:首頁 » 編程語言 » C語言猜拳游戲隨機代碼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

C語言猜拳游戲隨機代碼

發布時間: 2022-04-29 00:09:24

c語言猜拳游戲問題,求大神幫忙看一下

getchar()放在scanf輸入之前,其他小改動。

#include "stdafx.h"

#include <iostream>

#include <time.h>

using namespace std;


int main()

{

int times,x,user,computer,result,Y=0,T=0,C=0;

char userInput;

cout << "請輸入局數:" << endl;

cin >> times;

for (int i = 0; i < times; i++)

{

x = i + 1;

printf(" Match %d:Enter R for Rock,P for paper,or S for scissors:", x);

getchar();

scanf_s("%c", &userInput, 1);

switch (userInput)

{

case 82:

user = 2;

break;

case 83:

user = 1;

break;

case 80:

user = 3;

break;

}

srand((unsigned)time(NULL));

computer = rand() % 3 + 1;

if (computer == 1)

{

printf(" The computer chose scissors.");

}

if (computer == 2)

{

printf(" The computer chose rock.");

}

if (computer == 3)

{

printf(" The computer chose paper.");

}

result = computer - user;

if (result == -1 || result == 2)

{

Y += 1;

printf("You win. ");

printf(" Scores: ");

}

else if (result == 1 || result == -2)

{

C += 1;

printf("You lose. ");

printf(" Scores: ");

}

else if (result == 0)

{

T += 1;

printf("You tied. ");

printf(" Score: ");

}

if (T != 0)

{

printf(" Ties-%d", T);

}

if (Y != 0)

{

printf(" You-%d", Y);

}

if (C != 0)

{

printf(" Computer-%d", C);

}

}

printf(" ");

system("pause");

return 0;

}

㈡ 求C語言猜拳游戲代碼

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
char gamer; // 玩家出拳
int computer; // 電腦出拳
int result; // 比賽結果
// 為了避免玩一次游戲就退出程序,可以將代碼放在循環中
while (1){
printf("這是一個猜拳的小游戲,請輸入你要出的拳頭:\n");
printf("A:剪刀\nB:石頭\nC:布\nD:不玩了\n");
scanf("%c%*c",&gamer);
switch (gamer){
case 65: //A
case 97: //a
gamer=4;
break;
case 66: //B
case 98: //b
gamer=7;
break;
case 67: //C
case 99: //c
gamer=10;
break;
case 68: //D
case 100: //d
return 0;

default:
printf("你的選擇為 %c 選擇錯誤,退出...\n",gamer);
getchar();
system("cls"); // 清屏
return 0;
break;
}

srand((unsigned)time(NULL)); // 隨機數種子
computer=rand()%3; // 產生隨機數並取余,得到電腦出拳
result=(int)gamer+computer; // gamer 為 char 類型,數學運算時要強制轉換類型
printf("電腦出了");
switch (computer)
{
case 0:printf("剪刀\n");break; //4 1
case 1:printf("石頭\n");break; //7 2
case 2:printf("布\n");break; //10 3
}
printf("你出了");
switch (gamer)
{
case 4:printf("剪刀\n");break;
case 7:printf("石頭\n");break;
case 10:printf("布\n");break;
}
if (result==6||result==7||result==11) printf("你贏了!");
else if (result==5||result==9||result==10) printf("電腦贏了!");
else printf("平手");
system("pause>nul&&cls"); // 暫停並清屏
}
return 0;
}

㈢ C語言編程:編寫一個猜數的游戲,系統自動產生一個隨機數,你來猜,程序給出提示,直到猜對為止。

import java.util.*;

class Assignment8{

public static void main(String[]args){

Scanner sc=new Scanner(System.in);

int x=(int)(Math.random()*100);//生成一個0~100的隨機數

int y=-1;

System.out.println("已生成0~100的隨機整數,請輸入您所猜的數:");

while(x!=y)

{

y=sc.nextInt();

if(y&gt;x)

{

System.out.println("輸入的數過大");

}

else if(y&lt;x)

{

System.out.println("輸入的數過小");

}

}

System.out.println("正確!該隨機數是"+x);

sc.close();

}

}

(3)C語言猜拳游戲隨機代碼擴展閱讀:

while循環的格式:while(表達式){語句;}

while循環的執行順序:當表達式為真,則執行下面的語句,語句執行完之後再判斷表達式是否為真,如果為真,再次執行下面的語句,然後再判斷表達式是否為真……就這樣一直循環下去,直到表達式為假,跳出循環。

例:

int a=NULL;

while(a&lt;10){

a++;//自加

if(a&gt;5)//不等while退出循環,直接判斷循環

{break;//跳出循環}

}

結果:結束後a的值為6。

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

㈤ 就C語言中 猜拳游戲的代碼

這是一個簡單的猜拳游戲(剪子包子錘),讓你與電腦對決。你出的拳頭由你自己決定,電腦則隨機出拳,最後判斷勝負。
下面的代碼會實現一個猜拳游戲,讓你與電腦對決。你出的拳頭由你自己決定,電腦則隨機出拳,最後判斷勝負。
啟動程序後,讓用戶出拳,截圖:

用戶出拳,顯示對決結果:截圖:

代碼實現:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
char gamer; // 玩家出拳
int computer; // 電腦出拳
int result; // 比賽結果
// 為了避免玩一次游戲就退出程序,可以將代碼放在循環中
while (1){
printf("這是一個猜拳的小游戲,請輸入你要出的拳頭:\n");
printf("A:剪刀\nB:石頭\nC:布\nD:不玩了\n");
scanf("%c%*c",&gamer);
switch (gamer){
case 65: //A
case 97: //a
gamer=4;
break;
case 66: //B
case 98: //b
gamer=7;
break;
case 67: //C
case 99: //c
gamer=10;
break;
case 68: //D
case 100: //d
return 0;

default:
printf("你的選擇為 %c 選擇錯誤,退出...\n",gamer);
getchar();
system("cls"); // 清屏
return 0;
break;
}

srand((unsigned)time(NULL)); // 隨機數種子
computer=rand()%3; // 產生隨機數並取余,得到電腦出拳
result=(int)gamer+computer; // gamer 為 char 類型,數學運算時要強制轉換類型
printf("電腦出了");
switch (computer)
{
case 0:printf("剪刀\n");break; //4 1
case 1:printf("石頭\n");break; //7 2
case 2:printf("布\n");break; //10 3
}
printf("你出了");
switch (gamer)
{
case 4:printf("剪刀\n");break;
case 7:printf("石頭\n");break;
case 10:printf("布\n");break;
}
if (result==6||result==7||result==11) printf("你贏了!");
else if (result==5||result==9||result==10) printf("電腦贏了!");
else printf("平手");
system("pause>nul&&cls"); // 暫停並清屏
}
return 0;
}
代碼分析
1) 首先,我們需要定義3個變數來儲存玩家出的拳頭(gamer)、電腦出的拳頭(computer)和最後的結果(result),然後給出文字提示,讓玩家出拳。
接下來接收玩家輸入:
scanf("%c%*c",&gamer);

㈥ C語言 猜拳游戲編程

#include<stdio.h>
#include<math.h>
main()
{char c1;
int i,j;
do{
printf("Please input :");
scanf("%d",&i);
if(i<1||i>3){printf("Input error!\nPlease input again!\n");continue;}
j=rand()%3+1;
printf("%d\n",j);
if(i==j)printf("Ping Ju!\n");else
if((i-j)==1)printf("YOU WIN!\n");else
if(i==1&&j==3)printf("YOU WIN!\n");else
printf("YOU LOSE!\n");
printf("Replay?(Y/N)");
scanf("%c",&c1);
if(c1=='n'||c1=='N')break;
}while(c1=='y'||c1=='Y');
printf("Welcome to play again!\nAny key Quit...");
getch();putchar('\n');
}

㈦ 怎樣用C語言編寫一個猜拳游戲

*幫助做程序主體(開始游戲部分)*/
#include
<iostream.h>
#include
<stdlib.h>
void
main()
{
int
computer,
user,
money,
bet;
money=100;
for(
;
money==0;
)
{
cout
<<
"your
money:
"
<<
money
<<
endl;
cout
<<
"bet:
";
cin
>>
bet;
money=money-bet
if(bet>money)
break;
cout
<<
"set:
";
cin
>>
user;
computer=round(sin(rand())*2+1);
switch(user,computer)
{
.../*這地方你自己填一填*/
}
}
cout
<<
"game
over";
}

㈧ 求幫忙寫一個C語言的猜拳小游戲

import java.util.Scanner;

public class aaa{
public static void main(String[] args){

int count1 = 0;
int count2 = 0;
String dnc = "";
String nic = "";

while(true){

int dn = (int)(Math.random()*3+1);
int ni = 0;
while(true){
System.out.println("請輸入1-3的數字");
Scanner s1 = new Scanner(System.in);
ni = s1.nextInt();
if(ni>=1 && ni<=3){
break;
}
}

if(ni==1){
nic = "石頭";
}else if(ni==2){
nic = "剪刀";
}else{
nic = "布";
}
if(dn==1){
dnc = "石頭";
}else if(dn==2){
dnc = "剪刀";
}else{
dnc = "布";
}

if(dn==1 && ni==2 || dn==2 && ni==3 || dn==3 && ni==1){
System.out.println("電腦贏了1次!電腦出:"+dnc+",你出:"+nic+"");
count1++;
}else if(dn==ni){
System.out.println("平局!電腦出:"+dnc+",你出:"+nic+"");
}else{
System.out.println("你贏了1次!電腦出:"+dnc+",你出:"+nic+"");
count2++;
}

if(count1==2){
System.out.println("三局兩勝,電腦贏了!");
break;
}else if(count2==2){
System.out.println("三局兩勝,你贏了!");
break;
}
}
}
}

這個是個Java源代碼 是Java文件 在DOS命令框運行 至於C語言不了解 但是C語言和Java語言基本上相似,所以寫了這段代碼 希望可以幫到你

㈨ C語言猜拳游戲代碼 幫忙 改改 能運行就行 五局三勝制是關鍵

#include <stdio.h>
#include <math.h>
#include <time.h>
int main()
{
int a,b,i,s,s1;
i=1;
s=0;
s1=0;
srand((unsigned)time(NULL));
printf("猜拳游戲\n0石頭1剪刀2布\n***********\n");
printf("規則:共有5局");
printf("請\n出\n拳\n..\n");
do
{
scanf("%d",&b);
a=rand()%3;
if(a==0&&b==0)
{printf("電腦出的是拳頭,您出的是拳頭,平\n");s=s+0;}
else if(a==0&&b==1)
printf("電腦出的是拳頭,您出的是剪刀,負\n");
else if(a==0&&b==2)
{printf("電腦出的是拳頭,您出的是布,贏\n");s=s+1;}
else if(a==1&&b==0)
{printf("電腦出的是剪刀,您出的是石頭,贏\n");s=s+1;}
else if(a==1&&b==1)
{printf("電腦出的是剪刀,您出的是剪刀,平\n");s=s+0;}
else if(a==1&&b==2)
printf("電腦出的是剪刀,您出的是布,負\n");
else if(a==2&&b==0)
printf("電腦出的是布,您出的是石頭,負\n");
else if(a==2&&b==1)
{printf("電腦出的是布,您出的是剪刀,贏\n");s=s+1;}
else if(a==2&&b==2)
{printf("電腦出的是布,您出的是布,平\n");s=s+0;}
else
{printf("存在錯誤\n");s=s+0;}
}while(i++>5);
printf("\n您的得分為:%d分\n",s);
if(s>2)
printf("您贏了");
else
printf("您輸了");
return 0;
}
估計這樣就達到你的目的了

㈩ 用C語言編寫三局兩勝的猜拳游戲,怎麼編寫

隨機種子產生pc的隨機出拳
srand(time(0));

int pc = rand()%3; //0, 1, 2 石頭剪子布
屏幕輸入自己的結果。
scanf(" %d", &var);
一個負責比較的代碼塊,很簡單的邏輯處理。
一個最多執行三次的循環。
兩個負責記錄勝負次數的變數,針對單一角色,兩勝或者兩負,都會結束游戲。