нужна ! Вам предстоит написать простую игру с компьютером, модификацию всем известной "Три в ряд".
Условия простые.
Пользователь вводит число – сколько мест в линии, первый ход делает компьютер, вводит строку: место и цвет (’R’, ’G’ или ’B’) через пробел, нумерация с 0.
Выводится сообщение, кто сделал и какой ход:
AI step <шаг>
или
Your step <шаг>
Выводится строка с размещенной буквой.
Затем ходит пользователь, вводит в одной строке место и цвет (’R’, ’G’ или ’B’) через пробел. Если три буквы одного цвета рядом, они пропадают, тому, кто поставил последнюю, начисляется очко и линия выводится ещё раз, уже без одинаковых букв, стоящих рядом.
Игра продолжается, пока есть места.
Если пользователь хочет походить на занятое место, выводится сообщение:
This place is taken.
По окончании выводятся сообщения, кто выиграл и счёт.
Если выиграл компьютер, вывести:
AI win! <счёт> : <счёт>
Если выиграл пользователь, выводим:
You win! <счёт> : <счёт>
Если ничья:
We have a tie.
Пример работы программы:
5
AI step 2 R
_ _ R _ _
Your step 1 B
_ B R _ _
AI step 0 B
B B R _ _
Your step 3 R
B B R R _
AI step 4 R
B B R R R
B B _ _ _
Your step 3 G
B B _ G _
AI step 2 G
B B G G _
Your step 4 R
B B G G R
AI win! 1 : 0
#include <sstream>
#include <vector>
#include <string>
using namespace std;
int main(int argc, char** argv) {
cout << "string: ";
string s; getline(cin, s);
istringstream ss(s);
vector<string> v;
while (ss >> s) v.push_back(s);
int j=v[0].size(),k=0;
for (int i=1; i<v.size(); i++)
if (v[i].size()>j) { j=v[i].size(); k=i; }
cout<<"long word: "<<v[k]<<endl<<endl;
system("pause");
return 0;
}