-
Trong video này, ta sẽ tiếp tục lập trình
vẽ Winston và thêm phần văn bản.
-
Nhiệm vụ của chúng ta là điều chỉnh vị trí
để Winston nằm ngay dưới mỗi dòng chữ
-
mô tả các mốc
trong cuộc đời của bạn ấy.
-
Trên khung kết quả, các Winston
đang nằm lộn xộn vì chúng ta
-
vẫn gán giá trị ngẫu nhiên
cho biến "faceX" và "faceY" trong hàm.
-
Trong khi đó, ta cần lập trình sao cho
Winston được vẽ tại đúng một vị trí
-
và vị trí đó cần được
xác định trong mỗi lần gọi hàm,
-
tương tự như với
hàm "ellipse()" và hàm "rect()".
-
Vậy là ta cần vẽ mỗi Winston tại
bốn vị trí sau trên khung kết quả
-
chứ không phải tại các vị trí
ngẫu nhiên trong mỗi lần gọi hàm.
-
Để làm được điều này, chúng ta cần
xác định các "tham số" cho hàm
-
tại phần định nghĩa hàm
ở đầu chương trình
-
và tại lời gọi hàm ở dưới chương trình
khi ta cho chương trình chạy hàm.
-
Chúng ta truyền cho hàm "drawWinston()"
giá trị của hai biến "faceX" và "faceY"
-
để hàm này sử dụng giá trị hai biến trên
thay vì các giá trị ngẫu nhiên.
-
Ta bắt đầu bằng việc xem xét nên truyền gì
cho các lời gọi hàm ở dưới chương trình.
-
Ta cần đặt mỗi Winston dưới một dòng chữ
nên tham số x và y của mỗi Winston
-
phải gần với giá trị
ta truyền vào các hàm "text()".
-
Ta sẽ thử tọa độ dưới y 10 điểm ảnh.
Như vậy, hàm đầu tiên có tham số 10 và 30,
-
hàm tiếp theo là 200 và 30,
rồi đến 10 và 230, 200 và 230.
-
Tọa độ các hàm "drawWinston" giống với hàm
"text()", nhưng ta thêm 10 vào tham số y
-
để mỗi hình được vẽ
bên dưới phần chữ một chút.
-
Tuy nhiên, các hình vẽ Winston chưa đổi
vị trí vì hàm phía trên chưa đọc được
-
rằng ta đang truyền cho nó tham số, vì vậy
nó vẫn sử dụng các giá trị ngẫu nhiên.
-
Để cho hàm này đọc được
ta đang truyền cho nó tham số,
-
chúng ta phải đưa tên các tham số
vào trong cặp dấu ngoặc đơn này.
-
Vì vậy, chúng ta nhập "faceX"
và "faceY", ngăn cách bởi dấu phẩy.
-
Đây là cách chúng ta gọi các
tham số được truyền vào trong hàm.
-
Bằng cách này, chúng ta
không cần phải viết lại mã nữa.
-
Tuy nhiên, vẫn chưa có gì
thay đổi trên khung kết quả.
-
Nếu nhìn vào phần trên cùng của hàm,
-
ta nhận thấy hai biến "faceX" và "faceY"
vẫn được gán với giá trị ngẫu nhiên.
-
Như vậy, tất cả những gì chúng ta
cần làm là xóa hai dòng mã này đi.
-
Khi này, hai biến "faceX" và "faceY"
đang được truyền vào trong hàm
-
và hàm đang sử dụng các giá trị
trong lời gọi hàm ở dưới chương trình.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-