Rumah Keuangan Pribadi Java Programming Challenge: Menambahkan Kelas ke Program Tic-Tac-Toe yang Sederhana

Java Programming Challenge: Menambahkan Kelas ke Program Tic-Tac-Toe yang Sederhana

Video: Coding Challenge #124: Flocking Simulation 2024

Video: Coding Challenge #124: Flocking Simulation 2024
Anonim

Dalam tantangan ini, Anda memperbaiki permainan Tic-Tac-Toe Anda dengan menambahkan kelas pemrograman Java, yang memungkinkan program tersebut melakukan upaya yang tidak sempurna menuju strategi saat menentukan komputer. bergerak.

Dalam Tantangan Pemrograman Java: Game Tic-Tac-Toe yang Sederhana Anda ditantang untuk menulis sebuah program untuk memainkan permainan sederhana Tic-Tac-Toe. Dalam tantangan ini, Anda memodifikasi kode sumber untuk solusi Anda sebelumnya untuk membantu pengaturan strategi komputer.

Program harus memiliki cara untuk mewakili secara internal status masing-masing dari sembilan kotak yang membentuk papan Tic-Tac-Toe.

  • Program ini harus menyediakan cara untuk mendaftarkan pemindahan pemain, dan harus memastikan bahwa setiap gerakan itu valid (misalnya, pemain tidak diperbolehkan bermain di lapangan yang sudah ditempati oleh X atau O.

  • Program harus dapat menentukan kapan pemain telah menang dengan melihat ke delapan dari kombinasi tiga baris yang mungkin: Tiga baris, tiga kolom, dan dua diagonal.
  • Program ini juga harus dapat menentukan kapan permainan itu imbang - yaitu, ketika semua sembilan kotak telah dimainkan dan tidak ada pemain yang menang.

  • Pada saat bersamaan, program harus mengelola rincian interaksi dengan pengguna dengan meminta pengguna untuk memasukkan langkahnya, mengumumkan permainan komputer, menampilkan perwakilan dewan yang diperbarui setelah setiap permainan, dan mengumumkan pemenang atau mengumumkan hasil imbang saat pertandingan usai..

Dalam tantangan ini, Anda diminta untuk memisahkan kedua unsur program Tic-Tac-Toe ini: bagian dari e program yang mengelola status dan kemajuan permainan dan bagian dari program yang menangani interaksi dengan pengguna. Anda akan melakukannya dengan membuat kelas bernama TicTacToeBoard yang menyediakan metode yang bisa dipanggil untuk memainkan game yang lengkap. Kemudian, Anda diminta untuk menulis sebuah program yang menggunakan kelas TicTacToeBoard untuk memungkinkan lawan manusia memainkan permainan Tic-Tac-Toe melawan komputer. Dari perspektif pengguna, program ini akan beroperasi secara identik dengan program yang dibuat untuk mengatasi tantangan permainan Tic-Tac-Toe yang sederhana, dengan satu perbedaan: Untuk versi permainan ini, program ini membuat usaha yang tidak tepat menuju strategi saat menentukan gerakan komputer.Komputer tidak bermain dengan sempurna, jadi masih mudah dipadamkan. Tapi itu membuat beberapa usaha di luar hanya bermain di alun-alun kosong pertama yang dilihatnya.

Tabel berikut mencantumkan metode yang harus diterapkan oleh kelas TicTacToeBoard. Ingat, Anda perlu membuat dua. file java untuk mengatasi tantangan ini. Yang pertama, TicTacToeBoard. java, menerapkan kelas TicTacToeBoard. Yang kedua, bernama hanya TicTacToe. java, adalah program yang akan dijalankan pengguna untuk bermain game Tic-Tac-Toe melawan komputer.

Kelas TicTacToeBoard

Konstruktor

Deskripsi
TicTacToeBoard Membuat TicTacToeBoard baru dengan semua kotak kosong.
Metode Deskripsi
void reset () Menyetel ulang status setiap kotak menjadi kosong.
int getSquare (String square) Mengembalikan status kuadrat yang ditentukan oleh kuadrat, yang harus merupakan salah satu senar A1, A2, A3, B1, B2, B3, C1, C2, atau C3. Mengembalikan 0 jika kotak kosong, 1 jika berisi X, dan 2 jika berisi O. Throws IllegalArgumentException jika kotak bukan merupakan salah satu nilai yang diijinkan. Menandai kotak yang ditentukan (A1, A2, A3, B1, B2, B3, C1, C2, atau C3) untuk pemain yang ditentukan (1 untuk X, 2 untuk HAI). Melempar IllegalArgumentException jika kotak bukan salah satu nilai yang diijinkan, pemain tidak 1 atau 2, atau kotak yang ditentukan tidak kosong.
int isGameOver () Menentukan apakah permainan telah selesai. Mengembalikan 0 jika permainan belum berakhir, 1 jika X telah memenangkan pertandingan, 2 jika O telah memenangkan pertandingan, dan 3 jika permainan itu imbang. Kondisi akhir permainan adalah sebagai berikut:
1: Jika ada baris, kolom, atau diagonal berisi semua Xs. 2: Jika ada baris, kolom, atau diagonal berisi semua Os.
3: Jika tidak ada kotak kosong dan X maupun O tidak pernah menang. int getNextMove ()

Mengembalikan bilangan bulat yang mewakili langkah selanjutnya untuk lawan komputer. Metode ini harus membuat usaha yang tidak tepat untuk memilih langkah yang baik, sesuai dengan strategi berikut:

* Jika pusat (B2 persegi) kosong, mainkan kotak tengah.

Jika pusatnya tidak kosong, namun ada empat sudutnya (kotak A1, A3, C1, atau C3) kosong, putar salah satu sudutnya (tidak masalah).

* Jika bagian tengahnya tidak kosong dan tidak ada sudut yang kosong, putar salah satu ujungnya (kotak A2, B1, B3, atau C2). String toString ()

Mengembalikan string yang mewakili status papan saat ini. String mencakup karakter baris baru untuk menampilkan baris, serta garis pemisah pada garis konsol terpisah, seperti pada contoh ini:

O | | O

- | - | -

| X | - | - | -

| X |

Jika Anda bingung, Anda dapat menemukan solusinya di tab Unduhan halaman produk

Java All-in-One For Dummies,

4th Edition.

semoga berhasil!

Java Programming Challenge: Menambahkan Kelas ke Program Tic-Tac-Toe yang Sederhana

Pilihan Editor

Memahami G-Spot - dummies

Memahami G-Spot - dummies

G-spot dilaporkan merupakan tempat di vagina yang tampaknya bisa memberi wanita orgasme tanpa stimulasi klitoris. Bagaimana menemukan G-spot (dan apa yang akan dilakukannya untuk kehidupan seks mereka) telah menjadi tujuan bagi banyak wanita dan pasangan seks mereka. G-spot ini dinamai ginekolog Ernest Grafenberg yang mengaku telah menemukan ...

Gunakan Foreplay untuk Mengatur Mood sepanjang hari - garpu

Gunakan Foreplay untuk Mengatur Mood sepanjang hari - garpu

Foreplay mungkin salah satu yang paling disalahpahami kata-kata dalam kosakata seksual. Bahkan, ketika beberapa pria mendengar kata foreplay, mereka masih menganggap golf bukan seks. Tapi perlahan dan pasti, populasi laki-laki belajar bahwa foreplay sama pentingnya dengan seks yang baik seperti menggunakan besi 9 adalah golf yang bagus. ...

Ragam Varietas untuk Memperbaiki Kehidupan Seks Anda - variasi dummies

Ragam Varietas untuk Memperbaiki Kehidupan Seks Anda - variasi dummies

Membuat hidup lebih menarik. Jika Anda selalu pergi ke restoran yang sama, pengulangan itu bisa jadi membosankan, dan kebosanan tidak membantu pembakaran api romantis itu tetap menyala. Dengan mencoba tempat baru, Anda bisa mencicipi makanan baru dan suasana baru. Pengalaman akan memberi Anda hal-hal baru untuk dibicarakan, bahkan jika ...

Pilihan Editor

Cara menulis cek di QuickBooks 2010 - dummies

Cara menulis cek di QuickBooks 2010 - dummies

QuickBooks 2010 mencakup perintah dan jendela khusus untuk tujuan merekam dan mungkin mencetak cek. Anda dapat menulis cek di dalam QuickBooks, merekam informasi penarikan di akun yang sesuai.

Job Reporting Biaya di QuickBooks 2012 - dummies

Job Reporting Biaya di QuickBooks 2012 - dummies

Jika Anda memilih Reports- Jobs, Time & Mileage command, QuickBooks 2012 menampilkan submenu hampir dua lusin laporan berbeda yang memasok informasi biaya kerja. Judul laporannya cukup jelas. Beberapa laporan memberikan profitabilitas kerja, seperti laporan Ringkasan Profitabilitas Ayub. Beberapa laporan mengidentifikasi perkiraan yang terkait dengan pekerjaan tertentu. Laporan lain ...

Job Cost Reporting in QuickBooks 2015 - dummies

Job Cost Reporting in QuickBooks 2015 - dummies

Akuntansi mungkin bekerja sedikit berbeda ketika perusahaan mengatur pekerjaannya ke dalam proyek atau pekerjaan. Dalam beberapa situasi, perusahaan perlu melacak pendapatan dan pengeluaran - tidak hanya melalui bagan akun standar, tetapi juga oleh pekerjaan atau proyek. Untungnya, QuickBooks membuat penetapan biaya kerja, atau biaya proyek, sangat mudah. Jika Anda ...

Pilihan Editor

Kantor 2011 untuk Mac: Berbagi Presentasi PowerPoint Anda - dummies

Kantor 2011 untuk Mac: Berbagi Presentasi PowerPoint Anda - dummies

Anda dapat membagikan presentasi yang Anda bangun PowerPoint 2011 untuk Mac dengan berbagai cara. Masing-masing yang terbaik untuk keadaan dan skenario tertentu. Kenali anggota audiens Anda dan kombinasikan pengetahuan itu dengan kebutuhan Anda untuk memilih metode distribusi yang sesuai. Mendistribusikan dalam format PowerPoint Microsoft Office adalah salah satu aplikasi terinstal paling luas ...

Buka PowerPoint Presentation Gallery di Office 2011 untuk Mac - dummies

Buka PowerPoint Presentation Gallery di Office 2011 untuk Mac - dummies

Perilaku default untuk membuka PowerPoint 2011 untuk Mac adalah menampilkan opsi All Themes dari PowerPoint Presentation Gallery. Anda juga bisa menampilkan Galeri Presentasi ini dengan memilih File → New dari Template atau dengan menekan Shift-Command-P. Dua tema pertama dalam kategori Semua Template adalah Putih dan Hitam, tema yang Anda gunakan untuk ...

Merencanakan presentasi PowerPoint Anda di Office 2008 untuk perencanaan Mac - dummies

Merencanakan presentasi PowerPoint Anda di Office 2008 untuk perencanaan Mac - dummies

Dapat berjalan jauh menuju pembuatan Office 2008 Anda untuk slide Mac PowerPoint lebih baik lagi. Meski membuat presentasi PowerPoint tidaklah sulit, menciptakan yang bagus, yang mudah diingat butuh pemikiran dan perencanaan. Pertimbangkan saran berikut sebelum mulai mengerjakan presentasi slide show PowerPoint Anda. Gunakan aturan 10/20/30 Berikut adalah beberapa saran PowerPoint yang bagus dari ...