Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của...

28
1 THỰC HÀNH NHẬP MÔN CÔNG NGHỆ THÔNG TIN Giảng viên: ThS. Dương Thành Phết TRƢỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN ĐỐI TƢỢNG TRONG ALICE Lab 02: Thời gian: 2 tiết

Transcript of Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của...

Page 1: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

1

THỰC HÀNH

NHẬP MÔN CÔNG NGHỆ THÔNG TIN

Giảng viên: ThS. Dương Thành Phết

TRƢỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH

KHOA CÔNG NGHỆ THÔNG TIN

ĐỐI TƢỢNG TRONG ALICE

Lab 02:

Thời gian: 2 tiết

Page 2: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

2

http://www.thayphet.net

NỘI DUNG

1. Khái niệm về đối tượng

2. Đối tượng trong Alice

3. Điều khiển đối tượng trong Alice

4. Phương thức trong Alice

5. Các loại phương thức

6. Phương thức có tham số

7. Bài tập

Page 3: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

3

http://www.thayphet.net

1. KHÁI NIỆM

Virtual World:

Mô phỏng 1 thế giới ảo tương tự như thế giới của

chúng ta

Nơi chứa tất cả các đối tượng và giúp chúng

tương tác với nhau

Objects (đối tƣợng):

Là thành phần trong virtual world

Được cung cấp sẳn trong thư viện

Gồm có 2 thành phần chính:

Properties: thuộc tính

Methods: phương thức/hành động

Page 4: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

4

http://www.thayphet.net

2. ĐỐI TƢỢNG TRONG ALICE

2.1. Thêm đối tƣợng vào cửa sổ thiết kế:

Trong cửa sổ world, click “Add object”

Chọn nhóm đối tượng chọn đối tượng trong thư viện

Bấm “Done” để hòan tất

Page 5: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

5

http://www.thayphet.net

2. ĐỐI TƢỢNG TRONG ALICE

2.2. Mô tả đối tƣợng:

Một đối tượng sẽ bao gồm các thuộc tính cơ bản sau:

Page 6: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

6

http://www.thayphet.net

2. ĐỐI TƢỢNG TRONG ALICE

2.3. Các hƣớng di chuyển

Lên

Xuống

Phải Trái

Trước

Mỗi đối tượng có thể di chuyển theo 6 hướng: Lên, xuống, trái, phải, phía trước, phía sau.

Lưu ý: Hướng của object chính là vị trí của object trong virtual world không phải hướng của người xem

Page 7: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

7

http://www.thayphet.net

2. ĐỐI TƢỢNG TRONG ALICE

2.4. Tâm của đối tƣợng

Mỗi đối tượng đều có điểm trung

tâm và 3 trục tọa độ

Giao của 3 trục tọa độ là điểm

trung tâm của đối tượng. Điểm

trung tâm sẽ khác nhau với

những đối tượng khác nhau

Đối tượng sẽ xoay quanh điểm

trung tâm và điểm trung tâm sẽ di

chuyển theo đối tượng

Page 8: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

8

http://www.thayphet.net

2. ĐỐI TƢỢNG TRONG ALICE

2.4. Tâm của đối tƣợng(tt)

Điểm trung tâm

Lƣu ý: Tất cả các đối tượng con người đa số đều có

điểm trung tâm ở chân (đôi khi sẽ thay đổi với 1 số đối

tượng đặc biệt)

Điểm trung tâm

Điểm trung tâm

Page 9: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

9

http://www.thayphet.net

2. ĐỐI TƢỢNG TRONG ALICE

2.4. Tâm của đối tƣợng(tt)

3 trục tọa độ tương ứng với 3 màu xanh

lá, đỏ, xanh dương theo hệ thống trục

tọa độ toán học (X, Y, Z)

Đỏ (X): trục để đối tượng di

chuyển từ trái sang phải

Xanh lá (Y): trục để đối tượng di

chuyển từ dưới lên trên

Xanh dƣơng (Z): trục để di

chuyển đối tượng từ trước ra sau

Page 10: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

10

http://www.thayphet.net

3. ĐIỀU KHIỂN ĐỐI TƢỢNG

3.1. Single view

Page 11: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

11

http://www.thayphet.net

