-
Notifications
You must be signed in to change notification settings - Fork 1
/
cardValue.php
49 lines (40 loc) · 1.97 KB
/
cardValue.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/**
* Сложность 1/10
* Игральным картам присвоены следующие порядковые номера в зависимости от их достоинства:
* "валет" - 11, "дама" - 12, "король" - 13, "туз" - 14.
* Порядковые номера остальных карт соответствуют их названиям("семерка", "восмерка" и т. д.).
* Вам нужно разработать программу, которая выводила достоинство карты по заданному номеру,
* который будет вводит пользователь.
*/
function errorChecking($cards, $order) {
if (!is_int($order)) return ['status' => true, 'message' => 'Порядковый номер должен быть числом'];
// Определение допустимых диапазонов
$min = min(array_values($cards));
$max = max(array_values($cards));
// Находится ли введенное число в допустимом диапазоне
$isInRange = ($order >= $min) && ($order <= $max);
if (!$isInRange) return ['status' => true, 'message' => "Порядковый номер должен лежать в диапазоне от $min до $max"];
return false;
}
function getCard($order)
{
$cards = [
'Двойка'=> 2,
'Тройка'=> 3,
'Четверка'=> 4,
'Пятерка'=> 5,
'Шестерка'=> 6,
'Семерка'=> 7,
'Восьмерка'=> 8,
'Девятка'=> 9,
'Десятка'=> 10,
'Валет'=> 11,
'Дама'=> 12,
'Король'=> 13,
'Туз'=> 14,
];
// Если ошибка, то выводим ошибку в шаблоне, иначе ключ массива
$isError = errorChecking($cards, $order);
return $isError ? "Ошибка: {$isError['message']}" : array_search($order, $cards);
}
echo getCard(2);