所以我有一個基於文本的冒險遊戲,它的運行流暢,但我的一個「測試者」注意到他可以在第一個cin中選擇多個數字,並且將這些值用於遊戲的其餘部分。我可以手動將塊鎖定在用戶必須鍵入的字符數量上嗎? 這是我的計劃如何讓用戶只輸入一個字符?
#include <iostream>
#include <stdio.h>
#include <cstdio>
#include <cstdlib>
char Choice;
char my_name;
using namespace std;
int main()
{
printf("You come out of darkness.\n");
printf("Confused and tired, you walk to an abandoned house.\n");
printf("You walk to the door.\n");
printf("What do you do?\n");
printf("1. Walk Away.\n");
printf("2. Jump.\n");
printf("3. Open Door.\n");
printf(" \n");
cin >> Choice;
printf(" \n");
if(Choice == '1')
{
printf("The House seems too important to ignore.\n");
printf("What do you do?\n");
printf("1. Jump.\n");
printf("2. Open Door.\n");
printf(" \n");
cin >> Choice;
printf(" \n");
等等,你如果你想讓玩家能夠按像1
,2
或3
鍵,而無需按回車鍵得到它
謝謝!但是,getline會去哪裏?在cin操作符下? – TheAwesomElf
http://stackoverflow.com/questions/7679246/c-cin-char-read-symbol-by-symbol – doctorlove
下面是'getline'的原始文檔:http://en.cppreference.com/w/cpp/ string/basic_string/getline 你需要做的是聲明一個'string'來捕獲輸入,然後查看字符串的第一位以確定玩家選擇的內容。你最好把這一點放到一個專門的功能中。 –