Rumah Kewangan Peribadi : Menambahkan Kelas ke Program Mudah Tic-Tac-Toe

: Menambahkan Kelas ke Program Mudah Tic-Tac-Toe

Video: The secrets of learning a new language | Lýdia Machová 2024

Video: The secrets of learning a new language | Lýdia Machová 2024
Anonim

Dalam cabaran ini, anda meningkatkan permainan Tic-Tac-Toe anda dengan menambah kelas pengaturcaraan Java, yang membolehkan program itu membuat usaha asas ke arah strategi ketika menentukan komputer bergerak.

Dalam Cabaran Pemrograman Java: Permainan Tic-Tac-Toe Mudah Anda dicabar untuk menulis program untuk memainkan permainan mudah Tic-Tac-Toe. Dalam cabaran ini, anda mengubah suai kod sumber untuk penyelesaian sebelumnya untuk membantu strategi komputer.

Walaupun peraturan permainan adalah sangat mudah, mewujudkan program komputer yang boleh memainkan permainan boleh menjadi rumit. Beberapa butiran yang rumit perlu dimasukkan ke dalam program. Khususnya:

  • Program ini mesti mempunyai cara untuk mewakili status status masing-masing sembilan petak yang membentuk papan Tic-Tac-Toe.

  • Program ini mesti menyediakan cara untuk mendaftarkan pergerakan untuk sama ada pemain, dan mesti memastikan setiap langkah adalah sah (contohnya, pemain tidak dibenarkan bermain dalam persegi yang sudah diduduki oleh X atau O.

  • Program ini mesti dapat menentukan bila mana-mana pemain telah memenangi dengan melihat lapan kombinasi tiga kemungkinan dalam satu baris: Tiga baris, tiga tiang, dan kedua-dua pepenjuru.

  • Program ini juga mesti dapat menentukan kapan permainan adalah seri - iaitu, apabila semua sembilan petak telah dimainkan dan pemain tidak menang.

Pada masa yang sama, program telah menguruskan butiran berinteraksi dengan pengguna dengan meminta pengguna memasuki langkahnya, mengumumkan permainan komputer, memaparkan perwakilan dikemas kini lembaga selepas setiap perlawanan, dan mengisytiharkan pemenang atau mengumumkan cabutan apabila permainan berakhir.

Dalam cabaran ini, anda diminta untuk memisahkan dua elemen program Tic-Tac-Toe ini: bahagian e program yang menguruskan status dan kemajuan permainan dan bahagian program yang mengendalikan interaksi dengan pengguna. Anda akan melakukannya dengan membuat kelas bernama TicTacToeBoard yang menyediakan kaedah yang boleh dipanggil untuk memainkan permainan lengkap. Kemudian, anda diminta menulis program yang menggunakan kelas TicTacToeBoard untuk membolehkan lawan manusia bermain permainan Tic-Tac-Toe terhadap komputer. Dari perspektif pengguna, program ini akan beroperasi secara identik dengan program yang dibuat untuk menyelesaikan cabaran permainan Tic-Tac-Toe yang mudah, dengan satu perbezaan: Untuk versi permainan ini, program ini membuat usaha dasar untuk strategi ketika menentukan bergerak komputer.Komputer tidak berfungsi dengan sempurna, jadi ia masih mudah dikalahkan. Tetapi ia membuat sedikit usaha sekadar bermain di dataran kosong pertama yang dilihatnya.

Jadual berikut menyenaraikan kaedah yang harus dilaksanakan oleh kelas TicTacToeBoard. Ingat, anda perlu membuat dua. fail java untuk menyelesaikan cabaran ini. Yang pertama, TicTacToeBoard. java, melaksanakan kelas TicTacToeBoard. Kedua, dinamakan TicTacToe. java, adalah program yang akan dijalankan pengguna untuk bermain permainan Tic-Tac-Toe terhadap komputer.

Kelas TicTacToeBoard

Pembina
Deskripsi TicTacToeBoard
Mencipta TicTacToeBoard baru dengan semua kotak kosong. Kaedah
Deskripsi void reset ()
Mengeset status setiap persegi ke kosong. int getSquare (Square strings)
Mengembalikan status kuadrat yang ditentukan oleh persegi, yang mesti menjadi salah satu rentetan A1, A2, A3, B1, B2, B3, C1, C2, atau C3. Mengembalikan 0 jika persegi kosong, 1 jika mengandungi X, dan 2 jika ia mengandungi O. Melemparkan IllegalArgumentException jika persegi bukan salah satu daripada nilai yang dibenarkan. void playAt (String square, int player)
Tandakan kotak yang ditentukan (A1, A2, A3, B1, B2, B3, C1, C2, atau C3) untuk pemain yang ditentukan (1 untuk X, 2 untuk O). Melemparkan IllegalArgumentException jika persegi bukan salah satu daripada nilai yang dibenarkan, pemain tidak 1 atau 2, atau persegi tertentu tidak kosong. int isGameOver ()
Menentukan sama ada permainan berakhir. Mengembalikan 0 jika permainan tidak berakhir, 1 jika X telah memenangi permainan, 2 jika O telah memenangi permainan, dan 3 jika permainan itu menarik. Syarat akhir permainan adalah seperti berikut: 1: Jika mana-mana baris, lajur, atau pepenjuru mengandungi semua Xs.

2: Jika mana-mana baris, lajur, atau pepenjuru mengandungi semua Os.

3: Jika tiada kotak kosong dan X atau O tidak menang.

int getNextMove ()

Mengembalikan integer yang mewakili langkah seterusnya untuk lawan komputer. Kaedah ini harus membuat usaha utama untuk memilih langkah yang baik, mengikut strategi berikut: * Jika pusat (persegi B2) kosong, mainkan pusat tengah.

* Jika pusat itu tidak kosong tetapi mana-mana empat sudut (dataran A1, A3, C1, atau C3) kosong, bermain salah satu sudut (tidak kira perkara itu).

* Jika pusat itu tidak kosong dan tiada sudut kosong, mainkan salah satu tepi (dataran A2, B1, B3, atau C2).

String toString ()

Mengembalikan rentetan yang mewakili status semasa papan. Rentetan itu mengandungi aksara barisan baru untuk memaparkan baris, serta garisan pemisah pada garisan konsol yang berasingan, seperti dalam contoh ini: O | | O

- | - | -

| X |

- | - | -

| X |

Jika anda ditipu, anda boleh mencari penyelesaian pada tab Muat Turun dari halaman produk

Java All-in-One Untuk Dummies, Edisi ke-4. Nasib baik!

: Menambahkan Kelas ke Program Mudah Tic-Tac-Toe

Pilihan Editor

Cara Mengeksport Persembahan PowerPoint 2016 anda ke PDF - patung

Cara Mengeksport Persembahan PowerPoint 2016 anda ke PDF - patung

PDF, yang bermaksud Format Dokumen Portable , adalah format yang popular untuk menukar fail. Anda boleh menukar persembahan PowerPoint 2016 ke format PDF dengan mengikuti langkah-langkah berikut: Pilih Fail → Eksport → Buat Dokumen PDF / XPS. Klik butang Buat PDF / XPS. Ini membawa kotak dialog yang ditunjukkan di sini. Membuat dokumen PDF. Navigasi ke lokasi di mana ...

Cara Cari Word dengan Thesaurus PowerPoint 2007 - patung

Cara Cari Word dengan Thesaurus PowerPoint 2007 - patung

Jika kata yang anda perlukan persembahan PowerPoint anda berada di hujung lidah anda tetapi anda tidak boleh mengingatinya, memberikan Thesaurus PowerPoint satu pukulan. Untuk mencari sinonim untuk perkataan pada slaid PowerPoint, mulakan dengan mengklik kanan perkataan dan memilih Sinonim pada menu pintasan. Untuk mencari sinonim yang baik, ...

Bagaimana untuk menarik objek sederhana dalam PowerPoint 2013 - dummies

Bagaimana untuk menarik objek sederhana dalam PowerPoint 2013 - dummies

Untuk menarik objek pada slaid PowerPoint 2013, pertama memanggil tab Insert pada Reben. Kemudian klik butang Bentuk (terletak dalam kumpulan Ilustrasi) untuk mendedahkan galeri bentuk yang boleh anda pilih. Akhir sekali, pilih bentuk yang anda mahu menarik dari galeri Bentuk. Simpan petunjuk ini untuk memastikan ...

Pilihan Editor

Cara Memindahkan Wang Antara Akaun Bank di QuickBooks 2011 - dummies

Cara Memindahkan Wang Antara Akaun Bank di QuickBooks 2011 - dummies

Menu Perbankan dalam QuickBooks 2011 membekalkan arahan yang berguna untuk memindahkan wang antara akaun bank. Hanya pilih Perbankan → Dana Pemindahan, dan QuickBooks memaparkan Dana Pemindahan Antara tetingkap Akaun. Ikuti langkah berikut untuk menggunakan Dana Pemindahan Antara tetingkap Akaun: Gunakan medan Tarikh untuk mengenal pasti tarikh pemindahan. Anda boleh memasukkan tarikh dalam ...

Bagaimana Membekalkan Nombor-nombor yang Hilang untuk Muktamadkan Carta Akaun dalam QuickBooks 2016

Bagaimana Membekalkan Nombor-nombor yang Hilang untuk Muktamadkan Carta Akaun dalam QuickBooks 2016

Tugas terakhir anda untuk memuktamadkan Carta Akaun adalah memasukkan jumlah baki percubaan ke dalam QuickBooks 2016. Untuk melaksanakan tugas ini, anda perlu mempunyai baki percubaan yang disediakan pada tarikh penukaran. Ikuti langkah berikut: Pilih Entri Syarikat → Buat Entri Jurnal Umum atau Akauntan → Buat Entri Jurnal Umum. Memaparkan QuickBooks ...

Cara untuk Mengirim Arahan Perbankan Elektronik dengan QuickBooks 2015 - patung

Cara untuk Mengirim Arahan Perbankan Elektronik dengan QuickBooks 2015 - patung

Anda boleh melakukan semua perbankan elektronik anda dengan QuickBooks. Selepas anda menerangkan pembayaran dalam talian dan pemindahan akaun yang anda mahu membuat QuickBooks, anda menghantar maklumat tersebut ke bank. Untuk berbuat demikian, ikuti langkah berikut:

Pilihan Editor

Menambahkan Carta Excel ke Dokumen Word 2007 - dummies

Menambahkan Carta Excel ke Dokumen Word 2007 - dummies

Apabila anda memasukkan carta dalam Word, Excel dimulakan secara automatik, dan data yang anda carta diletakkan dalam buku kerja Excel. Bagaimanapun, buku kerja Excel itu bukan? t disimpan sebagai dokumen berasingan. Sebaliknya, carta dan lembaran kerja buku kerja disimpan di dalam dokumen Word. Prosedur berikut menunjukkan bagaimana untuk memasukkan carta ...

Mengubah Format Seksyen dalam Dokumen Word 2007 - dummies

Mengubah Format Seksyen dalam Dokumen Word 2007 - dummies

Satu bahagian dalam Word 2007 adalah sebahagian dokumen yang mengandungi pemformatan halaman sendiri. Dengan bahagian, anda boleh mengarahkan arahan pemformatan halaman untuk hanya mempengaruhi seksyen dan bukannya merangkumi keseluruhan dokumen. Dengan setiap bahagian berasingan dari yang lain, dokumen boleh mempunyai pelbagai format. Dalam angka pertama ini, dokumen tersebut mempunyai ...