MySQL基础小游戏
时间: 2023-07-22 10:09:38 浏览: 158
好的,我可以为你介绍一个 MySQL 基础小游戏:猜动物游戏。
这个游戏的规则很简单,系统会随机选取一个动物,玩家需要通过提问来猜出这个动物。玩家每次可以提问一个关于这个动物的特征或属性,比如“这个动物有四条腿吗?”、“这个动物生活在陆地上吗?”等等。系统会根据玩家的问题回答“是”或“否”,直到玩家猜出这个动物为止。你可以在 MySQL 中创建一个表,用于存储游戏的状态和玩家的提问记录。
下面是一个简单的 MySQL 表结构示例:
```
CREATE TABLE animal_game (
id INT NOT NULL AUTO_INCREMENT,
player_name VARCHAR(255),
animal_name VARCHAR(255),
question VARCHAR(255),
answer VARCHAR(5),
guess_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);
```
在这个表中,`id` 列是自增的主键,`player_name` 列用于存储玩家的名字,`animal_name` 列用于存储系统选取的动物名字,`question` 列用于存储玩家的提问,`answer` 列用于存储系统的回答,`guess_time` 列用于存储猜测时间。
下面是一个简单的 PHP 脚本示例,用于实现猜动物游戏的逻辑:
```
<?php
session_start();
if (!isset($_SESSION['animal_name'])) {
// 从动物列表中随机选取一个动物
$animals = array('cat', 'dog', 'elephant', 'giraffe', 'lion', 'tiger', 'zebra');
$_SESSION['animal_name'] = $animals[array_rand($animals)];
}
if (isset($_POST['question'])) {
// 获取玩家提问
$question = mysqli_real_escape_string($conn, $_POST['question']);
// 根据玩家提问回答“是”或“否”
$answer = ($_SESSION['animal_name'] == 'cat' && $question == 'Does it meow?') ||
($_SESSION['animal_name'] == 'dog' && $question == 'Does it bark?') ||
($_SESSION['animal_name'] == 'elephant' && $question == 'Is it the biggest animal?') ||
($_SESSION['animal_name'] == 'giraffe' && $question == 'Does it have a long neck?') ||
($_SESSION['animal_name'] == 'lion' && $question == 'Is it the king of the jungle?') ||
($_SESSION['animal_name'] == 'tiger' && $question == 'Does it have stripes?') ||
($_SESSION['animal_name'] == 'zebra' && $question == 'Does it have black and white stripes?') ? 'Yes' : 'No';
// 将提问记录插入 MySQL 数据库
$conn = mysqli_connect('localhost', 'username', 'password', 'database');
$player_name = mysqli_real_escape_string($conn, $_SESSION['player_name']);
$animal_name = $_SESSION['animal_name'];
$guess_time = date('Y-m-d H:i:s');
$query = "INSERT INTO animal_game (player_name, animal_name, question, answer, guess_time) VALUES ('$player_name', '$animal_name', '$question', '$answer', '$guess_time')";
mysqli_query($conn, $query);
if ($answer == 'Yes') {
echo "Congratulations! You win!";
// 重置游戏状态
unset($_SESSION['animal_name']);
} else {
echo "No, the answer is not \"$answer\". Please try again.";
}
}
?>
<form method="post">
<label for="question">Please ask a question about the animal:</label>
<input type="text" id="question" name="question" required>
<button type="submit">Ask</button>
</form>
```
请注意,这只是一个简单的示例,实际的游戏可能需要更复杂的逻辑和更完善的用户界面。
阅读全文