3. ĐIỀU KHIỂN ĐỐI TƢỢNG

Khi đặt 1 đối tượng vào virtual world, rất khó để xác định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn như ở cạnh nhau nhưng thật ra lại rất xa nhau.

Alice hỗ trợ chế độ xem ở nhiều góc độ, được gọi là quad view để giải quyết vấn đề đó

3.2. Quad view

Page 12: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

12

http://www.thayphet.net

3. ĐIỀU KHIỂN ĐỐI TƢỢNG

Quad view Cho phép bạn nhìn đối tượng từ nhiều hướng (trên xuống, từ bên phải, và từ phía trước mặt)

Nhìn từ phía trước, đối tượng Alice và các bông hoa thẳng hàng, nhưng thực tế không phải như vậy

Sau khi điều chỉnh

3.2. Quad view(tt)

Page 13: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

13

http://www.thayphet.net

4. PHƢƠNG THỨC TRONG ALICE

Method (phương thức) trong Alice là một (một

chuỗi) các hành động được đối tượng thực hiện

khi có yêu cầu

Một method có thể có (một/nhiều) các tham số

(parameter) truyền vào

Mỗi đối tượng đều có sẳn 1 số method chung cơ

bản (move, turn, roll…). Ngoài ra 1 số đối tượng

còn có các method đặc trưng riêng.

Ví dụ: Đối tượng husky (con chó) có method

WagTail (vẫy đuôi), SitStand (ngồi xuống)…

Đối tượng bird1 (con chim) có method fly (bay)…

4.1 Khái niệm phƣơng thức

Page 14: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

14

http://www.thayphet.net

Để các đối tượng có thể thực hiện 1 chuỗi các

hành động chúng phải được đặt trong các lệnh

điều khiển

Do in order: các method đặt trong lệnh điều khiển

này sẽ thực hiện theo trình tự từ trên xuống (được

thiết lập mặc định trong Alice)

Do together: các method đặt trong lệnh điều khiển

này sẽ thực hiện cùng lúc.

4. PHƢƠNG THỨC TRONG ALICE

4.2 Các lệnh điều khiển trong phƣơng thức

Page 15: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

15

http://www.thayphet.net

4. KHÁI NIỆM METHOD

If/else: Câu lệnh rẽ nhánh

Loop: Vòng lặp dựa theo số lần thực hiện

While: Vòng lặp dựa theo điều kiện

For all to order: Tất cả các hành động tương tự nhau

trong danh sách (list) sẽ được thực hiện theo trình tự

For all together: Tất cả các hành động tương tự

nhau trong danh sách (list) sẽ được thực hiện cùng

lúc

Wait: Chương trình sẽ dừng lại

Print: In một chuỗi kí tự ra màn hình

//: Chú thích – sẽ không thể hiện khi chương trình

chạy

4.2 Các lệnh điều khiển trong phƣơng thức(tt)

Page 16: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

16

http://www.thayphet.net

5. CÁC LOẠI PHƢƠNG THỨC

Là những phương thức có sẳn trong từng đối tượng

Có 2 dạng:

Những phương thức chung cho tất cả các đối

tượng

Những phương thức riêng biệt cho từng đối

tượng

Husky sẽ di chuyển lên 5 mét trong thời gian 2 giây

Method

Giá trị của tham số

5.1. Built In Methodsa

Page 17: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

17

http://www.thayphet.net

5.2. Class Level Method

Là những phương thức được thực hiện bởi từng

đối tượng.

Chúng ta có thể tạo thêm các method cho từng đối

tượng

Build in method là một dạng của Class level

method

VD: Muốn một con rồng (dragon) vỗ cánh thì

method “flapwing” sẽ được tạo ra chỉ cho riêng

đối tượng dragon

5. CÁC LOẠI PHƢƠNG THỨC

Page 18: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

18

http://www.thayphet.net

5.3. World Level Method

Là những phương thức giúp cho các đối tượng

tương tác với nhau

5. CÁC LOẠI PHƢƠNG THỨC

Page 19: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

19

http://www.thayphet.net

6.1. khái niệm về tham số

Parameter (tham số) là biến trong một method

(phương thức)

Khi chúng ta truyền giá trị vào tham số (giá trị đó

sẽ được gọi là đối số), phương thức sẽ nhận giá trị

