Skip to content

A game created in Python and running directly in the terminal. The game, called "millionaire game," is inspired by the "Who Wants to Be a Millionaire?" reality show.

License

Notifications You must be signed in to change notification settings

zdev-developerfullstack/millionaire-game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Millionaire Game

Millionaire Game là một trò chơi console lấy cảm hứng từ chương trình "Ai là triệu phú", được phát triển bởi ZDEV.

Người chơi chọn 1 trong 4 chế độ độ khó và trả lời tối đa 10 câu hỏi để trở thành "triệu phú". Trò chơi có hệ thống màu sắc, hiệu ứng text, âm thanh và giới hạn thời gian có thể bật/tắt linh hoạt.

Tính năng chính

  • 4 chế độ độ khó:
    • Easy (Dễ) – 60s/câu, màu sắc dịu, dễ làm quen.
    • Medium (Trung bình) – 30s/câu.
    • Hard (Khó) – 20s/câu.
    • Genius (Thiên tài) – 10s/câu, có hiệu ứng lighting trail đặc biệt.
  • Mỗi chế độ có sẵn 60 câu hỏi trong các file:
    • easy-mode.py
    • medium-mode.py
    • hard-mode.py
    • genius-mode.py
  • Mỗi lượt chơi lấy ngẫu nhiên 10 câu không trùng nhau.
  • Trả lời đúng: tăng stack tiền thưởng từng bậc.
  • Trả lời sai hoặc hết thời gian: kết thúc lượt chơi.
  • Hiệu ứng text:
    • Gõ chữ kiểu typing.
    • Hiệu ứng lighting trail (vệt sáng chạy qua text).
    • Banner nhiều màu (rainbow).
  • Âm thanh:
    • Beep khi trả lời đúng / sai (ưu tiên dùng pygame, fallback BEL nếu không có).
  • Hệ thống lệnh trong khi trả lời câu hỏi:
    • !rule – xem lại luật chơi.
    • !skip – bỏ qua câu hiện tại (không tính sai), chuyển sang câu tiếp theo.
    • !stop – dừng cuộc chơi, nhận số tiền hiện tại.
    • !main – quay lại menu chọn chế độ (kết thúc lượt hiện tại).
    • !setting – mở menu cài đặt (bật/tắt effect, color, sound, timer).
  • Hệ thống cài đặt (Settings):
    • Bật/tắt hiệu ứng text.
    • Bật/tắt màu chữ (ANSI color).
    • Bật/tắt âm thanh.
    • Bật/tắt giới hạn thời gian cho mỗi câu hỏi.

Yêu cầu môi trường

  • Python 3.10+ (khuyến nghị).
  • (Tùy chọn) pygame để phát âm thanh đầy đủ:
pip install pygame

Nếu không cài pygame, game vẫn chạy bình thường – chỉ có phần âm thanh sẽ sử dụng fallback BEL (nhiều IDE/terminal có thể không phát ra tiếng).

Cách chạy game

Từ thư mục gốc dự án:

python main.py

Hoặc nếu bạn đang dùng uv (theo template ban đầu của Firebase Studio):

uv run main.py

Quy trình chơi

  1. Chạy main.py.
  2. Màn hình hiển thị banner và menu chọn chế độ độ khó:
    • Nhập 1, 2, 3 hoặc 4 và nhấn Enter.
  3. Mỗi lượt chơi có tối đa 10 câu hỏi:
    • Mỗi câu có thời gian theo chế độ (nếu timer = ON).
    • Trả lời bằng cách nhập A, B, C hoặc D.
  4. Có thể nhập các lệnh thay cho đáp án:
    • !rule – hiện lại luật chơi, sau đó hỏi lại câu hiện tại.
    • !skip – bỏ qua câu hiện tại (không cộng tiền, không trừ), chuyển sang câu tiếp.
    • !stop – dừng cuộc chơi, nhận số tiền hiện tại.
    • !main – thoát lượt chơi, quay lại menu chọn chế độ.
    • !setting – mở menu cài đặt:
      • 1: Bật/tắt hiệu ứng text (typing, trail).
      • 2: Bật/tắt màu chữ.
      • 3: Bật/tắt âm thanh.
      • 4: Bật/tắt giới hạn thời gian.
      • 0: Quay lại câu hỏi.
  5. Sau khi trả lời đúng 10 câu hoặc dừng/sai, game hiển thị stack tiền thưởng cuối cùng.
  6. Cuối cùng, bạn có thể chọn chơi lại hoặc thoát.

Cấu trúc dự án

millionaire-game/
├─ main.py          # Logic chính của game, hiệu ứng, lệnh, cài đặt
├─ easy-mode.py     # 60 câu hỏi chế độ Easy
├─ medium-mode.py   # 60 câu hỏi chế độ Medium
├─ hard-mode.py     # 60 câu hỏi chế độ Hard
├─ genius-mode.py   # 60 câu hỏi chế độ Genius
├─ sounds/          # (tự sinh) chứa các file WAV beep cho pygame
│  ├─ correct_beep.wav
│  └─ wrong_beep.wav
└─ README.md        # Tài liệu này

Ghi chú về âm thanh trong môi trường cloud IDE

Nếu bạn chạy game trong môi trường cloud IDE (như Firebase Studio, GitHub Codespaces, v.v.) thì:

  • Âm thanh được phát trên server từ xa, không phải máy của bạn.
  • Hầu hết môi trường này không truyền âm về trình duyệt.
  • Kết quả: pygame hoặc \a vẫn được gọi nhưng bạn không nghe gì.

Để trải nghiệm âm thanh đầy đủ, hãy chạy game trên máy local (Terminal/cmd/PowerShell) với pygame đã cài.

Giấy phép

Dự án này sử dụng giấy phép MIT License.

MIT License

Copyright (c) 2025 ZDEV

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

Chủ sở hữu bản quyền: ZDEV

About

A game created in Python and running directly in the terminal. The game, called "millionaire game," is inspired by the "Who Wants to Be a Millionaire?" reality show.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages