1 00:00:02,200 --> 00:00:06,380 Jadi kami menghabiskan banyak waktu di layar pertama ini, tetapi tentu saja untuk alasan 2 00:00:06,400 --> 00:00:11,950 yang baik, tentu saja ini tentang mempelajari React Native dan Anda belajar banyak tentang tata letak, gaya, menghubungkan komponen, 3 00:00:11,980 --> 00:00:16,810 menggunakan banyak komponen dan mengkonfigurasi komponen bawaan sudah dan itu adalah bagian inti dari React Native 4 00:00:16,810 --> 00:00:23,920 dan apa yang memungkinkan Anda untuk membangun aplikasi nyata pada akhirnya. Meskipun demikian, sekarang saatnya untuk terus bekerja pada aplikasi ini 5 00:00:23,920 --> 00:00:26,840 dan sebelum kita menyelami lebih dalam hal-hal 6 00:00:27,190 --> 00:00:31,630 lain yang bisa kita gaya yang akan saya lakukan nanti, saya ingin 7 00:00:31,840 --> 00:00:36,640 memastikan bahwa tombol mulai permainan ini berfungsi karena sekarang kita selalu terjebak pada 8 00:00:36,640 --> 00:00:43,030 ini mulai layar game tapi sekarang, saya akan menambahkan komponen kedua ke folder layar, layar game itu sendiri, 9 00:00:43,210 --> 00:00:49,390 sehingga layar, konten yang ingin saya tampilkan di layar ketika game sedang berjalan dan itu adalah layar 10 00:00:49,390 --> 00:00:54,940 yang bertanggung jawab untuk menunjukkan tebakan komputer dan memungkinkan pengguna memberi tahu komputer apakah itu 11 00:00:54,940 --> 00:00:58,780 benar atau salah, jika nilainya harus lebih rendah atau lebih besar, 12 00:00:58,930 --> 00:01:01,070 jadi itulah tujuannya di sini. 13 00:01:01,120 --> 00:01:04,660 Sekarang seperti yang saya sebutkan sebelumnya, ini adalah komponen biasa, 14 00:01:04,660 --> 00:01:11,620 jadi kita perlu mengimpor React pasti dan kami juga akan mengimpor beberapa barang dari React Native, yang paling penting 15 00:01:12,010 --> 00:01:17,640 tentu saja tampilan dan teksnya, Anda tidak akan pernah salah dengan ini, juga stylesheet tentu 16 00:01:17,650 --> 00:01:20,260 saja, Anda biasanya selalu membutuhkan ini. 17 00:01:20,590 --> 00:01:28,150 Kemudian di sini, kita dapat menambahkan komponen fungsional layar permainan kami, membuat 18 00:01:28,150 --> 00:01:38,310 objek gaya di sini dengan menggunakan Stylesheet. buat seperti itu dan pada akhirnya, ekspor layar permainan kami di sini sebagai default dan singkirkan 19 00:01:38,310 --> 00:01:40,790 ditambah itu di sini di bagian atas. 20 00:01:40,800 --> 00:01:45,340 Jadi sekarang kita memiliki komponen layar permainan yang didefinisikan di sini dan 21 00:01:45,370 --> 00:01:49,980 sekarang mari kita berhenti sejenak dan berpikir tentang apa yang perlu terjadi di sini. 22 00:01:50,190 --> 00:01:55,620 Sekarang pada akhirnya apa yang perlu terjadi adalah bahwa komputer perlu membuat tebakan 23 00:01:55,620 --> 00:01:56,460 dan perlu 24 00:01:56,520 --> 00:02:04,400 membuat tebakan pada awalnya ketika layar ini pertama kali dimuat tetapi kemudian juga setiap kali pengguna pada dasarnya menekan ini 25 00:02:04,410 --> 00:02:05,230 terlalu 26 00:02:05,310 --> 00:02:07,020 rendah atau ini tombol 27 00:02:07,020 --> 00:02:13,460 terlalu tinggi, jadi setiap kali pengguna memberikan petunjuk tentang apakah tebakan itu, ke arah mana angka 28 00:02:13,490 --> 00:02:18,990 sebenarnya tebakan ini bisa dikatakan, setiap kali itu terjadi kami ingin menghasilkan tebakan baru. 29 00:02:19,080 --> 00:02:27,240 Sekarang tebakan itu sendiri harus berupa angka acak dan oleh karena itu, saya akan mulai dengan membuat fungsi baru di luar komponen 30 00:02:27,360 --> 00:02:28,740 fungsional saya sekarang 31 00:02:28,740 --> 00:02:35,700 karena tidak akan menggunakan data apa pun dari sana, jadi itu tidak boleh dibuat kembali pada setiap rendering ulang 32 00:02:35,700 --> 00:02:38,190 komponen hanya untuk menghemat beberapa kinerja, jika 33 00:02:38,250 --> 00:02:44,820 Anda tidak bergantung pada alat peraga atau negara bagian, Anda juga dapat hanya memiliki fungsi yang berada 34 00:02:44,820 --> 00:02:48,210 di luar komponen Anda dan saya akan menamai ini 35 00:02:51,000 --> 00:02:52,770 menghasilkan acak antara karena 36 00:02:52,770 --> 00:02:54,920 itulah fungsi ini akan dilakukan. 37 00:02:54,930 --> 00:03:00,360 Ini adalah fungsi, itu akan menghasilkan angka acak antara minimum dan maksimum 38 00:03:00,360 --> 00:03:02,010 dan yang juga 39 00:03:02,070 --> 00:03:09,510 memungkinkan kita untuk mengecualikan angka-angka tertentu, misalnya angka pertama yang kita hasilkan harus mengecualikan solusi sehingga perangkat, 40 00:03:09,510 --> 00:03:14,010 aplikasi tidak pernah bisa menebak pilihan pengguna pada percobaan pertama. 41 00:03:14,010 --> 00:03:21,210 Sekarang di sini, minimum akan dinormalisasi ke Matematika. ceil minimum, jadi pada dasarnya 42 00:03:21,210 --> 00:03:31,160 memiliki angka integer di sini jika non-integer dimasukkan dan bulatkan ke atas dan max akan di-floored untuk melakukan 43 00:03:31,160 --> 00:03:45,920 hal yang sama tetapi dibulatkan ke bawah. Maka saya akan memiliki nomor acak saya yang saya hasilkan dengan Matematika. acak dan Matematika. 44 00:03:45,930 --> 00:03:54,470 acak memberi kita angka acak antara 0 dan 1, jadi untuk memiliki angka antara min dan maks, kita harus mengalikannya dengan max - min dan kemudian 45 00:03:54,970 --> 00:04:05,880 pada akhirnya, tambahkan min di sini di sini tetapi juga memastikan bahwa Anda memanggil Matematika. lantai pada hasil seluruh operasi ini di sini dan ini akan 46 00:04:05,880 --> 00:04:10,410 memberi Anda angka acak antara minimum dan maksimum ini. 47 00:04:13,340 --> 00:04:14,620 Sekarang dengan yang 48 00:04:14,630 --> 00:04:20,750 dihasilkan, saya ingin memeriksa apakah angka acak sama dengan angka yang ingin kita kecualikan, yang tentu saja akan 49 00:04:20,750 --> 00:04:28,200 menjadi kebetulan yang sangat langka tetapi itu bisa terjadi, dalam hal ini saya akan mengembalikan hasil dari menghasilkan acak lain antara panggil di 50 00:04:28,200 --> 00:04:33,300 mana saya hanya meneruskan min, maks, dan mengecualikan yang kami dapatkan, jadi saya hanya akan 51 00:04:33,300 --> 00:04:39,440 mengulang menghasilkan acak antara dan mengembalikan nilai run berulang jika kita ada mendapatkan nilai yang dikecualikan lagi, kita akan 52 00:04:39,460 --> 00:04:43,700 mengulanginya sekali lagi sehingga akhirnya kita Akan sampai di sana dan jika 53 00:04:43,920 --> 00:04:49,140 kita tidak memiliki nomor yang dikecualikan yang seharusnya menjadi kasus dalam kebanyakan kasus, maka saya hanya 54 00:04:49,140 --> 00:04:51,030 akan mengembalikan nomor acak segera. 55 00:04:51,030 --> 00:04:55,940 Jadi ini sekarang fungsi yang menghasilkan kita nomor acak. 56 00:04:56,050 --> 00:05:06,070 Sekarang di sini di layar permainan, saya ingin mengatur beberapa keadaan, jadi saya akan mengimpor hook useState dari React dan menginisialisasi beberapa keadaan di 57 00:05:06,700 --> 00:05:12,040 sini dengan nomor acak karena keadaan yang ingin saya kelola di sini 58 00:05:12,040 --> 00:05:15,400 adalah tebakan komputer, arus tebak dan itu juga 59 00:05:15,490 --> 00:05:21,640 membutuhkan fungsi tebak yang ditetapkan saat ini sehingga kami dapat mengubahnya kapan pun pengguna memberikan 60 00:05:21,640 --> 00:05:22,900 petunjuk baru. 61 00:05:22,900 --> 00:05:29,410 Jadi di sini, kita dapat memanggil menghasilkan acak antara untuk menghasilkan keadaan awal yang akan disimpan dan ini kemudian hanya 62 00:05:29,410 --> 00:05:31,990 akan dianggap sebagai keadaan awal, jadi ketika 63 00:05:31,990 --> 00:05:37,540 komponen ini dibangun kembali dan oleh karena itu menggunakan keadaan dipanggil lagi, kita akan menghasilkan nomor 64 00:05:37,540 --> 00:05:43,810 acak lain lagi tetapi ini kemudian tidak akan mengesampingkan keadaan itu karena sekali keadaan diatur pada awalnya, itu 65 00:05:43,810 --> 00:05:47,560 tidak akan ditimpa lagi dengan menambahkan nilai yang diperoleh di sini. 66 00:05:47,570 --> 00:05:54,190 Ini hanya akan dipertimbangkan oleh Bereaksi jika kita belum memiliki keadaan awal, setelah itu keadaan awal atau diperbarui 67 00:05:54,190 --> 00:06:00,400 ini akan dikelola terlepas dari komponen dan tidak akan ditimpa lagi oleh panggilan ini di sini. 68 00:06:00,400 --> 00:06:05,640 Namun pada awalnya kami perlu melakukan panggilan ini, kami ingin mendapatkan nomor acak antara 1 dan 69 00:06:05,650 --> 00:06:08,170 100, 100 dikecualikan dengan logika yang kami 70 00:06:08,200 --> 00:06:12,700 tulis di sana, jadi itu akan menjadi nomor antara 1 dan 99, 99 71 00:06:12,790 --> 00:06:15,580 yang disertakan dan saya ingin mengecualikan pilihan pengguna. 72 00:06:16,210 --> 00:06:19,040 Saya berharap mendapatkan ini di properti saya di sini, 73 00:06:19,150 --> 00:06:25,480 jadi pilihan pengguna bisa menjadi nama properti yang kami gunakan di sini dan itulah nilai yang ingin saya jalankan karena 74 00:06:25,480 --> 00:06:26,350 itulah solusi 75 00:06:26,440 --> 00:06:30,310 pada akhirnya dan kami tidak akan bisa menebak solusinya segera, itu akan 76 00:06:30,310 --> 00:06:31,480 sedikit tidak adil.