đó và thực hiện hành động

6. PHƢƠNG THỨC CÓ THAM SỐ

Page 20: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

20

http://www.thayphet.net

6.2. Lý do sử dụng tham số

Giả sử có một kịch bản 1 con thỏ ngang ngược muốn

thách đấu với rùa, chó và khỉ.

Khi viết một hàm thachdau (thách đấu) bao gồm các

hành động:

- Thỏ xoay mặt về phía nhân vật muốn thách đấu

- Thỏ sẽ nhảy lên 2 lần và nói: “Này bạn, tôi muốn

thách đấu với bạn!”

- Trong trường hợp này, thỏ thách đấu với cả 3 con

vật, ta phải viết 3 hàm thachdau.

Điều này sẽ gây lãng phí tài nguyên và công sức

6. PHƢƠNG THỨC CÓ THAM SỐ

Page 21: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

21

http://www.thayphet.net

Trong trường hợp này, ta sẽ sử dụng tham số, và

tham số sẽ đại diện cho 3 con vật mà thỏ thách

đấu

Ta chỉ cần viết 1 method duy nhất, và truyền vào

từng giá trị tương ứng (giá trị trong trường hợp này là

3 con vật rùa, chó và khỉ) giúp tiết kiệm thời gian và

chi phí

6.2. Lý do sử dụng tham số(tt)

6. PHƢƠNG THỨC CÓ THAM SỐ

Page 22: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

22

http://www.thayphet.net

6.3. Cách tạo tham số

Ta tạo 1 method “thachdau” với các hành động như

trong mô tả trên.

Bấm vào nút “Create new parameter”

6. PHƢƠNG THỨC CÓ THAM SỐ

Page 23: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

23

http://www.thayphet.net

Ta sẽ thấy 1 tham số kiểu “Obj” bên cạnh tên của

method

Kéo „obj‟ vào thay thế „turtle‟

6.3. Cách tạo tham số (tt)

6. PHƢƠNG THỨC CÓ THAM SỐ

Page 24: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

24

http://www.thayphet.net

Để sử dụng được method vừa tạo với tham số, ta

kéo thả và chọn đối số phù hợp như với những

method mặc định

6.3. Cách tạo tham số(tt)

6. PHƢƠNG THỨC CÓ THAM SỐ

Page 25: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

25

http://www.thayphet.net

7. BÀI TẬP

Bài tập 1:

Tạo 1 đọan phim hoạt hình ngắn “Kangaroo, mô tả kịch

bản như sau:

Trên nền sa mạc “sand”

Xuất hiện 1 con Kangaroo

Kangaroo di chuyển về trước 5 mét

Sau đó lùi lại 5 mét

Quẩy đuôi 1 vòng đồng thời nói “Crikey”

Page 26: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

26

http://www.thayphet.net

7. BÀI TẬP

Bài tập 2:

Tạo 1 đọan phim hoạt hình ngắn “Con thỏ”, mô tả kịch

bản như sau:

Trên nền đồng cỏ xanh grass

Xuất hiện 1 con Thỏ

Thỏ di chuyển về trước (up) 1 mét

Sau đó lùi lại (down) 1 mét

Quẩy tai 14/ vòng tròn đồng thời nói ““I love Alice”

tốc độ chậm (3s)

Page 27: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

27

http://www.thayphet.net

7. BÀI TẬP

Bài tập 3:

Tạo 2 đối tượng rùa và thỏ

Tạo mới cho rùa phương thức ruadichuyen

Tạo mới cho thỏ phương thức thodichuyen

Cho thỏ và rùa tương tác với nhau:

Nói chuyện với nhau

Rùa và thỏ cùng di chuyển

Page 28: Lab 02: ĐỐI TƢỢNG TRONG ALICE - Thayphet.net · định được vị trí cụ thể của đối tượng. Hai đối tượng nhìn Hai đối tượng nhìn như ở cạnh

28

THỰC HÀNH

NHẬP MÔN CÔNG NGHỆ THÔNG TIN

TRƢỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH

KHOA CÔNG NGHỆ THÔNG TIN

ĐỐI TƢỢNG TRONG ALICE

Lab 02:

HẾT