Files
2p_pracownia_programowania_php/Zadania/Z84 - Samochod/index.php
2025-10-31 22:15:27 +01:00

81 lines
2.9 KiB
PHP

<?php
session_start();
if (!isset($_SESSION['isStarted'])) {
$_SESSION['isStarted'] = false;
}
?>
<!doctype html>
<html lang="pl">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Z84 - Samochód</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>Zadanie Z84</h1>
<h2>Autor: Jakub Grzegorczyk</h2>
</header>
<div class="box">
<p>Napisz program, który symuluje auto sterowane za pomocą poleceń konsoli. Program powinien posiadać następujące komendy:</p>
<ul>
<li>Start — uruchamia auto</li>
<li>Stop — zatrzymuje auto</li>
<li>Koniec — kończy działanie programu</li>
<li>Pomoc — wyświetla pomoc z opisem poszczególnych komend</li>
</ul>
<p>Program powinien umieć reagować na sytuacje wyjątkowe. Ponowne użycie komendy „Start” jeśli auto jest uruchomione wyświetla komunikat w stylu: „przecież już jadę ;)”. W przypadku polecenia „Stop” jeśli samochód już stoi zobaczymy komunikat w stylu „O co chodzi? Przecież stoję???”. W przypadku wydania nieznanej komendy należy wyświetlić komunikat w stylu „Nie znam tej komendy”. Program powinien działać w pętli, aż do wydania komendy „Koniec”.</p>
</div>
<div class="box">
<form action="index.php" method="post">
<fieldset>
<label for="a">Wpisz komendę: Start, Stop, Koniec, Pomoc</label>
<input type="text" name="a" id="a">
</fieldset>
<button type="submit">Wyślij</button>
</form>
</div>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$a = strtolower(htmlspecialchars($_POST['a']));
echo '<div class="box">';
echo '<b>';
switch ($a) {
case 'start':
if (!$_SESSION['$isStarted']) {
$_SESSION['$isStarted'] = true;
echo 'Samochód uruchomiony!';
} else { echo 'Przecież już jadę :)'; }
break;
case 'stop':
if ($_SESSION['$isStarted']) {
$_SESSION['$isStarted'] = false;
echo 'Samochód zatrzymany!';
} else { echo 'O co chodzi? Przecież stoję???';}
break;
case 'pomoc':
echo 'Dostępne komendy: <br>' .
'Start - uruchamia auto <br>' .
'Stop - zatrzymuje auto <br>' .
'Koniec - kończy działanie programu <br>' .
'Pomoc - wyświetla tę wiadomość';
break;
case 'koniec':
echo 'Zamykanie programu...';
session_destroy();
session_start();
$_SESSION['isStarted'] = false;
break;
default:
echo 'Nie znam tej komendy';
}
echo '</b>';
}
?>
</body>
</html>