Jadi kami menghabiskan banyak waktu di layar pertama ini, tetapi tentu saja untuk alasan
yang baik, tentu saja ini tentang mempelajari React Native dan Anda belajar banyak tentang tata letak, gaya, menghubungkan komponen,
menggunakan banyak komponen dan mengkonfigurasi komponen bawaan sudah dan itu adalah bagian inti dari React Native
dan apa yang memungkinkan Anda untuk membangun aplikasi nyata pada akhirnya. Meskipun demikian, sekarang saatnya untuk terus bekerja pada aplikasi ini
dan sebelum kita menyelami lebih dalam hal-hal
lain yang bisa kita gaya yang akan saya lakukan nanti, saya ingin
memastikan bahwa tombol mulai permainan ini berfungsi karena sekarang kita selalu terjebak pada
ini mulai layar game tapi sekarang, saya akan menambahkan komponen kedua ke folder layar, layar game itu sendiri,
sehingga layar, konten yang ingin saya tampilkan di layar ketika game sedang berjalan dan itu adalah layar
yang bertanggung jawab untuk menunjukkan tebakan komputer dan memungkinkan pengguna memberi tahu komputer apakah itu
benar atau salah, jika nilainya harus lebih rendah atau lebih besar,
jadi itulah tujuannya di sini.
Sekarang seperti yang saya sebutkan sebelumnya, ini adalah komponen biasa,
jadi kita perlu mengimpor React pasti dan kami juga akan mengimpor beberapa barang dari React Native, yang paling penting
tentu saja tampilan dan teksnya, Anda tidak akan pernah salah dengan ini, juga stylesheet tentu
saja, Anda biasanya selalu membutuhkan ini.
Kemudian di sini, kita dapat menambahkan komponen fungsional layar permainan kami, membuat
objek gaya di sini dengan menggunakan Stylesheet. buat seperti itu dan pada akhirnya, ekspor layar permainan kami di sini sebagai default dan singkirkan
ditambah itu di sini di bagian atas.
Jadi sekarang kita memiliki komponen layar permainan yang didefinisikan di sini dan
sekarang mari kita berhenti sejenak dan berpikir tentang apa yang perlu terjadi di sini.
Sekarang pada akhirnya apa yang perlu terjadi adalah bahwa komputer perlu membuat tebakan
dan perlu
membuat tebakan pada awalnya ketika layar ini pertama kali dimuat tetapi kemudian juga setiap kali pengguna pada dasarnya menekan ini
terlalu
rendah atau ini tombol
terlalu tinggi, jadi setiap kali pengguna memberikan petunjuk tentang apakah tebakan itu, ke arah mana angka
sebenarnya tebakan ini bisa dikatakan, setiap kali itu terjadi kami ingin menghasilkan tebakan baru.
Sekarang tebakan itu sendiri harus berupa angka acak dan oleh karena itu, saya akan mulai dengan membuat fungsi baru di luar komponen
fungsional saya sekarang
karena tidak akan menggunakan data apa pun dari sana, jadi itu tidak boleh dibuat kembali pada setiap rendering ulang
komponen hanya untuk menghemat beberapa kinerja, jika
Anda tidak bergantung pada alat peraga atau negara bagian, Anda juga dapat hanya memiliki fungsi yang berada
di luar komponen Anda dan saya akan menamai ini
menghasilkan acak antara karena
itulah fungsi ini akan dilakukan.
Ini adalah fungsi, itu akan menghasilkan angka acak antara minimum dan maksimum
dan yang juga
memungkinkan kita untuk mengecualikan angka-angka tertentu, misalnya angka pertama yang kita hasilkan harus mengecualikan solusi sehingga perangkat,
aplikasi tidak pernah bisa menebak pilihan pengguna pada percobaan pertama.
Sekarang di sini, minimum akan dinormalisasi ke Matematika. ceil minimum, jadi pada dasarnya
memiliki angka integer di sini jika non-integer dimasukkan dan bulatkan ke atas dan max akan di-floored untuk melakukan
hal yang sama tetapi dibulatkan ke bawah. Maka saya akan memiliki nomor acak saya yang saya hasilkan dengan Matematika. acak dan Matematika.
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
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
memberi Anda angka acak antara minimum dan maksimum ini.
Sekarang dengan yang
dihasilkan, saya ingin memeriksa apakah angka acak sama dengan angka yang ingin kita kecualikan, yang tentu saja akan
menjadi kebetulan yang sangat langka tetapi itu bisa terjadi, dalam hal ini saya akan mengembalikan hasil dari menghasilkan acak lain antara panggil di
mana saya hanya meneruskan min, maks, dan mengecualikan yang kami dapatkan, jadi saya hanya akan
mengulang menghasilkan acak antara dan mengembalikan nilai run berulang jika kita ada mendapatkan nilai yang dikecualikan lagi, kita akan
mengulanginya sekali lagi sehingga akhirnya kita Akan sampai di sana dan jika
kita tidak memiliki nomor yang dikecualikan yang seharusnya menjadi kasus dalam kebanyakan kasus, maka saya hanya
akan mengembalikan nomor acak segera.
Jadi ini sekarang fungsi yang menghasilkan kita nomor acak.
Sekarang di sini di layar permainan, saya ingin mengatur beberapa keadaan, jadi saya akan mengimpor hook useState dari React dan menginisialisasi beberapa keadaan di
sini dengan nomor acak karena keadaan yang ingin saya kelola di sini
adalah tebakan komputer, arus tebak dan itu juga
membutuhkan fungsi tebak yang ditetapkan saat ini sehingga kami dapat mengubahnya kapan pun pengguna memberikan
petunjuk baru.
Jadi di sini, kita dapat memanggil menghasilkan acak antara untuk menghasilkan keadaan awal yang akan disimpan dan ini kemudian hanya
akan dianggap sebagai keadaan awal, jadi ketika
komponen ini dibangun kembali dan oleh karena itu menggunakan keadaan dipanggil lagi, kita akan menghasilkan nomor
acak lain lagi tetapi ini kemudian tidak akan mengesampingkan keadaan itu karena sekali keadaan diatur pada awalnya, itu
tidak akan ditimpa lagi dengan menambahkan nilai yang diperoleh di sini.
Ini hanya akan dipertimbangkan oleh Bereaksi jika kita belum memiliki keadaan awal, setelah itu keadaan awal atau diperbarui
ini akan dikelola terlepas dari komponen dan tidak akan ditimpa lagi oleh panggilan ini di sini.
Namun pada awalnya kami perlu melakukan panggilan ini, kami ingin mendapatkan nomor acak antara 1 dan
100, 100 dikecualikan dengan logika yang kami
tulis di sana, jadi itu akan menjadi nomor antara 1 dan 99, 99
yang disertakan dan saya ingin mengecualikan pilihan pengguna.
Saya berharap mendapatkan ini di properti saya di sini,
jadi pilihan pengguna bisa menjadi nama properti yang kami gunakan di sini dan itulah nilai yang ingin saya jalankan karena
itulah solusi
pada akhirnya dan kami tidak akan bisa menebak solusinya segera, itu akan
sedikit tidak adil.