Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2023, 22:57   #1
Rusikfsk
 
Регистрация: 26.11.2022
Сообщений: 7
По умолчанию игра камень ножницы бумага

помогите разобраться в чем ошибка почему программа выдает один результат?

Код:
#include <ctime>
#include <iostream>

using namespace std;

int main() 
{
    cout << "ROCK, PAPER, CISSORS" << endl;
    cout << "You need to enter number from 1 to 3" << endl;
    cout << "ROCK - 1" << endl;
    cout << "PAPER - 2" << endl;
    cout << "CISSORS - 3" << endl;
    
    srand((int)time(NULL));
    int human = 0;
    int cpu = 0;
    cpu = rand() % 3 + 1;
    cin >> human;
    //human
    if (human == 1)
    {
        cout << "ROCK" << endl;
    }
        else if (human == 2)
        {
            cout << "PAPER" << endl;
        }
            else 
            {
                cout << "CISSORS" << endl;
            }
    //cpu
    if (cpu == 1)
    {
        cout << "ROCK" << endl;
    }
            else if (cpu == 2)
            
                cout << "PAPER" << endl;
            
            else
            {
                cout << "CISSORS" << endl;
            }
    //equal
    if (human = cpu)
    {
        cout << "Tie" << endl;
    }
    //ROCK
    else if (human == 1)
    {
        if (cpu == 2) 
        {
            cout << "CPU WIN" << endl;
        } 
        if (cpu == 3) 
        {
            cout << "YOU WIN" << endl;
        }
    
    }
    //PAPER
    else if (human == 2) 
    {
        if (cpu == 2)
        {
            cout << "YOU WIN" << endl;
        }
        if (cpu == 3)
        {
            cout << "CPU WIN" << endl;
        }

    }
    //CISSORS
    else if (human == 3)
    {
        if (cpu == 1)
        {
            cout << "CPU WIN" << endl;
        }
        if (cpu == 2) 
        {
            cout << "YOU WIN" << endl;
        }
    }





    return 0;
}
Rusikfsk вне форума Ответить с цитированием
Старый 14.01.2023, 23:24   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Сравнение на равенство "==", а вы присвоили переменной human значение переменной cpu в строке "if (human = cpu)". А еще перепроверьте ифы в теле ифа "else if (human == 2)".
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 15.01.2023, 01:04   #3
Valick
Форумчанин
 
Регистрация: 27.04.2022
Сообщений: 493
По умолчанию

Код:
<?php
declare(strict_types=1);

$itemRules = [
    'stone' => [
        'scissors' => 'You win!',
        'paper' => 'You loss!',
        'stone' => 'Tie',
    ],
    'scissors' => [
        'paper' => 'You win!',
        'stone' => 'You loss!',
        'scissors' => 'Tie',
    ],
    'paper' => [
        'stone' => 'You win!',
        'scissors' => 'You loss!',
        'paper' => 'Tie',
    ],
];
$item = array_keys($itemRules);
shuffle($item);
$cpu = array_shift($item);
$human = $_GET['item'];
$result = !empty($human) ? $itemRules[$human][$cpu] : '';
?>
<html lang="ru">
<head>
    <meta charset="utf-8">
    <title></title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
          rel="stylesheet"
          integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
          crossorigin="anonymous">
    <style>
        table {
            text-align: right;
        }
    </style>
</head>
<body>
<div class="container">
    <div class="col-6">
        <h1>Game "stone - scissors - paper"</h1>
        <h2>Select item</h2>
        <form>
            <select class="form-select" name="item" aria-label="selector">
                <?php foreach (array_keys($itemRules) as $item) {
                    $selected = $item === $human ? ' selected' : ''; ?>
                    <option value="<?= $item ?>"<?= $selected ?>><?= $item ?></option>
                <?php } ?>
            </select>
            <hr>
            <button type="submit" class="btn btn-secondary float-end">- Enter -</button>
        </form>
        <?php if (!empty($result)) { ?>
            <h2><?= $human ?> vs <?= $cpu ?></h2>
            <h1><?= $result ?></h1>
        <?php } ?>
    </div>
</div>
</body>
</html>

Последний раз редактировалось Valick; 15.01.2023 в 01:53.
Valick вне форума Ответить с цитированием
Старый 15.01.2023, 01:19   #4
Valick
Форумчанин
 
Регистрация: 27.04.2022
Сообщений: 493
По умолчанию

http://kaval.beget.tech/ssp.php
Valick вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Java как правильно написать условие вывода картинки (Игра Камень, Ножницы, Бумага)? Pain123 Общие вопросы по Java, Java SE, Kotlin 3 25.05.2017 16:32
Камень, ножницы, бумага. Davel Помощь студентам 2 01.09.2016 00:00
Игра камень ножницы бумага Ri777 Microsoft Office Excel 2 18.11.2013 10:45
Игра "Камень, Ножницы, Бумага" three_cats Общие вопросы C/C++ 11 26.10.2012 09:15