TimTaiLieu.vn - Thư viện tài liệu, ebook, đồ án, luận văn, tiểu luận, giáo trình các lĩnh vực CNTT, Ngoại ngữ, Luật, Kinh doanh, Tài chính, Khoa học...
Bài tập: Thay đổi trạng thái ô ● Viết hàm setCellType(int x, int y, CellType type) thay đổi trạng thái ô tại dòng y, cột x ● Viết hàm addCherry(int x, int y) đặt quả cherry ở dòng y, cột x ● Viết hàm thành viên addRandomCherry() đặt quả cherry ở một vị trí ngẫu nhiên có trạng thái CELL_EMPTYBài tập: Vẽ sân chơi đơn giản ● Viết hàm thành vi...
56 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 678 | Lượt tải: 1
Các thành phần Giao diện tương tác (UI) Lõi trí tuệ nhân tạo (AI core) ● Nhập số chữ cái của từ người chơi nghĩ (dễ) ● Hiển thị phán đoán, lịch sử phán đoán của máy và giá treo (đã làm) ● Nhập trả lời của người chơi ● Dựa vào các phán đoán đã đưa ra và secretWord hiện thời ○ Đưa ra phán đoán tiếp theo ○ Liệu máy tính có thể chơi Han...
54 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 710 | Lượt tải: 1
Lựa chọn thư viện ● Phát triển phần mềm trên thực tế ○ Thường cần thư viện (bên thứ 3 - third party library) ngoài tính năng của ngôn ngữ và thư viện chuẩn của C++ ○ Lựa chọn thư viện cho dự án: cần thiết và quan trọng ● Trong khóa học này, dùng SDL bởi ○ Chỉ dùng các tính năng đồ họa đơn giản ○ Đa nền tảng (cross-platform) - dễ cho sinh viê...
98 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 1161 | Lượt tải: 1
Phân chia mã nguồn ● Chương trình Hangman đã khá dài ○ Bắt đầu khó quản lý ○ Phần tạo animation sẽ còn dài thêm nữa. ● Phân chia mã nguồn thành nhiều mô-đun (file) ○ Dễ quản lý (mỗi mô-đun = 1 tập các hàm) ○ Có thể sử dụng lại mô-đun cho chương trình khác ○ Giảm thời gian biên dịch ■ Các tệp mã nguồn được biên dịch riêng rẽ ● Chia mô đun t...
28 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 675 | Lượt tải: 1
Ghi dữ liệu từ file vào đâu? Từ vựng của Hangman được lưu trong một tệp văn bản: ● Mỗi từ trên một dòng ○ Số dòng (số từ) chưa biết trước → Cần kiểu dữ liệu lưu trữ số lượng từ “tùy ý” nếu dùng mảng thông thường ta sẽ phải đọc một lần để đếm số dòng trước khi khai báo mảng, sau đó mới đọc vào mảng.Thư viện vector ● Cho phép lưu trữ dãy giá ...
24 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 655 | Lượt tải: 1
Hangman: Luật chơi ● Trò chơi giữa A (chủ trò) và B (người chơi) ● A nghĩ ra một từ tiếng Anh nhưng giấu ○ secretWord: Số vạch = số chữ cái trong từ ● B tìm cách đoán ra từ của A ○ Mỗi lần B đoán 1 chữ cái đúng, A ghi chữ cái đó lên các vạch tương ứng ○ Nếu B đoán sai, B mất 1 lượt đoán ● Số lượt ≈ số nét vẽ giá treo và thân người của B (s...
38 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 664 | Lượt tải: 1
Tách hàm (mô-đun hóa) Tìm cách đặt tên cho từng bước ● Nghĩ số: int generateRandomNumber() ● Nhập con số người dùng đoán: int getPlayerGuess() ● In câu trả lời phù hợp: void printAnswer(int number, int randomNumber) Viết chương trình như kể một câu chuyện ● Tên biến = cụm danh từ ● Tên hàm = cụm động từ● Tiếng Anh là ngôn ngữ của Công nghệ...
34 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 716 | Lượt tải: 1
Các bước thực hiện (phương án) ● Nhập 2 số nguyên và kí tự thể hiện phép toán. ● Lựa chọn phép toán ● Tính toán kết quả ● In ra màn hình text Cần mô tả bằng lời các bước giải quyết vấn đề. 4 / 24Lập trình ● Nhập 2 số nguyên int và kí tự char thể hiện phép toán bằng std::cin ● Dùng switch lựa chọn phép toán, tính toán kết quả ● In ra màn hình bằng s...
18 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 838 | Lượt tải: 1
Tại sao cần cả struct lẫn class? • Có struct là vì kế thừa struct của C • Class là thuật ngữ quen thuộc của lập trình hướng đối tượng (C++ là ngôn ngữ hướng đối tượng) • Tuy nhiên: cú pháp của struct C và struct C++ khác nhau. Không được dùng struct C trong code C++ và ngược lại! Class / struct • Khi nào nên dùng class, khi nào n...
36 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 1004 | Lượt tải: 1
Cú pháp gọi hàm thành viên struct Vector { double x; double y; void print() { } }; Vector v; Vector* pV = &v; Dùng dấu chấm (.) để truy nhập từ biến / ô nhớ struct: v.print() (*pv).print() Dùng mũi tên (->) để truy nhập bằng con trỏ/địa chỉ: pv->print() (&v)->print() (giống hệt truy nhập biến thành viên)Hằng hàm thành viên struc...
58 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 786 | Lượt tải: 1