GuessGame

Материал из Информационная безопасностя
Перейти к навигации Перейти к поиску

Pascal.ABC

Program GuessGame;
var 
  lowerBound, upperBound : integer;
  gameOver : boolean;
  guess : integer;
  userAnswer : integer;
Begin
  gameOver := false;
  
  Writeln('Задумайте число от 1 до 1000');
  
  lowerBound := 1;
  upperBound := 1000;
  
  Repeat
    guess := Round((lowerBound + upperBound) / 2);
    Writeln('Мой вариант = ' + guess);
    Writeln('Твоё число больше (1), меньше (2) или точно такое(0)?');
    Read(userAnswer);
    
    if (userAnswer = 1) then
    begin
      lowerBound := guess + 1;
    end;
    
    if (userAnswer = 2) then
    begin
      upperBound := guess - 1;
    end;
    
    if (userAnswer = 0) then
    begin
      gameOver := true;
    end;
  until gameOver;
  
  Writeln('Я угадал! Число = ' + guess);
end.

Javascript 1

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello</title>
    <script type="application/javascript" src="script.js"></script>
</head>
<body>

</body>
</html>

script.js

var lowerBound, upperBound;
var gameOver;
var guess;
var userAnswer;

gameOver = false;

alert('Задумайте число от 1 до 1000');

lowerBound = 1;
upperBound = 1000;

do {
    guess = Math.trunc((lowerBound + upperBound) / 2);
    userAnswer = prompt('Мой вариант = ' + guess + '. Твоё число больше (1), меньше (2) или точно такое(0)?');

    if (userAnswer === '1') {
        lowerBound = guess + 1;
    }

    if (userAnswer === '2') {
        upperBound = guess - 1;
    }

    if (userAnswer === '0') {
        gameOver = true;
    }
} while(!gameOver);

alert('Я угадал! Число = ' + guess);

Javascript 2

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Угадай</title>

    <script type="application/javascript" src="script.js"></script>
</head>
<body>
    <h1>Угадаю число</h1>
    <div>
        Моя догадка =
        <input type="text" id="guess" readonly>
    </div>
    <div>
        <p>Ваше число больше, меньше или равно догадке?</p>
        <button type="button" id="more">Больше</button>
        <button type="button" id="less">Меньше</button>
        <button type="button" id="equal">Равно</button>
    </div>

    <div style="font-family: 'Comic Sans MS'; font-size: 4em; color: #ff0000;" id="result"></div>
</body>
</html>

script.js

window.onload = function() {
    function CalculateAndSetGuess() {
        guess = Math.trunc((lowerBound + upperBound) / 2);
        guessInput.value = guess;
    }


    var lowerBound = 1, upperBound = 1000;
    var gameOver;
    var guess;

    var guessInput = document.getElementById("guess");

    var MoreButton = document.getElementById("more");
    MoreButton.addEventListener("click", function() {
        if (!gameOver) {
            lowerBound = guess + 1;
            CalculateAndSetGuess();
        }
    });

    var LessButton = document.getElementById("less");
    LessButton.addEventListener("click", function() {
        if (!gameOver) {
            upperBound = guess - 1;
            CalculateAndSetGuess();
        }
    });

    var EqualButton = document.getElementById("equal");
    EqualButton.addEventListener("click", function() {
        if (!gameOver) {
            gameOver = true;
            document.getElementById("result").innerHTML = "Ваше число = " + guess;
        }
    });

    alert("Задумайте число от 1 до 1000.");

    CalculateAndSetGuess();
}

C

#include <math.h>
#include <stdbool.h>
#include <stdio.h>

int main()
{
    int guess;
    int userAnswer;

    bool gameOver = false;

    printf("Think of a number from 1 to 1000\n");

    int lowerBound = 1;
    int upperBound = 1000;

    do {
        guess = round((lowerBound + upperBound) / 2);
        printf("My guess is = %d. Is your number greater(1), less(2) or equal(0) to mine?\n", guess);
        scanf_s("%d", &userAnswer);

        if (userAnswer == 1) {
            lowerBound = guess + 1;
        }

        if (userAnswer == 2) {
            upperBound = guess - 1;
        }

        if (userAnswer == 0) {
            gameOver = true;
        }
    } while (!gameOver);

    printf("Your number is %d.\n", guess);
	
    return 0;
}