1 00:00:01,004 --> 00:00:05,071 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. 2 00:00:05,071 --> 00:00:08,061 Để minh họa, tôi đã thiết lập khung vẽ trông như một trò chơi cũ đã từng chơi 3 00:00:08,061 --> 00:00:09,348 Foursquare. 4 00:00:09,348 --> 00:00:14,851 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. 5 00:00:14,851 --> 00:00:18,657 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 6 00:00:18,657 --> 00:00:23,490 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ó. 7 00:00:23,490 --> 00:00:29,682 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 đó 8 00:00:29,682 --> 00:00:34,392 Được rồi, vậy hãy bắt đầu bằng cách vẽ hình chữ nhật. 9 00:00:34,392 --> 00:00:39,903 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. 10 00:00:39,903 --> 00:00:43,655 Tốt rồi. Giờ, hãy bọc nó trong khối lệnh IF 11 00:00:45,055 --> 00:00:50,501 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. 12 00:00:50,501 --> 00:00:53,964 Ok. Vậy khi nào ta muốn hiển thị hình chữ nhật đó? 13 00:00:54,027 --> 00:01:00,891 Chà, ta biết ta muốn làm điều đó khi mouseX nhỏ hơn 200 (mouseX < 200) 14 00:01:00,891 --> 00:01:07,072 Nó đã chạy, nhưng sau đó nếu tôi đi xuống đây, nó vẫn đang hiển thị. 15 00:01:07,072 --> 00:01:10,348 Nên tôi cũng cần kiểm tra mouseY nữa. 16 00:01:10,348 --> 00:01:13,269 Chà, làm cách nào để kiểm tra Cả 2 điều đó? 17 00:01:13,269 --> 00:01:14,938 Đó là lý do tại sao ta có toán tử "VÀ" 18 00:01:14,938 --> 00:01:17,848 Vậy, toán tử And được sử dụng khi ta muốn kiểm tra nhiều điều kiện. 19 00:01:17,848 --> 00:01:26,190 Vậy, ta chỉ cần viết && và sau đó viết điều kiện tiếp theo, "mouseY < 200" 20 00:01:26,190 --> 00:01:30,324 Nó không sáng còn ở đây nữa và nó ở đây! YAYY 21 00:01:30,893 --> 00:01:36,185 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. 22 00:01:36,185 --> 00:01:38,682 Được rồi, ta chỉ cần thay đổi một số chỗ. 23 00:01:38,682 --> 00:01:45,394 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. 24 00:01:45,394 --> 00:01:52,962 Vậy, lần này, mouseX cần lớn hơn 200 và mouseY vẫn nhỏ hơn 200 25 00:01:52,962 --> 00:01:56,289 Đẹp quá, nhìn kìa! 26 00:01:56,289 --> 00:02:02,252 Đượ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 27 00:02:02,298 --> 00:02:04,511 ta luôn thông báo "EdgeBall" 28 00:02:04,819 --> 00:02:10,392 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". 29 00:02:10,392 --> 00:02:14,822 Và hãy viết ở giữa và tô chữ màu đỏ. 30 00:02:14,822 --> 00:02:19,775 Vậy, tôi chỉ muốn nó xảy ra nếu chạm vào cạnh. 31 00:02:19,775 --> 00:02:22,511 Vậy, ta sẽ thêm if 32 00:02:22,511 --> 00:02:25,573 Và chuyển đoạn code này vào bên trong nó 33 00:02:27,173 --> 00:02:29,600 Khi nào tôi muốn nó xảy ra? 34 00:02:29,615 --> 00:02:36,936 Ồ, có các cạnh ở giữa, nên ở giữa là khi mouseX == 200 35 00:02:36,936 --> 00:02:40,404 Được rồi để xem. Tôi có nhận được Edge Ball không .. 36 00:02:40,404 --> 00:02:43,817 Chúng tới rồi! EDGE BALL 37 00:02:43,817 --> 00:02:49,403 OK. Hừm. Vậy, nó hoạt động trong đường kẻ giữa này, ở đây 38 00:02:49,403 --> 00:02:52,130 Nhưng tôi cũng muốn nó hoạt động tại đường kẻ này ở đây nữa. 39 00:02:52,130 --> 00:03:02,820 Vậy, trong trường hợp đó, tôi muốn mouseY == 200, vì đó là đường kẻ giữa. 40 00:03:02,820 --> 00:03:08,315 Ok Hãy xem, nó không hoạt động. Chẳng có gì hoạt động cả. 41 00:03:08,315 --> 00:03:11,150 Ow, có 1 thứ chạy được, tại chính giữa tâm điểm. 42 00:03:11,150 --> 00:03:19,034 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. 43 00:03:19,034 --> 00:03:22,104 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 44 00:03:22,104 --> 00:03:24,697 Vậy, ta sử dụng toán tử OR 45 00:03:24,697 --> 00:03:27,640 Vậy, toán tử OR trông như thế này: "||" 46 00:03:27,640 --> 00:03:31,628 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 47 00:03:31,628 --> 00:03:35,763 Bạn phải nhìn nó trên bàn phím, nó thường ở phía trên bên phải 48 00:03:35,763 --> 00:03:39,625 Hy vọng rằng bạn thực sự thấy có nó trên bàn phím. 49 00:03:39,625 --> 00:03:42,724 Ổn rồi? Tuyệt, vậy bây giờ hãy xem nó hoạt động hay không .. 50 00:03:42,724 --> 00:03:46,695 Được rồi, nó hoạt động ở đó, ở đó và sau đó hoạt động ở đó .. đẹp đấy .. 51 00:03:46,695 --> 00:03:49,491 ta có thể tiếp tục thêm nhiều điều kiện ở đây 52 00:03:49,491 --> 00:03:52,601 Như vậy với cả AND và OR, bạn có thể có nhiều thứ như mình muốn 53 00:03:52,601 --> 00:03:55,793 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? 54 00:03:55,793 --> 00:03:59,101 Bởi ta chưa quan tâm tới các cạnh nên 55 00:03:59,101 --> 00:04:04,650 giả sử nếu mouseX nhỏ hơn 3 56 00:04:04,650 --> 00:04:09,132 Vậy, đó phải là ... xem nào, cạnh bé xíu nằm ở đó 57 00:04:09,132 --> 00:04:10,736 Rất tốt 58 00:04:10,736 --> 00:04:14,760 Hoặc mouseX lớn hơn 397 (mouseX> 397) 59 00:04:14,760 --> 00:04:17,767 Xem nào .. đẹp quá! 60 00:04:17,767 --> 00:04:21,534 Vậy, ta tiếp tục áp dụng điều đó với tất cả các cạnh 61 00:04:21,534 --> 00:04:27,696 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. 62 00:04:27,696 --> 00:00:00,000 Và điều đó thật tốt, bởi thế giới quả là nơi phức tạp.