1 00:00:00,620 --> 00:00:02,879 Như vậy giờ ta sẽ học cách sử dụng ký tự, 2 00:00:02,879 --> 00:00:05,040 hãy làm mọi thứ trở nên thú vị hơn một chút. 3 00:00:05,040 --> 00:00:06,450 Điều thú vị đầu tiên là giờ ta sẽ 4 00:00:06,450 --> 00:00:08,280 bắt đầu sử dụng từ "string" (chuỗi, sợi). Bạn có thể 5 00:00:08,280 --> 00:00:10,410 nghĩ rằng: String ư? Đó là thứ con mèo hay nghịch ngợm chăng?" 6 00:00:10,410 --> 00:00:12,420 Đối với lập trình viên, "string" lại là một 7 00:00:12,420 --> 00:00:14,549 cái tên đặc biệt mà ta sử dụng cho các bit ký tự. Bạn 8 00:00:14,549 --> 00:00:15,540 có thể nghĩ về nó giống như một chuỗi 9 00:00:15,540 --> 00:00:17,460 ký tự cũng được. Tên của bạn là một 10 00:00:17,460 --> 00:00:18,930 "string", tên trường bạn là một "string" 11 00:00:18,930 --> 00:00:20,820 và tất cả những tin nhắn văn bản bạn từng gửi 12 00:00:20,820 --> 00:00:23,400 cũng là một "string". Về căn bản 13 00:00:23,400 --> 00:00:27,390 chỉ cần hiểu string là những ký tự. Ta đã vẽ 14 00:00:27,390 --> 00:00:29,220 tô màu với các "string" rồi. Ta có thể sử dụng 15 00:00:29,220 --> 00:00:31,590 biến đối với "string" không? Tất nhiên rồi 16 00:00:31,590 --> 00:00:32,850 Cũng chỉ như việc gán một số 17 00:00:32,850 --> 00:00:34,170 cho một biến, ta có thể gán một 18 00:00:34,170 --> 00:00:36,000 "string" cho một biến. Ta chỉ cần viết 19 00:00:36,000 --> 00:00:38,969 kiểu như: "var myName = 20 00:00:38,969 --> 00:00:39,870 (bất cứ cái tên nào của bạn)" 21 00:00:39,870 --> 00:00:42,180 như là "Sophia". Nhớ thêm những dấu nháy kép ("") và 22 00:00:42,180 --> 00:00:44,820 rồi ta đặt biến "myName" 23 00:00:44,820 --> 00:00:46,200 vào chỗ của đoạn ký tự thay vì viết 24 00:00:46,200 --> 00:00:47,520 "Sophia" trực tiếp như cách ta đã làm 25 00:00:47,520 --> 00:00:49,890 trước đây. Và 2 cách này dù trông giống nhau 26 00:00:49,890 --> 00:00:52,590 nhưng thực tế ta lại có thể viết nó 27 00:00:52,590 --> 00:00:54,210 nhiều lần, bạn biết đấy, 1 lần ở đó, 28 00:00:54,210 --> 00:00:55,829 thêm 1 lần nữa, bạn biết đấy, có thể 29 00:00:55,829 --> 00:00:58,289 nó trông khá "nghệ thuật". Và rồi tất cả những gì ta phải làm 30 00:00:58,289 --> 00:00:59,910 là thay đổi một biến này thành 31 00:00:59,910 --> 00:01:02,460 tên của bạn và sau đó tên của bạn 32 00:01:02,460 --> 00:01:05,280 được viết ba lần. Như vậy, chỉ cần lật lại 33 00:01:05,280 --> 00:01:07,650 nếu ta muốn thứ gì điên rồ 34 00:01:07,650 --> 00:01:08,070 một chút, thì sao? 35 00:01:08,070 --> 00:01:09,750 Ta có thể cộng các chuỗi với nhau không nhỉ? 36 00:01:09,750 --> 00:01:11,159 Bạn còn nhớ khi ta cộng 37 00:01:11,159 --> 00:01:13,590 các biến với nhau không? Ta thực sự 38 00:01:13,590 --> 00:01:15,450 có thể làm điều đó. máy tính sẽ chỉ cần 39 00:01:15,450 --> 00:01:17,700 đặt hai chuỗi lại với nhau. 40 00:01:17,700 --> 00:01:19,259 Ví dụ, bạn biết đấy, ta có thể bỏ cái này, 41 00:01:19,259 --> 00:01:21,180 chỉ dùng một lần và sau đó ta 42 00:01:21,180 --> 00:01:23,189 dùng biến thông điệp (message) khác 43 00:01:23,189 --> 00:01:26,220 là tên của tôi cộng với nói một dãy các 44 00:01:26,220 --> 00:01:28,680 dấu chấm than. Và nếu ta đặt 45 00:01:28,680 --> 00:01:30,360 thông điệp vào chuỗi ký tự để tạo biến này 46 00:01:30,360 --> 00:01:33,030 thay vì tên của tôi, ta có thể thấy rằng tất cả những gì 47 00:01:33,030 --> 00:01:34,079 nó làm chỉ là đặt những 48 00:01:34,079 --> 00:01:36,030 dấu chấm than ngay sau tên tôi. 49 00:01:36,030 --> 00:01:39,150 Và ta thậm chí có thể làm nó 50 00:01:39,150 --> 00:01:40,500 thú vị hơn một chút nếu như 51 00:01:40,500 --> 00:01:43,320 muốn viết thông điệp hai lần. 52 00:01:43,320 --> 00:01:45,180 Điều này có vẻ khá hợp lý, bạn biết rằng 53 00:01:45,180 --> 00:01:46,799 thêm chuỗi có nghĩa là đặt 54 00:01:46,799 --> 00:01:48,450 ngay sau một chuỗi khác. 55 00:01:48,450 --> 00:01:50,640 Nhưng bạn có thể nghĩ rằng ta có thể 56 00:01:50,640 --> 00:01:52,110 trở nên thực sự điên rồ không? Và bắt đầu nhân, 57 00:01:52,110 --> 00:01:54,930 chia hoặc trừ các chuỗi? Ta 58 00:01:54,930 --> 00:01:55,530 cũng có thể làm như vậy không? 59 00:01:55,530 --> 00:01:58,290 Không, ta không thể. Với chuỗi ta chỉ có thể 60 00:01:58,290 --> 00:02:00,119 cộng chúng lại mà thôi. Bạn đúng rồi đấy, ta có thể 61 00:02:00,119 --> 00:02:01,350 chia và trừ các biến có giá trị số 62 00:02:01,350 --> 00:02:03,119 nhưng biến có giá trị chuỗi 63 00:02:03,119 --> 00:02:06,180 chỉ cho phép ta cộng. Nhưng hãy tiếp tục tò mò 64 00:02:06,180 --> 00:02:07,740 và hỏi những loại câu như vậy. Đó là 65 00:02:07,740 --> 00:02:09,660 thái độ đúng trong lập trình, bạn 66 00:02:09,660 --> 00:02:11,430 có thể nghĩ xem việc chia một chuỗi 67 00:02:11,430 --> 00:02:13,150 có ý nghĩa gì? 68 00:02:13,150 --> 00:02:15,129 Như vậy ta cũng có thể dùng ảnh động và 69 00:02:15,129 --> 00:02:17,680 tương tác với con trỏ kết hợp cùng chuỗi ký tự. 70 00:02:17,680 --> 00:02:19,540 Ví dụ, ta có thể tạo chuỗi ký tự bằng 71 00:02:19,540 --> 00:02:21,280 con trỏ. Chỉ bằng cách gắn nó vào 72 00:02:21,280 --> 00:02:22,930 một vòng lặp draw như ta đã làm với hình chữ nhật. 73 00:02:22,930 --> 00:02:25,450 Nếu bạn băn khoăn làm nó như thế nào, 74 00:02:25,450 --> 00:02:27,730 ta sẽ chỉ cần "var draw" và rồi gắn chúng lại 75 00:02:27,730 --> 00:02:29,680 chính ở đây. 76 00:02:29,680 --> 00:02:31,750 Điều này có lẽ trông rất quen thuộc, 77 00:02:31,750 --> 00:02:33,939 từ phần "intro to animation" (Mở đầu về ảnh động) và bạn có thể nghĩ 78 00:02:33,939 --> 00:02:35,769 ổn thôi, để tạo chữ bằng trỏ 79 00:02:35,769 --> 00:02:37,480 ta chắc chắn cần sử dụng mouseX và mouseY 80 00:02:37,480 --> 00:02:40,269 và ta có nó ở đó, 81 00:02:40,269 --> 00:02:41,590 ta thực sự vẽ tên của chính mình. 82 00:02:41,590 --> 00:02:44,470 Và tất nhiên nếu muốn ta có thể 83 00:02:44,470 --> 00:02:47,650 dễ dàng đặt hình nền, bạn biết đấy, 84 00:02:47,650 --> 00:02:52,090 màu xanh nhạt xinh đẹp. Và giờ ta có 85 00:02:52,090 --> 00:02:54,010 chữ theo sau 86 00:02:54,010 --> 00:02:55,389 con trỏ giống như những gì 87 00:02:55,389 --> 00:02:58,389 ta thấy với hình chữ nhật. Và bây giờ là 88 00:02:58,389 --> 00:03:00,579 mẹo vặt cuối cùng, hãy dùng ảnh động, 89 00:03:00,579 --> 00:03:02,920 khiến kích cỡ chữ tăng, tăng thêm và tăng thêm nữa. 90 00:03:02,920 --> 00:03:04,629 Ở đây ta đang đặt kích thước văn bản là 30, 91 00:03:04,629 --> 00:03:06,849 như cách ta đã học trong bài về biến, thay vì 92 00:03:06,849 --> 00:03:09,700 dùng 30, ta cũng có thể viết "var howBig 93 00:03:09,700 --> 00:03:12,069 = 30" và dùng biến này 94 00:03:12,069 --> 00:03:15,280 thay vì dùng trực tiếp 30. Như vậy 95 00:03:15,280 --> 00:03:17,319 đó chính xác là điều tương tự và ta 96 00:03:17,319 --> 00:03:18,910 hiển nhiên cần thay đổi thứ gì đó 97 00:03:18,910 --> 00:03:21,579 để tạo ra ảnh động. Ta có thể làm điều đó 98 00:03:21,579 --> 00:03:25,359 bằng cách viết howBig = howBig + 1 99 00:03:25,359 --> 00:03:26,980 nghĩa là nếu bạn còn nhớ, 100 00:03:26,980 --> 00:03:29,530 howBig nhận giá trị, bạn biết trước đó nó có giá trị như thế nào, 101 00:03:29,530 --> 00:03:31,720 +1 để làm cho nó lớn hơn một chút, 102 00:03:31,720 --> 00:03:33,819 và giờ ta chỉ cần chạy lại 103 00:03:33,819 --> 00:03:36,669 chương trình. Và ở đây ta có 104 00:03:36,669 --> 00:03:38,169 khi di chuyển con trỏ kích thước chữ 105 00:03:38,169 --> 00:03:39,579 tăng lên, tăng lên và tăng lên và 106 00:03:39,579 --> 00:03:41,530 tăng mãi lên vì dòng này ngay tại đây. 107 00:03:41,530 --> 00:03:45,069 Và bạn biết đấy, bạn có thể tự nghĩ xem, 108 00:03:45,069 --> 00:03:47,310 ok, làm sao để khiến cho nó to nhanh hơn nữa? 109 00:03:47,310 --> 00:03:50,199 Bây giờ bạn không chỉ bạn biết cách 110 00:03:50,199 --> 00:03:52,000 điều khiển hình vẽ bằng code mà còn có thể 111 00:03:52,000 --> 00:00:00,000 dùng các ký tự bằng code nữa.