Mục đích sử dụng Alice Aliee đượe tạo ra nhằm giải quyết eáe vấn đề giảng dạy lập trình trong nhà trường?. • Aliee giúp việe dạy eáe lý thuyết lập trình trờ nên dễ dàng hơn mà không eần
Trang 1TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CÔNG NGHẸ HÀ NỘI
KHOA CÔNG NGHẸ THÔNG TIN
ĐỒ ÁN ALICE (C++)
RÙA VÀ THỎ
Sinh viên: Trịnh XuânChinh
Mã sinh viên: 19136023 Lớp: TH24.09
Hà Nội - 2021
Trang 2MỤC LỤC
Chương 1: TÔNG QUAN VÈ CHƯƠNG TRÌNH ALICE
1.1: Tổng quan Aliee 2
1.1.1: Aliee là gì? 2
1.1.2: Mụe đíeh sử dụng Aliee 2
1.2: Phiên bản Aliee 3.6 3
1.2.1: Aliee 3.6 eó gì mới? 3
1.2.2: Một số hình ảnh eủa phiên bản Aliee 3.6 3
Chương 2: THIẾT KẾ CHƯƠNG TRÌNH 2.1: Phân ehia nội dung eâu ehuyện 6
2.1.1: Nội dung eâu ehuyện 6
2.1.2: Phân ehia nội dung 6
2.2: Cáe kiến thứe lập trình sử dụng trong bài 13
2.3: Một số đoạn mã trong bài 13
Chương 3: KẾT LUẬN 3.1: Kết luận ehung 15
3.2: Bản thân 15
Trang 3CHƯƠNG 1 TỔNG QUAN VÈ CHƯƠNG TRÌNH ALICE
1.1 TỔNG QUAN VÈ ALICE
1.1.1 Alice là gì? _ ,
Aliee là một ngôn ngữ lập trình giáo dụe dựa trên đôi tượng (open-souree objeet-based edueational programming language) với một môi trường phát triển tíeh hợp (IDE) Aliee sử dụng môi trường kéo và thả để tạo ra eáe nhân vật 3D
mô phỏng trên máy tính
Chương trình lần đầu tiên đượe phát triển bời Đại họe Virginia năm 1994, sau đó từ năm 1997 eho tới nay, ehương trình này đượe Đại họe Carnegie Mellon, dẫn đầu bời Randy Pauseh nghiên eứu và phát triển
Phiên bản mới nhất hiện nay đượe phát hành là phiên bản 3.6
Hiện nay, phiên bản Aliee 3.6 đã đượe eông bô dưới dạng mã nguồn mờ
1.1.2 Mục đích sử dụng Alice
Aliee đượe tạo ra nhằm giải quyết eáe vấn đề giảng dạy lập trình trong nhà
trường?
• Aliee giúp việe dạy eáe lý thuyết lập trình trờ nên dễ dàng hơn mà không
eần phải hiểu những ngữ nghĩa phứe tạp eủa ngôn ngữ lập trình, ví dụ
như C++,— Người dóng ehỉ eần kéo thả, thay thế eáe đôi tượng được lấy từ thư viện eủa Aliee đưa vào không gian ảo trên máy tính với víệe dựa trên eáe eấu trúe logie để eó thể tạo ra eáe sản phẩm trên máy tính thựe sự
• Giao diện trựe quan kéo thả eủa Aliee eho phép sinh viên xem "kết quả" eủa mình ngay lập tứe để họ eó thể hiểu rõ môi liên hệ giữa eáe nguyên tắe lập trình và hành động eủa đôi tượng trong phim hay game mà họ tạo ra
2
Trang 4• Aliee đượe tạo ra để giúp đỡ những eá nhân ít tiếp xúe với lập trình như
họe sinh tiểu họe, họe sinh trung họe, nhằm khuyến khíeh họ họe lập
trình một eáeh dễ dàng Hiện nay, Aliee eòn đượe nhiều trường Đại Họe,
Cao Đẳng trên thế giới đưa vào giảng dạy
1.2 PHIÊN BẢN ALICE 3.6
1.2.1 Alice 3.6 có gì mới?
Phiên bản Aliee 3.6 đượe eông bố ngày 24/8/2020 với bản vá 3.6.0.1 đượe
phát hành vào ngày 10/9/2020, đây là phiên bản mới nhất eho đến hiện nay?
gồm The Slim TM
• Ngoài ra, nó hỗ trợ một số tính năng tuyệt vời để hỗ trợ ehuyển đổi hoàn toàn sang ngôn ngữ lập trình Java bao gồm xem mã Java đượe tạo ra trong eửa sổ nằm eạnh nhau và thậm ehí ehuyển đổi ngôn ngữ Aliee vào NetBeans để eó thể mờ rộng ehứe năng bằng eáeh mã hóa thế giới eủa Aliee trựe tiếp trong Java
1.2.2 Một số hình ảnh của phiên bản Alice 3.6
Người dùng eó thể tải ehương trình Aliee 3.6 tại địa ehỉ:
http://www.alice.org/get-alice/alice-3/ Sau khi tải xpn.g, xtiếu hành eài đặt
enương trình vào may tính theo eáen thông thường Một số ninh ảnh eủa ehương
trình Aliee 3.6:
Trang 5Hình 1: Aliee 3.6 hỗ trợ nhiều bối eảnh eó sẵn
Hình 2: Cửa sổ kéo thả eẩu trúe lệnh trên Aliee 3.6
4
Trang 6Hình 3: Cửa sổ kéo, thả eáe đối tượng 3D trên Aliee 3.6
Hình 4: Chuyển đổi eâu lệnh Aliee 3.6 sang ngôn ngữ Java
Trang 7CHƯƠNG 2 THIẾT KÉ CHƯƠNG TRÌNH
2.1 PHÂN CHIA NỘI DUNG CÂU CHUYỆN
2.1.1 Nội dung câu chuyện
Rùa và thỏ là một ehuyện ngụ ngôn nổi tiếng eủa Aesop Câu ehuyện xoay quanh
euộe thi ehạy giữa rùa và thỏ; eâu ehuyện nhu sau?
Ngảy xửa ngày xua, eó ehú thỏ và rùa đã tranh eãi với nhau xem ai nhanh hơn Sau một hồi eãi nhau thì ehúng đã quyết định ehạy đua để giải quyết những tranh luận trên, nếu ai về đíeh truớe thì nguời đó sẽ là nguời ehiến thắng và đuợe eông nhận là nguời ehạy nhanh nhất Chúng đã bàn bạe và đồng ý với lộ trình sẽ ehạy qua Cuối eùng euộe thi ehạy giữa thỏ và rùa eũng bắt đầu
Bắt đầu euộe đua thỏ xuất phát thật nhanh ehạy thụe mạng nhu tên bắn về phía đíeh, sau khi ehạy một khoảng khá xa thỏ nghĩ rằng mình đã bỏ xa rùa, thỏ nghĩ thầm trong đầu:” Còn lâu rùa mới đuổi kịp ta, eậu ta rất ehậm ehạp, thôi thì mình eứ tranh thủ nghỉ ngơi eái đã.” Thỏ eứ thế mà tung tăng dạo quanh hái hoa bắt buớm trong tâm thế rất vui vẻ không hề lo lắng gì, thỏ ta thản nhiên nhìn trời, nhìn đất ngắm mây, thỉnh thoảng nhấm nháp vài ngọn eỏ non, khoan khái nhịp ehân Đến khi mệt rồi thì thỏ vào ngồi bệeh xuống một gốe eây gần đó để nghỉ mệt
Trong khi đó rùa vẫn ehăm ehỉ eố gắng buớe từng buớe nặng nhọe hì hụe dần dần tiếng về đíeh phía truớe Thỏ nằm khoan thai ờ gốe eây rồi ngủ quên Rùa vuợt qua ehỗ thỏ đang nằm ngủ và gần ehạm tới vạeh kết thúe Động vật trong rừng hò hét eổ vũ rất lớn eho rùa, thỏ giật mình tỉnh dậy Thỏ ta eòn vuơn nguời
và ngáp một eáeh luời biếng rồi mới bắt đầu dùng hết sứe ehạy thật nhanh trờ lại nhung đã quá muộn
2.1.2 Phân chia nội dung
6
Trang 8Bài làm đượe ehia ra làm 6 eảnh ehính?
Cảnh 1 ? Thỏ và Rùa gặp nhau?
đã tranh eãi nhau về việe ai ehạy nhanh hơn và đã đưa ra giải pháp
là tổ ehứe một euộe đua giữa Rùa và Thỏ để tìm ra eâu trả lời
Cảnh 1
Trang 9• Cảnh 2: Rùa và Thỏ ờ vị trí xuẩt phát, ehuẩn bị euộe đua:
Thỏ tỏ vẻ kiêu ngạo, ehắe thắng, trong khi đó Rùa lại tỏ ra sự quyết tâm Sau khi trọng tài đếm ngượe, eả 2 bắt đầu ehạy
Cảnh 2
Trang 10Cảnh 3: Cảnh Thỏ ehạy trướe rồi rùa, rồi đắm ehìm vào giẩe ngủ:
ra ehủ quan không màng tới euộe thi và eho phép mình ngủ một giẩe
Cảnh 3
Trang 11• Cảnh 4: Rùa vẫn miệt mài bướe?
Thỏ đang ngủ
Cảnh 4
Trang 12• Cảnh 5 ? Thỏ tỉnh giẩe, nhận ra đã muộn nhưng vẫn thong thả:
đã dậy muộn nhưng Thỏ vẫn thong thả eho rằng Rùa không thể nhanh hơn mình
Cảnh 5
Trang 13• Cảnh 6: Rùa về đíeh trướe Thỏ, Thỏ hối hận vì đã eoi thưởng Rùa:
reo eổ vũ eho Rùa Thỏ về đíeh sau và đã eho bản thân mình và mọi ngưởi một bài họe không đượe ehủ quan
Trang 15Cảnh 6
2.2 CÁC KIẾN THỨC LẶP TRÌNH sử DỤNG TRONG BÀI
- Sử dụng các khối lệnh “do in order”, “do together”, vòng lặp xác định
“count”
- Sử dụng các câu lệnh của Alice như: “say, think, move, roll, turn, ”
- Sử dụng Dummy camera (camera giả) để lưu lại vị trí các cảnh
- Sử dụng các phương thức (Procedure) cho các đối tượng
- Cách tạo đối tượng, định vị đối tượng, cho phép ẩn hiện đối tượng
- Thay đổi ánh sáng bối cảnh, thay đổi nền cho cảnh, chèn nhạc vào cảnh
2.3 MỘT SỔ ĐOẠN MÃ TRONG BÀI
Trang 17CHƯƠNG 3 KẾT LUẬN
3.1 KẾT LUẬN CHUNG
3.1.1- Ưu Điềm
- Sau khi họe xong em đã đượe hiểu biết thêm về lập trình aliee và hắt đầu thấy thíeh thú trong hộ môn này
- Em đã eó những kinh nghiệm hướe đầu eho việe làm phim hoạt hình hằng lập trình Đó là em hiết dựng eảnh, tạo ra eáe hoạt động eho nhân vật, những hiệu ứng ehỉnh màu sắe eho nền để từ đó làm đượe đoạn phim hoàn ehỉnh
- Ngoài ra em eũng hiểu hơn về khái niệm danh sáeh, vòng lặp
3.1.2 Nhược điềm
- Khi ehuyển eảnh, eamera em quay vẫn để lộ những nơi em dựng eảnh eho những eảnh kháe trong phim
3.2 BẢN THÂN
Qua hộ môn lập trình Aliee này, em đã eó thể tạo eho riêng mình một sản phẩm thựe sự thông qua lập trình, qua đó em eũng eó thể dễ dàng hiểu đượe mối
Trang 18quan hệ giữa eáe eấu trúe, eâu lệnh lập trình và hành vi eủa eáe đối tượng thông qua eáe hình ảnh 3D sinh động Bằng eáeh này, em đã hiểu rõ và rút ra đượe nhiều kinh nghiệm với eáe eâu lệnh, eấu trúe, ehương trình (liên quan đến lập trình) mà em sẽ đượe giảng dạy sau này
Chương trình đã đượe hoàn thiện xong nhưng không thể tránh khỏi những thiếu sót, em rất mong quí thầy eô và eáe hạn đóng góp thêm ý kiến để ehương trình ngày một hoàn thiện và eó thể ứng dụng rộng rãi hơn
Em xin chân thành cảm ơn!