hãy viết một chương trình game nhà hàng (không cần đồ họa,chỉ cần code ) + menu + tên nhà hàng+...+tab

hãy viết một chương trình game nhà hàng (không cần đồ họa,chỉ cần code ) + menu + tên nhà hàng+...+tab
This anwser using AI, please
Dưới đây là một chương trình đơn giản cho game nhà hàng bằng Python. Chương trình này cho phép người chơi chọn món ăn từ menu và tính tổng hóa đơn dựa trên các lựa chọn của người chơi.

```python
class Restaurant:
def __init__(self, name):
self.name = name
self.menu = {
"Bánh mì": 15000,
"Phở": 40000,
"Bún chả": 45000,
"Gà rán": 60000,
"Kem": 20000
}
self.order = []

def display_menu(self):
print(f"--- Menu của {self.name} ---")
for item, price in self.menu.items():
print(f"{item}: {price} VND")

def take_order(self):
while True:
dish = input("Nhập tên món ăn để gọi (hoặc 'x' để kết thúc): ")
if dish.lower() == 'x':
break
elif dish in self.menu:
self.order.append(dish)
print(f"{dish} đã được thêm vào đơn hàng.")
else:
print("Món này không có trong menu, vui lòng chọn lại.")

def calculate_total(self):
total = sum(self.menu[dish] for dish in self.order)
return total

def print_receipt(self):
print("\n--- Hóa đơn của bạn ---")
for dish in self.order:
print(f"{dish}: {self.menu[dish]} VND")
print(f"Tổng số tiền: {self.calculate_total()} VND")

def main():
restaurant_name = "Nhà hàng Hạnh Phúc"
restaurant = Restaurant(restaurant_name)

restaurant.display_menu()
restaurant.take_order()
restaurant.print_receipt()

if __name__ == "__main__":
main()
```

Giải thích chi tiết về mã nguồn:

1. Khởi tạo Lớp Nhà hàng (Restaurant): Lớp này có một biến tên (`name`) để lưu trữ tên nhà hàng, một biến menu để lưu trữ các món ăn cùng giá của chúng, và một danh sách (`order`) để lưu đơn hàng của khách.

2. Phương thức hiển thị menu (display_menu): Phương thức này sẽ in ra menu nhà hàng, hiển thị từng món ăn cùng với giá tiền.

3. Phương thức lấy đơn hàng (take_order): Phương thức này cho phép người chơi nhập tên món ăn mà họ muốn gọi. Nếu món ăn hợp lệ, nó sẽ thêm món đó vào danh sách đơn hàng. Nếu người chơi nhập 'x', chương trình sẽ dừng việc lấy đơn hàng.

4. Phương thức tính tổng (calculate_total): Phương thức này sẽ tính tổng số tiền dựa trên danh sách món ăn mà người chơi đã gọi bằng cách cộng giá của từng món.

5. Phương thức in hóa đơn (print_receipt): Phương thức này sẽ in ra hóa đơn chi tiết cho người chơi, bao gồm từng món ăn và tổng số tiền phải trả.

6. Hàm chính (main): Hàm này khởi tạo đối tượng nhà hàng, hiển thị menu, lấy đơn hàng từ người chơi và sau đó in hóa đơn.

Chương trình này đơn giản nhưng thể hiện nhiều khái niệm lập trình như lớp, đối tượng, và phương thức, đồng thời cũng mang lại trải nghiệm tương tác với người dùng thông qua việc nhập liệu.
Post Reply