WEBVTT 00:00:00.620 --> 00:00:02.879 Như vậy giờ ta sẽ học cách sử dụng ký tự, 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. 00:00:05.040 --> 00:00:06.450 Điều thú vị đầu tiên là giờ ta sẽ 00:00:06.450 --> 00:00:08.280 bắt đầu sử dụng từ "string" (chuỗi, sợi). Bạn có thể 00:00:08.280 --> 00:00:10.410 nghĩ rằng: String ư? Đó là thứ con mèo hay nghịch ngợm chăng?" 00:00:10.410 --> 00:00:12.420 Đối với lập trình viên, "string" lại là một 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 00:00:14.549 --> 00:00:15.540 có thể nghĩ về nó giống như một chuỗi 00:00:15.540 --> 00:00:17.460 ký tự cũng được. Tên của bạn là một 00:00:17.460 --> 00:00:18.930 "string", tên trường bạn là một "string" 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 00:00:20.820 --> 00:00:23.400 cũng là một "string". Về căn bản 00:00:23.400 --> 00:00:27.390 chỉ cần hiểu string là những ký tự. Ta đã vẽ 00:00:27.390 --> 00:00:29.220 tô màu với các "string" rồi. Ta có thể sử dụng 00:00:29.220 --> 00:00:31.590 biến đối với "string" không? Tất nhiên rồi 00:00:31.590 --> 00:00:32.850 Cũng chỉ như việc gán một số 00:00:32.850 --> 00:00:34.170 cho một biến, ta có thể gán một 00:00:34.170 --> 00:00:36.000 "string" cho một biến. Ta chỉ cần viết 00:00:36.000 --> 00:00:38.969 kiểu như: "var myName = 00:00:38.969 --> 00:00:39.870 (bất cứ cái tên nào của bạn)" 00:00:39.870 --> 00:00:42.180 như là "Sophia". Nhớ thêm những dấu nháy kép ("") và 00:00:42.180 --> 00:00:44.820 rồi ta đặt biến "myName" 00:00:44.820 --> 00:00:46.200 vào chỗ của đoạn ký tự thay vì viết 00:00:46.200 --> 00:00:47.520 "Sophia" trực tiếp như cách ta đã làm 00:00:47.520 --> 00:00:49.890 trước đây. Và 2 cách này dù trông giống nhau 00:00:49.890 --> 00:00:52.590 nhưng thực tế ta lại có thể viết nó 00:00:52.590 --> 00:00:54.210 nhiều lần, bạn biết đấy, 1 lần ở đó, 00:00:54.210 --> 00:00:55.829 thêm 1 lần nữa, bạn biết đấy, có thể 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 00:00:58.289 --> 00:00:59.910 là thay đổi một biến này thành 00:00:59.910 --> 00:01:02.460 tên của bạn và sau đó tên của bạn 00:01:02.460 --> 00:01:05.280 được viết ba lần. Như vậy, chỉ cần lật lại 00:01:05.280 --> 00:01:07.650 nếu ta muốn thứ gì điên rồ 00:01:07.650 --> 00:01:08.070 một chút, thì sao? 00:01:08.070 --> 00:01:09.750 Ta có thể cộng các chuỗi với nhau không nhỉ? 00:01:09.750 --> 00:01:11.159 Bạn còn nhớ khi ta cộng 00:01:11.159 --> 00:01:13.590 các biến với nhau không? Ta thực sự 00:01:13.590 --> 00:01:15.450 có thể làm điều đó. máy tính sẽ chỉ cần 00:01:15.450 --> 00:01:17.700 đặt hai chuỗi lại với nhau. 00:01:17.700 --> 00:01:19.259 Ví dụ, bạn biết đấy, ta có thể bỏ cái này, 00:01:19.259 --> 00:01:21.180 chỉ dùng một lần và sau đó ta 00:01:21.180 --> 00:01:23.189 dùng biến thông điệp (message) khác 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 00:01:26.220 --> 00:01:28.680 dấu chấm than. Và nếu ta đặt 00:01:28.680 --> 00:01:30.360 thông điệp vào chuỗi ký tự để tạo biến này 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ì 00:01:33.030 --> 00:01:34.079 nó làm chỉ là đặt những 00:01:34.079 --> 00:01:36.030 dấu chấm than ngay sau tên tôi. 00:01:36.030 --> 00:01:39.150 Và ta thậm chí có thể làm nó 00:01:39.150 --> 00:01:40.500 thú vị hơn một chút nếu như 00:01:40.500 --> 00:01:43.320 muốn viết thông điệp hai lần. 00:01:43.320 --> 00:01:45.180 Điều này có vẻ khá hợp lý, bạn biết rằng 00:01:45.180 --> 00:01:46.799 thêm chuỗi có nghĩa là đặt 00:01:46.799 --> 00:01:48.450 ngay sau một chuỗi khác. 00:01:48.450 --> 00:01:50.640 Nhưng bạn có thể nghĩ rằng ta có thể 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, 00:01:52.110 --> 00:01:54.930 chia hoặc trừ các chuỗi? Ta 00:01:54.930 --> 00:01:55.530 cũng có thể làm như vậy không? 00:01:55.530 --> 00:01:58.290 Không, ta không thể. Với chuỗi ta chỉ có thể 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ể 00:02:00.119 --> 00:02:01.350 chia và trừ các biến có giá trị số 00:02:01.350 --> 00:02:03.119 nhưng biến có giá trị chuỗi 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ò 00:02:06.180 --> 00:02:07.740 và hỏi những loại câu như vậy. Đó là 00:02:07.740 --> 00:02:09.660 thái độ đúng trong lập trình, bạn 00:02:09.660 --> 00:02:11.430 có thể nghĩ xem việc chia một chuỗi 00:02:11.430 --> 00:02:13.150 có ý nghĩa gì? 00:02:13.150 --> 00:02:15.129 Như vậy ta cũng có thể dùng ảnh động và 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ự. 00:02:17.680 --> 00:02:19.540 Ví dụ, ta có thể tạo chuỗi ký tự bằng 00:02:19.540 --> 00:02:21.280 con trỏ. Chỉ bằng cách gắn nó vào 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. 00:02:22.930 --> 00:02:25.450 Nếu bạn băn khoăn làm nó như thế nào, 00:02:25.450 --> 00:02:27.730 ta sẽ chỉ cần "var draw" và rồi gắn chúng lại 00:02:27.730 --> 00:02:29.680 chính ở đây. 00:02:29.680 --> 00:02:31.750 Điều này có lẽ trông rất quen thuộc, 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ĩ 00:02:33.939 --> 00:02:35.769 ổn thôi, để tạo chữ bằng trỏ 00:02:35.769 --> 00:02:37.480 ta chắc chắn cần sử dụng mouseX và mouseY 00:02:37.480 --> 00:02:40.269 và ta có nó ở đó, 00:02:40.269 --> 00:02:41.590 ta thực sự vẽ tên của chính mình. 00:02:41.590 --> 00:02:44.470 Và tất nhiên nếu muốn ta có thể 00:02:44.470 --> 00:02:47.650 dễ dàng đặt hình nền, bạn biết đấy, 00:02:47.650 --> 00:02:52.090 màu xanh nhạt xinh đẹp. Và giờ ta có 00:02:52.090 --> 00:02:54.010 chữ theo sau 00:02:54.010 --> 00:02:55.389 con trỏ giống như những gì 00:02:55.389 --> 00:02:58.389 ta thấy với hình chữ nhật. Và bây giờ là 00:02:58.389 --> 00:03:00.579 mẹo vặt cuối cùng, hãy dùng ảnh động, 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. 00:03:02.920 --> 00:03:04.629 Ở đây ta đang đặt kích thước văn bản là 30, 00:03:04.629 --> 00:03:06.849 như cách ta đã học trong bài về biến, thay vì 00:03:06.849 --> 00:03:09.700 dùng 30, ta cũng có thể viết "var howBig 00:03:09.700 --> 00:03:12.069 = 30" và dùng biến này 00:03:12.069 --> 00:03:15.280 thay vì dùng trực tiếp 30. Như vậy 00:03:15.280 --> 00:03:17.319 đó chính xác là điều tương tự và ta 00:03:17.319 --> 00:03:18.910 hiển nhiên cần thay đổi thứ gì đó 00:03:18.910 --> 00:03:21.579 để tạo ra ảnh động. Ta có thể làm điều đó 00:03:21.579 --> 00:03:25.359 bằng cách viết howBig = howBig + 1 00:03:25.359 --> 00:03:26.980 nghĩa là nếu bạn còn nhớ, 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, 00:03:29.530 --> 00:03:31.720 +1 để làm cho nó lớn hơn một chút, 00:03:31.720 --> 00:03:33.819 và giờ ta chỉ cần chạy lại 00:03:33.819 --> 00:03:36.669 chương trình. Và ở đây ta có 00:03:36.669 --> 00:03:38.169 khi di chuyển con trỏ kích thước chữ 00:03:38.169 --> 00:03:39.579 tăng lên, tăng lên và tăng lên và 00:03:39.579 --> 00:03:41.530 tăng mãi lên vì dòng này ngay tại đây. 00:03:41.530 --> 00:03:45.069 Và bạn biết đấy, bạn có thể tự nghĩ xem, 00:03:45.069 --> 00:03:47.310 ok, làm sao để khiến cho nó to nhanh hơn nữa? 00:03:47.310 --> 00:03:50.199 Bây giờ bạn không chỉ bạn biết cách 00:03:50.199 --> 00:03:52.000 điều khiển hình vẽ bằng code mà còn có thể 00:03:52.000 --> 00:00:00.000 dùng các ký tự bằng code nữa.