午间节目主持人.酒吧填充游戏
Noobie programer. Bar filling game
我目前正在用C++开发一款迷你游戏。我正在使用代码::块。游戏应该是这样进行的,屏幕上会显示一个酒吧。它会装满的。当用户按下空格键时,空格键将清空。这个酒吧程序是我为一个更大的基于故事的程序编写的一个小程序。所以我试着让它变得这样,如果酒吧空了,故事就朝着一个方向发展,但如果酒吧满了,故事就会朝着另一个方向前进。我的问题是,我似乎无法让酒吧填满或清空。我对编程很陌生。如有任何帮助,我们将不胜感激。我目前正在尝试制作的酒吧:
##################################################
#MMMMMMMMMMMMMMMMMMMMMMMMM #
##################################################
我计划在酒吧装满和清空后制作的酒吧:
##################################################
#MMMMMMMMMMMMMMMMMMMMMMMMM #
#MMMMMMMMMMMMMMMMMMMMMMMMM #
#MMMMMMMMMMMMMMMMMMMMMMMMM #
#MMMMMMMMMMMMMMMMMMMMMMMMM #
##################################################
所有的"M"字符都是清空和填充栏的字符。
以下是我迄今为止得到的代码。
#include <iostream>
#include <time.h>
void delay(unsigned int mseconds)
{
clock_t goal = mseconds + clock();
while (goal > clock());
}
using namespace std;
int main()
{
char ch = 'a';
cout << "##################################################" << endl;
cout << "#";
for (int j = 25; j < 50 || j > 0; j++)
{
while (j >=0 || j <= 50)
{
cin >> ch
if (ch == ' ')
{
j--;
ch = 'a';
}
else
{
cout << "M";
delay(200);
}
}
}
cout << "#" << endl;
return 0;
}
//Output
/*
##################################################
##
Process returned 0 (0x0) execution time : 0.156 s
Press any key to continue.
*/
使用while (j >=0 || j <= 50)
的while循环是一个无限循环。您可能想将其更改为while (j >= 0 && j <= 50)
,以便它在您想要的范围内。此外,你的for (int j = 25; j < 50 || j > 0; j++)
转化为一个无限循环,因为j总是小于50,转化为所有负数,或者大于0,转化为全部正数。您可能希望将其更改为for (int j = 25; j < 50 && j > 0; j++)
。然而,我认为你应该重新思考你试图解决这个问题的算法。祝你好运,我希望我帮了你。
for (int j = 25; j > 50 || j < 0; j++)
您的for循环永远不会执行,因为我们看到j被初始化为25 int j = 25
,25 > 50
和25 < 0
的计算结果都为false,所以它立即退出。
查看char[][]数组以显示这样的条形图可能会有所帮助。。您将首先查看char数组,然后再查看二维数组。这样做可以让你用行/列的方法来解决这个问题,而且你可以很容易地回溯(比如说,如果他们按下某个键,你想"清空栏"几个空格)
如果查看for
循环,您会发现条件总是false。
那么,if (ch = ' ')
条件将始终为真。您可能想要执行if (ch == ' ')
来测试值,而不是分配它。
我认为你正在做的事情是不必要的复杂。试着重新思考你的算法。
- 在c++中用vector填充一个简单的动态数组
- 如何使用用户输入在C++中正确填充2D数组
- 如何找到大小'x'数组是否完全填充,在C++?
- Cuda C++:设备上的Malloc类,并用来自主机的数据填充它
- 通过for循环使用用户输入填充列表
- 在C++游戏中与库存系统作斗争
- 换位表导致测试失败(但在游戏中运行良好)
- 根据用户输入用字母填充矢量,并将"开始"和"结束"放在四肢
- Craps游戏问题,忽略if语句
- 如何正确填充在堆上分配的二维数组?
- 矢量下标超出SFML游戏中的范围
- 将数字转换为填充字符串
- 我是 c++ 的新手.学习基本知识后,我想做井字游戏.对于印刷板,我在下面写代码,但它显示错误
- 有没有办法在一行中填充矢量图
- 用C++中的数字和条件填充向量
- 用真值填充矢量
- 使用结构成员指针在C++中填充结构
- 流填充字符的默认定位
- 我在贪吃蛇游戏中收到了错误代码 -1073741571
- 午间节目主持人.酒吧填充游戏