- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在上计算机科学的初级类(class),对于我的下一个项目,我应该制作一个剪刀石头布游戏。
游戏还没有完成,因为我仍然需要添加记分和输入建议(哦,我应该更频繁地选择)和循环。
不过,我的问题是,我想测试游戏的运行情况,看看它在这之前是否正常运行。代码编译正确,但一旦我输入我的决定并且计算机输入它的决定,“获胜者”就不正确了。
例如:
玩家选择摇滚
电脑选择剪刀
平局
我想也许我输入了一些 if 语句不正确,因为我选择的一些答案是正确的(关于谁是真正的赢家),而有些则没有。
但是在回到我的代码并(多次)检查它们之后,它们对我来说似乎是正确的...
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{ // MAIN bracket OPEN
char YorN;
char player;
int computer;
srand(time(NULL));
cout << "****************************************************************************************" << endl;
cout << "**********************************ROCK PAPER SCISSORS***********************************" << endl;
cout << "****************************************************************************************\n\n"<< endl ;
cout << "---Rules of the game is simple. Choose R for Rock, P for Paper, and S for Scissors---\n";
cout << "---Whoever with the most wins, will be crowned victorious ---\n\n";
cout << "Do you think you can beat me? (Y or N): ";
cin >> YorN;
cout << "\n\n\n";
cout<< "NOTE:::: Whenever you're done playing the game, press ( E ) to Exit the game::::" << endl;
if(YorN=='Y' || YorN == 'y')
{ // if statement OPEN
cout << "\nAlright, lets see what you got! "<< endl;
} // if statement CLOSED
else
{ // else staement OPEN
cout<< "\nWow, I beat you without even trying. \nI am VICTORIOUS!!" << endl;
return(0);
} // else statement CLOSED
cout<< "Okay, here we go...\n";
cout<<".\n.\n.\n.\n.\n.\n.\n..." ;
cout << "Choose ( R ) for Rock, ( P ) for Paper, ( S ) for Scissors: " ;
cin >> player;
cout <<"\n\n";
switch(player)
{ // Switch statement OPEN
case 'R':
cout<< "Player chooses Rock " <<endl;
break;
case 'r':
cout<< "Player chooses Rock " <<endl;
break;
case 'P':
cout<<"Player chooses Paper "<< endl;
break;
case 'p':
cout<<"Player chooses Paper "<< endl;
break;
case 'S':
cout<<"Player chooses Scissors "<< endl;
break;
case 's':
cout<<"Player chooses Scissors "<<endl;
break;
default:
cout<<"That is no a correct input "<< endl;
} // Switch statement CLOSED
computer = rand() % 3 + 1;
switch(computer)
{ // Switch statement computer OPEN
case 1:
cout<< "Computer chooses Rock "<< endl;
break;
case 2:
cout<< "Computer chooses Paper "<< endl;
break;
case 3:
cout<< "Computer chooses Scissors "<< endl;
break;
} // Swithch staement computer CLOSED
if(player=='r' || player=='R' && computer==1)
{ // if statement OPEN
cout<< "***It's a TIE***" << endl;
} // if Statement CLOSED
else if(player=='r' || player=='R' && computer==2)
{ // if else statement1 OPEN
cout<<"***Computer WINS***"<< endl;
} // if else statement1 CLOSED
else if(player=='r' || player=='R' && computer==3)
{ //else if statement2 OPEN
cout<<"***Player WINS***"<< endl;
} //else if statement2 CLOSED
else if(player=='p' || player=='P' && computer==1)
{ //else if statement3 OPEN
cout<<"***Player WINS***"<<endl;
} // else if statement3 CLOSED
else if(player=='p' || player=='P' && computer==2)
{ // else if statement4 OPEN
cout<<"***It's a TIE***"<< endl;
} // else if statement4 CLOSED
else if(player=='p' || player=='P' && computer==3)
{ // else if statement5 OPEN
cout<<"***Computer WINS***"<<endl;
} // else if statement5 CLOSED
else if(player=='s' || player=='S' && computer==1)
{ // else if statement6 OPEN
cout<< "***Computer WINS***" << endl;
} // else if statment6 CLOSED
else if(player=='s' || player=='S' && computer==2)
{ // else if statement7 OPEN
cout<< "***Player WINS***"<< endl;
} // eses if statement7 CLOSED
else if(player=='s' || player=='S' && computer==3)
{ // else if statement8 OPEN
cout<< "***It's a TIE***" << endl;
} // else if statement8 CLOSED
} // MAIN bracket CLOSED
同样,编码不完整。我还要补充一些东西。
另外,很抱歉,我对编码还是个新手。如果我对我的问题不够彻底或者我在代码页上添加了太多内容,请原谅我......我不知道应该包含或排除哪些部分
最佳答案
修复 if 语句的所有括号
例子
来自:
if(player=='r' || player=='R' && computer==1){
收件人:
if((player=='r' || player=='R') && computer==1){
关于c++ - 剪刀石头布游戏无法正常运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54729000/
如何让玩家玩随机数量的比赛,然后以全部分数结束游戏? 我正在尝试做一个循环,让玩家玩多场比赛,并在最后询问是否还想玩。 public class RockPaperScissors { pub
我的石头剪刀布游戏遇到问题。当我玩游戏时,它会将胜利或失败记录为胜利和失败。我试图让它记录一场胜利和一场失败,并且不会为胜利和失败添加分数。有什么建议吗? import java.io.*; publ
#RoShamBo import random count=0 while count -2: compnum=random.randint(0,2) usernum=int(inpu
这是我的石头剪刀布游戏。 http://jsfiddle.net/Renay/hL3j5hm6/6/ 如何添加动画,在给出结果之前,图像上下弹跳时有 3,2,1 倒计时。我尝试过添加各种功
我的类(class)本周将举行机器人竞赛,我们应该让我们的机器人战胜其他人的机器人。比赛项目为石头、布、剪刀、炸药、水气球。炸药胜过一切,除了水气球,而水气球只胜过炸药。老师写了竞技场,还有其他一些机
我刚刚开始使用 python,需要一些帮助!我当时在做剪刀石头布游戏,我想在人或计算机赢得 3 场胜利后添加一个重启选项。 我已经四处寻找一些答案,但从我看到的所有其他代码来看,似乎超出了我的范围,或
我正在使用 Python 创建一个非常简单的石头剪刀布游戏,但无法解决这个问题。每次我在命令提示符中输入答案时,它都会输出消息“无效输入,请重试!”,这就是我告诉它在存在无效输入时执行的操作。但是,我
我需要实现一个石头剪刀布锦标赛模拟器,它将玩完所有回合并返回锦标赛。 这是我的锦标赛数组: tournament = [ [ [ ["Armando",
我遇到了一个问题,选择根本没有更新。我已经列出了每次选择后应显示最后结果和当前分数的位置。分数运行良好,但选择根本没有更新。谢谢。 Dynamic Web Squirtle,
我的图片和消息正在更改为显示获胜、失败、平局,但我的 javascript 增量似乎不起作用,因为我的分数没有改变。请帮忙:) Rock, Paper, Scissors Rock
我正在用 C# 制作石头、剪刀、布游戏,目前在有人输入非 R、S 或 P 的输入时尝试显示消息时遇到问题。例如,我正在尝试获取默认值在 switch 语句中工作,但我没有运气。这就是我目前所拥有的。如
我希望代码获取用户在输入字段中输入的值并将其传递给变量 userChoice。我不知道为什么这段代码不起作用,唯一的学习方法就是问你们。 HTML: Choose your destiny !
我正在用 C# 制作石头、剪刀、布游戏,目前在有人输入非 R、S 或 P 的输入时尝试显示消息时遇到问题。例如,我正在尝试获取默认值在 switch 语句中工作,但我没有运气。这就是我目前所拥有的。如
我的类(class)被分配了一个石头剪刀布游戏。以下是作业说明: 学习目标: 练习枚举的使用 创建一个包含构造函数、字段和方法的枚举 设计并实现您自己的 GUI 创建一个可运行的 jar 描述:编写一
我正在用Python创建一个石头剪刀布游戏。我的方法如下。然而,我不想打印玩家 1 和玩家 2,而是想让它们成为真实的名字。因此,可以说 John Wins 或 Joe Wins。如何实现每次打印玩家
我正在尝试完成类里面的石头、剪刀、布作业。 我收到“UnboundLocalError:赋值前引用的局部变量“绑定(bind)”” 错误。 有人可以告诉我为什么会收到此错误吗? import rand
我在 C++ 上学习石头剪刀布游戏时有一个游戏实例类。我想创建整数常量,它表示游戏中允许的符号数。对于经典的 rsp 游戏,它是 3(石头、剪刀和布),但是有一些有趣的 rcs 游戏扩展带有额外的符号
好吧,有件事一直困扰着我,但我一直找不到答案。这是 Codeacademy 的石头剪刀布游戏: var userChoice = prompt("Do you choose rock, paper o
我正在可汗学院编写一个剪刀石头布游戏,这样我就可以看到视觉效果,但是 var Compare = function(choice1, choice2) 无法正常工作。 html 它工作得很好。插入了我
我制作了一个基本的“石头、剪刀、布”游戏。我对这个项目有一些疑问/问题。 在我的浏览器上,不显示谁获胜的消息。如“计算机获胜”。我得到的结果如下: Computer: Paper You: rock
我是一名优秀的程序员,十分优秀!