Trường Đại Học Kinh Doanh Và Công Nghệ Hà Nội Khoa Công Nghệ Thông Tin ĐỒ ÁN ALICE Thạch Sanh tiêu diệt Trằn Tinh. Đầy đủ các yêu cầu. Đây là đồ án độc quyền của mình. Có các phần mở đầu kết luận, code.
Trang 1Trường Đại Học Kinh Doanh Và Công Nghệ Hà Nội
Khoa Công Nghệ Thông Tin
ĐỒ ÁN ALICE Thạch Sanh tiêu diệt Trằn Tinh.
Sinh viên : Lớp :
MSV :
Hà Nội – 2021
MỤC LỤC
1
Trang 2MỤC LỤC
Lời nói đầu………
Lời cam đoan………
Lời cảm ơn………
CHƯƠNG I TỔNG QUAN VỀ CHƯƠNG TRÌNH ALICE 1.1 Alice là gì? 3
1.2 Nội dung phân cảnh câu chuyện và các nhân vật trong chương trình 4
1.3Các nhân vật trong chương trình: 5 1.4 Một số khung cảnh trong bài 7 CHƯƠNG II 1THIẾT KẾ CHƯƠNG TRÌNH 1 1.1 Phân chia cảnh 9 2 Cảnh 1: Tại Nhà của Thạch Sanh 9 3 Cảnh 2: Tại Nhà của lý Thông 11
4 Cảnh 3: Thạch Sanh di chuyển đến miếu thờ 13
5 Cảnh 4: Tại miếu của Trằn Tinh 15
2 MỘT SỐ ĐOẠN CODE TRONG CHƯƠNG TRÌNH VÀ GIẢI THÍCH 20
CHƯƠNG III KẾT LUẬN 24
CHƯƠNG I
2
Trang 3TỔNG QUAN VỀ CHƯƠNG TRÌNH ALICE
1.GIỚI THIỆU VỀ PHẦN MỀM ALICE
1.1 Alice là gì?
Alice là một ngôn ngữ lập trình giáo dục dựa trên đối tượng (open-source object-based
educational programming language) với một môi trường phát triển tích hợp (IDE) Alice sử dụng môi trường kéo và thả để tạo ra các nhân vật 3D mô phỏng trên máy tính
Chương trình lần đầu tiên được phát triển bởi Đại học Virginia năm 1994, sau đó từ năm 1997 cho tới nay, chương trình này được Đại học Carnegie Mellon, dẫn đầu bởi Randy Pausch nghiên cứu và phát triển
Phiên bản mới nhất hiện nay được phát hành là phiên bản 3.6
Hiện nay, phiên bản Alice 3.6 đã được công bố dưới dạng mã nguồn mở
Alice được tạo ra nhằm giải quyết các vấn đề giảng dạy lập trình trong nhà trường:
• Alice giúp việc dạy các lý thuyết lập trình trở nên dễ dàng hơn mà không cần phải hiểu những ngữ nghĩa phức tạp của ngôn ngữ lập trình, ví dụ như C++,… Người dùng chỉ cần kéo, thả, thay thế các đối tượng được lấy từ thư viện của Alice đưa vào không gian ảo trên máy tính với việc dựa trên các cấu trúc logic để có thể tạo ra các sản phẩm trên máy tính thực sự
• Giao diện trực quan kéo thả của Alice cho phép sinh viên xem "kết quả" của mình ngay lậptức để họ có thể hiểu rõ mối liên hệ giữa các nguyên tắc lập trình và hành động của đối tượng trong phim hay game mà họ tạo ra
• Alice được tạo ra để giúp đỡ những cá nhân ít tiếp xúc với lập trình như học sinh tiểu học, học sinh trung học,… nhằm khuyến khích họ học lập trình một cách dễ dàng Hiện nay, Alice còn được nhiều trường Đại Học, Cao Đẳng trên thế giới đưa vào giảng dạy
1.2 Nội dung phân cảnh câu chuyện và các nhân vật trong chương trình
3
Trang 4Thạch Sanh là một truyện cổ tích kì diệu nhất trong kho tàng truyện cổ dân gian Việt
Nam Hình ảnh chàng dũng sĩ chém Trằn tinh Thạch Sanh là con Trời, được đầu thai vào nhà vợ chồng Lục ông hiền lành, tốt bụng Khác với người trần, Thạch Sanh nằm trong bụng mẹ nhiều năm mới cất tiếng chào đời Yếu tố hoang đường ấy tạo nên chất
kỳ diệu của truyện ca ngợi tính phi thường của Thạch Sanh Vợ chồng Lục ông đã được Ngọc Hoàng thương cho đứa con trai khôi ngô tuấn tú nối dõi tông đường Đó
là niềm tin của dân gian: ở hiền gặp lành Mọi thứ hạnh phúc đều có giá và phải trả giá Đường đời của Thạch Sanh cũng đầy gian truân Phải chăng Ngọc Hoàng đang thử thách Thái tử? Chàng sớm mồ côi cả bố lẫn mẹ, nhà lại nghèo, phải trú lại một túp lều ở dưới gốc đa Chỉ một chiếc búa cùn, chỉ có một nghề kiếm củi độ thân Tuổi thơ chàng bơ vơ, thật đáng thương! Thiên thần đã đến với đứa con mồ côi: dạy võ nghệ, các phép thần thông biến hoá, và trao cho chiếc búa thần Qua các chi tiết hoang đường ấy, nhân dân gửi gắm bao ước mơ: phải có sức mạnh vô địch để sống,
để tồn tại, để chiến thắng!
Phân cảnh Thạch Sanh tiêu diệt Trằn Tinh là hình ảnh sau khi Thông gặp được Thạch Sanh trên núi và Lý Thông đã cùng thạch Sanh kết nghĩa anh em Vốn lòng ngay dạ thẳng, Sanh vui vẻ nhận lời và về ở với Lý Thông
Từ đó, được Thạch Sanh ra sức đỡ đần, mẹ con Lý Thông làm ăn buôn bán ngày càng giàu có Thấm thoắt đã bảy năm qua.
Hồi ấy, ở trong vùng có một con Xà tinh, vốn là quái vật đã thành tinh, chuyên phá phách, nhũng nhiễu nhân dân và bắt người ăn thịt Quan quân triều đình nhiều lần kéo đến vây bắt nhưng không trừ nổi Nhà vua dành bắt dân chúng lập miếu thờ và mỗi năm đem cúng cho nó một mạng người Năm ấy không may đến lượt Lý Thông phải nộp mạng Mẹ con Lý Thông đã lừa Thạch Sanh đi thế mạng thay cho mình.
Sau khi đến miếu Thạch Sanh đã gặp phải Trằn Tinh và đã vung rìu ném chết Trằn Tinh là đem lại yên bình cho dân làng.
1.3Các nhân vật trong chương trình:
Nhân vật chính | Thạch Sanh |
4
Trang 5Nhân vật Phụ | Lý Thông |
Nhân vật Phụ | Mẹ Lý Thông |
5
Trang 6Nhân vật Phụ | Trằn Tinh |
1.4 Một số khung cảnh trong bài
6
Trang 9CHƯƠNG II THIẾT KẾ CHƯƠNG TRÌNH
1. Thiết kế chương trình
1.1 Phân chia cảnh
Câu chuyện này được chia làm 4 phân cảnh
Cảnh 1: Tại Nhà của Thạch Sanh
Thấy Sanh là người có sức vóc khác thường, đoán là người được việc, Lý Thông bèn lân la gạ chuyện rồi ngỏ ý muốn kết nghĩa anh em.
9
Trang 10Vốn lòng ngay dạ thẳng, Sanh vui vẻ nhận lời và về ở với Lý Thông
10
Trang 12Code của cảnh 1
Cảnh 2: Tại Nhà của lý Thông
Lý Thông Bị bắt đi nộp mạng cho Trằn Tinh và đã lừa Thạch Sanh đi thế mạng thay cho mình.
12
Trang 13Thạch Sanh không nghi ngờ gì cả, thuận đi ngay.
13
Trang 14CODE của cảnh 2
Cảnh 3: Thạch Sanh di chuyển đến miếu thờ
14
Trang 15Sau khi tin lời Lý Thông Thạch Sanh đã 1 mạch đến miếu thờ mà ko nghi ngờ gi cả.
15
Trang 17CODE của cảnh 3
Cảnh 4: Tại miếu của Trằn Tinh
Thạch Sanh đến miếu thờ và cảm thấy không khí u ám.
17
Trang 18Một Tiếng động lạ phát ra 1 con Trằn Tinh xuất hiện.
18
Trang 20Trằn Tinh nhe răng định ăn thịt Thạch Sanh, thì Thạch Sanh vội rút ra chiếc rìu thần ném vào đầu Trằn Tinh làm nó choáng váng và lăn ra chết.
20
Trang 22Thạch Sanh đã tiêu diệt được Trằn Tinh và đem lại yên bình cho dân làng.
22
Trang 23CODE của cảnh 4:
23
Trang 241.2Một số đoạn code trong chương trình và giải thích
Ở trong bài, em có sử dụng có số câu lệnh có sẵn như do in order( giúp cái đoạn code thực hiện theothứ tự từ trên xuống và trông được nhóm lại 1 cách khoa học hơn), do together(sử dụng khi cần có 2hoặc nhiều hơn các dối tượng cần hành động của mình), và count(dùng để như vòng lặp for để thực
24
Trang 25hiện lại các hành động cụ thể như nói hoặc như di chuyển của 1 đối tượng thay vì phải sử dụng kéo nhiều lệnh vào hàm main này)
Trong bài để giúp nhân vật và động vật có thể di chuyển 1 cách chân thực em đã tạo ra 1 số đoạn code
Với nhân vật thì ở lớp Biped dành cho đối tượng người em tạo ra hành động động tiên(hanhdong)
và các bước di chuyển cho nó(dichuyen), và 1 biến true false(Which_Leg) để có thể lặp lại các hànhđộng khi ta gọi đến chúng
Ở hàm hanhdong
ở đoạn lệnh hành động đầu tiên này, nhân vật sẽ cho chân phải lên trước và tay trái lên trước với nhịp là 0.1 chân trái và tay phải ngược lại để nó đúng để hành động của 1 người khi di chuyển ngoài đời thực
25
Trang 26Ở đoạn code dichuyen khi được gọi, chắc chắn dành nó sẽ chạy đoạn hàm khi nó được mang giá trị true trước, ở đây các hành động chỉ ngược lại với hanhdong, nhưng khi xong em cho nó mang giá trị false để nó thực hiện đoạn hàm giống hanhdong để hành các hành động được lặp đi lặp lại mà kết thúc cũng lại gắn lại là giá trị true để nó có thể thực hiện đoạn code trên, hình dung dễ hiểu rằng:
- Khi dichuyen được gọi mang giá trị true -> thực hiện đoạn code -> gắn giá trị false -> Khi dichuyen được gọi tiếp mang giá trị false -> thực hiện đoạn code -> gắn lại giá trị true
Cứ liên tục thực hiện vậy cho tới khi không còn được gọi tới thì thôi
26
Trang 27Với camera thì em có 1 cách sử dụng
Ở màn hình Setup Scene
Trong phần Camera Markers -> Add Camera Marker, lúc này em tạo ra 1 đối tượng camera và em
có thể tìm 1 góc yêu thích và chọn vào phần Move camera to the point of view of the Starting Camera View, để đối tượng này di chuyển đến màn hình hiện tại và vào Edit code, chọn
this.Camera sử dụng lệnh moveAndOrientTo và target vào đối tượng camera em vừa tạo trong phần position & orientation để có 1 góc máy quay đẹp nhất và theo ý muốn của chính em
Em có lồng ghép thêm âm thanh bằng hàm playAudio để bài được sống động hơn
Những kiến thức được sử dụng trong bài.
Cách tạo đối tượng và định vị đối tượng
Sử dụng Camera
Lựa chọn phương thức cho đối tượng, chỉnh sửa phương thức phù hợp cho đối tượng
và hoàn chỉnh các phương thức trên đối tượng ( do in order và do together )
Tạo phương thức và tham số cho đối tượng ( phương thức cấp thế giới; world-level method)
Vòng lặp xác định Loop.
27
Trang 28CHƯƠNG III KẾT LUẬN
Qua bộ môn lập trình Alice này, em đã có thể tạo cho riêng mình một sản phẩm thực sự thông qua lập trình, qua đó em cũng có thể dễ dàng hiểu được mối quan hệ giữa các cấu trúc, câu lệnh lập trình và hành vi của các đối tượng thông qua các hình ảnh 3D sinh động Bằng cách này, em đã hiểu
rõ và rút ra được nhiều kinh nghiệm với các câu lệnh, cấu trúc, chương trình (liên quan đến lập trình) mà em sẽ được giảng dạy sau này
Chương trình đã được 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 cô và các bạn đóng góp thêm ý kiến để chương trình ngày một hoàn thiện và có thể ứng dụng rộng rãi hơn
28