-
Giờ hãy nói về các điều kiện phức tạp hơn mà ta có thể kiểm tra trong chương trình.
-
Để minh họa, tôi đã thiết lập khung vẽ trông như một trò chơi cũ đã từng chơi
-
Foursquare.
-
Có bốn hình vuông (nó có một cái tên hay) và bạn đứng trong một hình vuông rồi đưa bóng của bạn vào trong các hình vuông khác.
-
Vậy, ngay bây giờ tôi sẽ vẽ một hình elip tại vị trí con trỏ, như vậy nó giống như một quả bóng
-
Những gì tôi muốn làm là làm nổi bật hình vuông mà quả bóng đang ở, bằng cách vẽ một hình chữ nhật màu trắng trên nó.
-
Tôi biết mình cần một mệnh đề IF để làm điều đó, bởi tôi chỉ muốn làm điều đó mỗi khi vượt qua hình chữ nhật đó
-
Được rồi, vậy hãy bắt đầu bằng cách vẽ hình chữ nhật.
-
Tôi chỉ cần copy trực tiếp từ đó, nhưng tô cho nó một màu khác, màu trắng chẳng hạn.
-
Tốt rồi. Giờ, hãy bọc nó trong khối lệnh IF
-
Bạn thấy đấy, nó tự động điền dấu ngoặc nhọn, nên ta phải di chuyển vào bên trong.
-
Ok. Vậy khi nào ta muốn hiển thị hình chữ nhật đó?
-
Chà, ta biết ta muốn làm điều đó khi mouseX nhỏ hơn 200 (mouseX < 200)
-
Nó đã chạy, nhưng sau đó nếu tôi đi xuống đây, nó vẫn đang hiển thị.
-
Nên tôi cũng cần kiểm tra mouseY nữa.
-
Chà, làm cách nào để kiểm tra Cả 2 điều đó?
-
Đó là lý do tại sao ta có toán tử "VÀ"
-
Vậy, toán tử And được sử dụng khi ta muốn kiểm tra nhiều điều kiện.
-
Vậy, ta chỉ cần viết && và sau đó viết điều kiện tiếp theo, "mouseY < 200"
-
Nó không sáng còn ở đây nữa và nó ở đây! YAYY
-
Hãy thực hiện với hình vuông tiếp theo, chỉ để chứng minh rằng nó hoạt động.
-
Được rồi, ta chỉ cần thay đổi một số chỗ.
-
Thay vào đó hãy lấy hình chữ nhật này, và rõ ràng cần thay đổi điều kiện để nó không sáng lên nữa.
-
Vậy, lần này, mouseX cần lớn hơn 200 và mouseY vẫn nhỏ hơn 200
-
Đẹp quá, nhìn kìa!
-
Được rồi, bây giờ, trong Foursquare, bất cứ khi nào bóng chạm vào các cạnh, bạn biết đấy, những đường này nằm ở giữa và các góc
-
ta luôn thông báo "EdgeBall"
-
Vậy, tôi cũng muốn làm điều đó ở đây. Hãy bắt đầu bằng cách viết "EDGE BALLL".
-
Và hãy viết ở giữa và tô chữ màu đỏ.
-
Vậy, tôi chỉ muốn nó xảy ra nếu chạm vào cạnh.
-
Vậy, ta sẽ thêm if
-
Và chuyển đoạn code này vào bên trong nó
-
Khi nào tôi muốn nó xảy ra?
-
Ồ, có các cạnh ở giữa, nên ở giữa là khi mouseX == 200
-
Được rồi để xem. Tôi có nhận được Edge Ball không ..
-
Chúng tới rồi! EDGE BALL
-
OK. Hừm. Vậy, nó hoạt động trong đường kẻ giữa này, ở đây
-
Nhưng tôi cũng muốn nó hoạt động tại đường kẻ này ở đây nữa.
-
Vậy, trong trường hợp đó, tôi muốn mouseY == 200, vì đó là đường kẻ giữa.
-
Ok Hãy xem, nó không hoạt động. Chẳng có gì hoạt động cả.
-
Ow, có 1 thứ chạy được, tại chính giữa tâm điểm.
-
Vâng, đó là bởi ta đã sử dụng toán tử VÀ, vì vậy nó sẽ chỉ thực hiện nếu cả hai điều kiện này là đúng, và nó sẽ chỉ xảy ra ở tâm điểm.
-
Vậy, những gì tôi thực sự muốn nói là, EITHER (HOẶC) một trong những điều này đúng
-
Vậy, ta sử dụng toán tử OR
-
Vậy, toán tử OR trông như thế này: "||"
-
Ta gọi chúng là ký tự sổ dọc (pipe symbols), và có lẽ bạn chưa bao giờ sử dụng chúng
-
Bạn phải nhìn nó trên bàn phím, nó thường ở phía trên bên phải
-
Hy vọng rằng bạn thực sự thấy có nó trên bàn phím.
-
Ổn rồi? Tuyệt, vậy bây giờ hãy xem nó hoạt động hay không ..
-
Được rồi, nó hoạt động ở đó, ở đó và sau đó hoạt động ở đó .. đẹp đấy ..
-
ta có thể tiếp tục thêm nhiều điều kiện ở đây
-
Như vậy với cả AND và OR, bạn có thể có nhiều thứ như mình muốn
-
Nếu cần kiểm tra 60 điều kiện khác nhau, ta hoàn toàn có thể làm điều đó, phải không?
-
Bởi ta chưa quan tâm tới các cạnh nên
-
giả sử nếu mouseX nhỏ hơn 3
-
Vậy, đó phải là ... xem nào, cạnh bé xíu nằm ở đó
-
Rất tốt
-
Hoặc mouseX lớn hơn 397 (mouseX> 397)
-
Xem nào .. đẹp quá!
-
Vậy, ta tiếp tục áp dụng điều đó với tất cả các cạnh
-
Như vậy, vâng! Với AND (&&) và OR (||) giờ bạn có thể thấy cách ta xây dựng các điều kiện phức tạp hơn nhiều trong các chương trìnhh.
-
Và điều đó thật tốt, bởi thế giới quả là nơi phức tạp.