Форум программистов, компьютерный форум CyberForum.ru

Задача: игра "Поймать парасёнка" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как обучиться программированию? http://www.cyberforum.ru/cpp-beginners/thread655053.html
Всем привет! Кто может научить, все обьяснить по С++. Хочу выучить, помогите. Откликнитесь пожалуйста!
C++ AnsiString обуляет char //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; http://www.cyberforum.ru/cpp-beginners/thread655045.html
C++ Определить, находятся ли слова последовательности в алфавитном порядке
Помогите пожалуйста написать программу: Дана последовательность слов, разделенных пробелами (не обязательно 1 пробел), за последним словом - точка. Определить, находятся ли слова последовательности в алфавитном порядке. Если да, то изменить порядок слов на обратный. Разрешается пользоваться стандартными функциями и объектами класса string. Запрещается использовать контейнер map, векторы и...
работа с изображениями C++
Всем доброго дня, уважаемые форумчане, подскажите плиз книги или статьи, которые можно прочитать, и узнать о классификации изображений, желательно чтобы были с какими-нибудь примерами или алгоритмами, зарание спасибо
C++ Магический квадрат http://www.cyberforum.ru/cpp-beginners/thread655033.html
с клавы вводиться число N. нужно сделать магический квадрат с размерами
C++ Задача: редактирование математических выражений Описание Вы ввели на компьютере несколько строк, содержащих математические выражения, в выражениях нет лишних скобок (то есть скобок, которые могли бы повлиять на результат выражения). Когда вас не было, ваш братишка добавил лишние скобки. Вы должны вернуть выражения в первоночальный вид, к тому же несколько выражений слишком длинные, редактировать руками слишком медленно. Ваша задача... подробнее

Показать сообщение отдельно
arreke
0 / 0 / 0
Регистрация: 14.05.2012
Сообщений: 13

Задача: игра "Поймать парасёнка" - C++

20.09.2012, 17:58. Просмотров 416. Ответов 2
Метки (Все метки)

Описание

"Поймать парасёнка" - один из видов игры в карты.
Допустим за игральным столом 4 игрока.
Ваша задача посчитать итоговый результат этих игроков, следуя правилам подсчёта указанным ниже:
  1. S, H, D, C - соответственно пики, червы, бубны и трефы.
    Цифры от 1 до 13 соответственно A, 2, ..., Q, K.
    Например, H1 это червы A, S13 это пики K.
  2. В конце игры, учитываются лишь козырные карты, к которым относятся, S12 (парасенок), все червы, D11 (ягненок) и C10 (удвоение), итого 16 карт. Всы остальные карты не считаются. Если у игрока нет ни одной из этих 16-ти козырных карт, у него 0 очков.
  3. Если у игрока имеется только одна козырная карта C10, он получает +50 очков. Если кроме C10 есть ещё козырные карты, то сумма очков этих козырных карт удваивается.
  4. Если у игрока на руках не все червы, то за каждую из 13 карт от H1 до H13 у игрока отнимается соответственное колличество очков: -50,-2,-3,-4,-5,-6,-7,-8,-9,-10,-20,-30,-40. А за S12 у игрока отнимается -100, а за D11 игроку прибавляется +400.
  5. Если у игрока на руках все червы от H1 до H13, то ситуация нижеследующая:
  • За все червы он получает +200 очков
  • Если S12, D11, он съедают все его червы, и он получает +500 очков.
  • C10 все также считается по правилу, которое было описано выше.

Пример 1: Ниже приведены козырные карты на руках у игроков:

S12 H3 H5 H13
D11 H8 H9
C10 H1 H2 H4 H6 H7
H10 H11 H12

колличество очков каждого из игроков: -148, +83, -138, -60.

Пример 2: Ниже приведены козырные карты на руках у игроков: (у четвертого игрока нет козырных карт)

H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13
S12 C10
D11

колличество очков каждого из игроков: +200, -200, +100, 0.

Пример 3: Если у одно из игроков все 16 козырей, он получает +1000 очков. У всех остальных игроков по 0 очков.


Input

Может вводится несколько вариантов положения карт у игроков, каждый вариант состоит из 4 строк, 1-ое число каждой строки соответстует колличеству козырных карт этого игрока, остальные вводимые данные - козырные карты этого игрока. Вводимые данные разделяются пробелами. Между вводимыми строками нет пустых строк.
Программа завершается, когда у всех игроков будет по 0 козырей.


Output

Каждая выводимая строка соответствует результату каждой игры, строка состоит из 4 чисел (со знаком плюса или минуса, кроме нуля), числа разделяются пробелом. Между выводимыми строками нет пустых строк.

Например, Input:
4 S12 H3 H5 H13↵
3 D11 H8 H9↵
6 C10 H1 H2 H4 H6 H7↵
3 H10 H11 H12↵
13 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13↵
2 S12 C10↵
1 D11↵
0↵
0↵
0↵
0↵
0↵

Output:
-148 +83 -138 -60↵
+200 -200 +100 0↵


Подскажите, пожалуйста, как решить.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru