HomeChia sẻ

Hướng dẫn lập trình trò chơi đoán số bằng Scratch

Like Tweet Pin it Share Share Email
Like và share giúp mình phát triển website nhé.
  •  
  •  

Nội dung bài toán trò chơi đoán số bằng Scratch như sau:

Viết chương trình Scratch mô phỏng trò chơi đoán số như sau:


Nhân vật chính của chương trình là Cô giáo. Cô sẽ nghĩ ra 1 số có hai chữ số và yêu cầu em đoán số đó bằng cách nhập các số từ bàn phím cho đến khi tìm ra thì thôi.

  • Khi bắt đầu chơi cô sẽ giới thiệu, nói như hình bên và em bắt đầu đoán số.
  • Nếu số em đoán trùng với số đã đoán cô sẽ thông báo: “Số này em đã đoán rồi. Em hãy đoán số khác.”
  • Nếu em đoán sai, thì cô sẽ thông báo như sau: “Sai rồi. Số em đoán nhỏ/lớn hơn số của cô. Em hãy đoán lại”.
  • Nếu đoán đúng, cô sẽ thông báo số của cô và số lần em đã dự đoán, ví dụ như sau:

“Đúng rồi: 23. Em đã đoán đúng số của cô sau 5 lần dự đoán.

Đây là bài số 2 trong: 50 bài tập lập trình Scratch

Từng bước lập trình trò chơi đoán số bằng Scratch

Bước 1: Tạo các nhân vật và sân khấu

Trong dự án này chỉ có một nhân vật duy nhất là cô giáo, các bạn có thể thay nhân vật cô giáo bằng thày giáo hay một đối tượng khác tùy thích nhé

Sân khấu thì tùy bạn chọn, mình khuyên lúc đầu nên để sân khấu trắng cho dễ nhìn, sau khi đã hoàn thành chương trình thì thích trang trí sao cho đẹp thì làm

Bước 2: Lập trình cho nhân vật cô giáo

2.1. Tạo các biến số

Bạn hãy tạo một biến “Số đúng” để lưu số mà cô giáo nghĩ. Ở đây giới hạn là số có hai chữ số, số này được tạo ngẫu nhiên từ 10 đến 99 (tất nhiên bạn có thể thay đổi)

Tạo một “Danh sách” đặt tên là “Các số đã đoán” nó như là một biến mảng để lưu lại các số mà bạn đã đoán trước đây

2.2. Lập trình cho trò chơi

Ý nghĩa của các câu lệnh như sau:

  1. Chương trình bắt đầu chạy khi nhấn vào biểu tượng lá cờ
  2. Xóa tất cả các giá trị trong biến mảng
  3. Cô giáo giới thiệu trò chơi
  4. Lấy “số đúng” số cô nghĩ ngẫu nhiên từ 10 đến 99
  5. Lặp lại câu trả lời (đoán số) cho tới khi đoán đúng
  • Hỏi và yêu cầu người chơi đoán số
  • Nếu “các số đã đoán” chứa “trả lời” (số đã đoán rồi) thì nói … nếu không thì …
  • Thêm số đoán vào dãy các số đã đoán

Cuối cùng: Khi thoát vòng lặp có nghĩa là đã đoán đúng. Dòng lệnh 14 đưa ra câu trả lời và kết thúc chương trình,

bạn chú ý dùng phép toán nối lồng nhiều lần mới được câu lệnh 14.

Một vài kinh nghiệm rút ra từ trò chơi đoán số Scratch

  • Chú ý khi sử dụng câu lệnh nếu .. thì … ở trên. nếu bạn thay bằng 3 câu lệnh nếu … thì … mà không có câu lệnh nếu … thì … nếu không thì …, khi bạn nhập số đã nhập rồi cô giáo sẽ “nói hai lần” đó nghe
  • Rút ra kinh nghiệm sử dụng biến mảng trong scratch
  • Kĩ thuật “xuất dữ liệu” chính xác bằng cách lồng nhiều phép toán

Trò chơi mẫu để các bạn trải nghiệm

 


Vậy là mình đã hướng dẫn lập trình trò chơi đoán số bằng Scratch xong rồi nhé chúc các bạn thành công

Xem video hướng dẫn

File Word hướng dẫn

 

 

 

 

 

 

 

Comments (7)

  • Chào thầy, tôi dùng Scratch 3.0 nó hiện luôn số đoán trên đầu làm sao để xóa nó đi được ạ

    Reply
  • #include
    #include
    using namespace std;

    int main()
    {
    int so = rand() % (99 – 10 + 1) + 10;
    int dapan;
    cout << "Toi da nghi ra con so tu 1 den 9." << endl;
    cout << "Bay gi xin moi ban doan no." << endl;
    system("pause");
    system("cls");
    cout <> dapan;
    if (dapan == so)
    cout << "Chuc mung ban da doan dung!" << endl;
    else
    cout << "Ban doan sai roi!" << endl;
    system("pause");
    while (dapan != so)
    {
    cout <> dapan;
    if (dapan == so)
    cout << "Chuc mung ban da doan dung!" << endl;
    else
    cout << "Ban doan sai roi!" << endl;
    system("pause");
    }
    }

    Reply
    • #include
      #include
      using namespace std;

      int main()
      {
      int so = rand() % (99 – 10 + 1) + 10;
      int dapan;
      cout << "Toi da nghi ra con so tu 10 den 99." << endl;
      cout << "Bay gi xin moi ban doan no." << endl;
      system("pause");
      system("cls");
      cout <> dapan;
      if (dapan == so)
      cout << "Chuc mung ban da doan dung!" << endl;
      else
      cout << "Ban doan sai roi!" << endl;
      system("pause");
      while (dapan != so)
      {
      cout <> dapan;
      if (dapan == so)
      cout << "Chuc mung ban da doan dung!" << endl;
      else
      cout << "Ban doan sai roi!" << endl;
      system("pause");
      }
      }

      Reply
  • #include
    #include
    using namespace std;

    int main()
    {
    int so = rand() % (99 – 10 + 1) + 10;
    int dapan;
    cout << "Toi da nghi ra con so tu 10 den 99." << endl;
    cout << "Bay gi xin moi ban doan no." << endl;
    system("pause");
    system("cls");
    cout <> dapan;
    if (dapan == so)
    cout << "Chuc mung ban da doan dung!" << endl;
    else
    cout << "Ban doan sai roi!" << endl;
    system("pause");
    while (dapan != so)
    {
    cout <> dapan;
    if (dapan == so)
    cout << "Chuc mung ban da doan dung!" << endl;
    else
    cout << "Ban doan sai roi!" << endl;
    system("pause");
    }
    }

    Reply
    • #include
      #include
      using namespace std;
      int main()
      {
      int so = rand() % (99 – 10 + 1) + 10;
      int dapan;
      cout << "Toi da nghi ra con so tu 10 den 99." << endl;
      cout << "Bay gi xin moi ban doan no." << endl;
      system("pause");
      system("cls");
      cout <> dapan;
      if (dapan == so)
      cout << "Chuc mung ban da doan dung!" << endl;
      else
      cout << "Ban doan sai roi!" << endl;
      while (dapan != so)
      {
      cout <> dapan;
      if (dapan == so)
      cout << "Chuc mung ban da doan dung!" << endl;
      else
      cout << "Ban doan sai roi!" << endl;
      }
      system("pause");
      }

      Reply
  • #include
    #include
    using namespace std;
    int main()
    {
    int so = rand() % (99 – 10 + 1) + 10;
    int dapan;
    cout << "Toi da nghi ra con so tu 10 den 99." << endl;
    cout << "Bay gi xin moi ban doan no." << endl;
    system("pause");
    system("cls");
    cout <> dapan;
    if (dapan == so)
    cout << "Chuc mung ban da doan dung!" << endl;
    else
    cout << "Ban doan sai roi!" << endl;
    while (dapan != so)
    {
    cout <> dapan;
    if (dapan == so)
    cout << "Chuc mung ban da doan dung!" << endl;
    else
    cout << "Ban doan sai roi!" << endl;
    }
    system("pause");
    }

    Reply
    • #include
      #include
      using namespace std;
      int main()
      {
      int so = rand() % (99 – 10 + 1) + 10;
      int dapan;
      cout << "Toi da nghi ra con so tu 10 den 99." << endl;
      cout << "Bay gi xin moi ban doan no." << endl;
      system("pause");
      system("cls");
      cout <> dapan;
      if (dapan == so)
      cout << "Chuc mung ban da doan dung!" << endl;
      else
      cout << "Ban doan sai roi!" << endl;
      while (dapan != so)
      {
      cout <> dapan;
      if (dapan == so)
      cout << "Chuc mung ban da doan dung!" << endl;
      else
      cout << "Ban doan sai roi!" << endl;
      }
      system("pause");
      }

      Reply

Trả lời

Your email address will not be published. Required fields are marked *