Rumah Kewangan Peribadi : Tambah GUI ke Program Tic-Tac-Toe

: Tambah GUI ke Program Tic-Tac-Toe

Video: Java Tutorial | GUI | Getting elements on JComboBox to be viewable via ItemListener 2024

Video: Java Tutorial | GUI | Getting elements on JComboBox to be viewable via ItemListener 2024
Anonim

Dalam Cabaran Pemrograman Java: Permainan Mudah Tic-Tac-Toe anda dicabar untuk menulis program berasaskan konsol yang memainkan permainan mudah Tic-Tac-Toe. Cabaran pengaturcaraan Java di sini adalah menggunakan Swing untuk menambah Antara Muka Pengguna Grafis (GUI) ke program ini. GUI sepadan dengan yang ditunjukkan di sini.

antara muka pengguna untuk program Tic-Tac-Toe.

Permainan bermain adalah mudah. Pemain manusia memainkan dahulu dengan mengklik mana-mana kotak itu. Alun-alun yang diklik oleh manusia memaparkan X besar. Selepas bermain manusia, program menentukan jika manusia telah memenangi atau memaksa cabutan. Jika ya, mesej dipaparkan, papan ditetapkan semula, dan permainan baru bermula. Jika tidak, komputer memilih langkah dan tandakan segiempatnya dengan O.

Program kemudian menentukan jika komputer telah memenangi permainan. Jika ya, program itu memaparkan mesej, menetapkan semula papan, dan memulakan permainan baru. Jika tidak, pemain manusia bermain semula. Ini berterusan sehingga satu pemain menang atau semua petak dipenuhi.

Program anda harus menggunakan kelas TicTacToeToBoard yang sama yang anda buat untuk Cabaran Pemrograman Java: Menambahkan Kelas ke Program Tic-Tac-Toe Mudah. Dalam erti kata lain, ia mesti melaksanakan kaedah yang sama. Untuk kemudahan anda, kaedah ini diulang dalam jadual berikut.

Kelas TicTacToeBoard
Pembina Deskripsi
TicTacToeBoard Mencipta TicTacToeBoard baru dengan semua kotak kosong.
Kaedah Deskripsi
void reset () Mengeset status setiap persegi ke kosong.
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 permainan yang berakhir adalah seperti berikut:

1: Jika mana-mana baris, lajur, atau pepenjuru mengandungi semua X.

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

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 merangkumi aksara barisan baru untuk memaparkan baris serta garisan pemisah pada garisan konsol berasingan, seperti dalam contoh ini:

O | | O

- | - | -

| X |

- | - | -

| X |

Anda akan mencari penyelesaian untuk cabaran ini pada tab Muat Turun dari halaman produk Java All-in-One Untuk Dummies, Edisi ke-4.

Nasib baik!

: Tambah GUI ke Program Tic-Tac-Toe

Pilihan Editor

Menyesuaikan Invois QuickBooks 2014 dengan Alat Pereka Layout - dummies

Menyesuaikan Invois QuickBooks 2014 dengan Alat Pereka Layout - dummies

Mungkin anda telah menggunakan QuickBooks 2014's Basic Kotak dialog penyesuaian untuk membuat beberapa perubahan pada penampilan invois anda, dan anda belum berpuas hati. Mungkin anda telah melebih-lebihkan batu dan mengamati dengan kotak dialog Penyesuaian Tambahan untuk membuat perubahan selanjutnya, dan mungkin juga yang tidak meninggalkan anda senang dengan rupa invois anda. ...

Nisbah Ekuiti hutang dalam QuickBooks 2012 - dummies

Nisbah Ekuiti hutang dalam QuickBooks 2012 - dummies

Nisbah ekuiti hutang adalah salah satu nisbah leverage yang anda boleh gunakan dalam QuickBooks 2012. Nisbah ekuiti hutang membandingkan hutang jangka panjang syarikat dengan ekuiti pemegang saham atau ekuiti pemilik. Pada asasnya, nisbah ekuiti hutang menyatakan hutang jangka panjang syarikat sebagai peratusan ekuiti pemiliknya. Ekuiti pemegang saham sinonim dengan pemilik ...

Nisbah Ekuiti dalam QuickBooks 2014 - dummies

Nisbah Ekuiti dalam QuickBooks 2014 - dummies

Anda boleh mengesan nisbah ekuiti hutang anda dalam QuickBooks. Nisbah ekuiti hutang membandingkan hutang jangka panjang firma dengan ekuiti pemegang saham atau ekuiti pemilik. Pada asasnya, nisbah ekuiti hutang menyatakan hutang jangka panjang syarikat sebagai peratusan ekuiti pemiliknya. Ekuiti pemegang saham adalah sinonim dengan ekuiti pemilik dan, dalam kes ...

Pilihan Editor

Menambah Kursus ke Profil LinkedIn anda - patung

Menambah Kursus ke Profil LinkedIn anda - patung

Jika anda mengambil kursus satu kali yang tidak menyampaikan sijil atau sebahagian daripada program ijazah yang lebih besar, bahagian Kursus LinkedIn adalah untuk anda. Di samping itu, semakin banyak pelajar menyertai LinkedIn, menyedari peluang besar untuk mencari rangkaian dan pekerjaan. Bahagian Kursus adalah di mana anda menyaksikan kursus terkini ...

10 BerkaitanIn Profil Do dan Larangan - dummies

10 BerkaitanIn Profil Do dan Larangan - dummies

Profil LinkedIn anda adalah identiti digital anda. Dari semua profil media sosial di luar sana, profil LinkedIn adalah yang paling mendalam dan memberikan gambaran menyeluruh anda sebagai seorang profesional. Apabila orang mencari nama anda dalam enjin carian, profil LinkedIn anda sering dikembalikan tinggi dalam hasil carian. Apabila ia datang ...

10 LinkedIn Do dan Larangan - dummies

10 LinkedIn Do dan Larangan - dummies

Rangkaian sosial memerlukan banyak kerja, masa dan usaha . Berikut adalah sepuluh perkara penting dan tidak perlu untuk membantu anda membina hubungan LinkedIn dan mendapatkan nilai yang paling banyak daripada masa anda. Pastikan profil anda lengkap dan terkini Walaupun LinkedIn mempunyai banyak ciri, profil anda masih merupakan salah satu sebab yang paling menarik ...

Pilihan Editor

Percetakan Kebenaran Pengguna dalam QuickBooks 2012 - dummies

Percetakan Kebenaran Pengguna dalam QuickBooks 2012 - dummies

Akauntan sering ingin melihat keizinan pengguna tertentu dalam QuickBooks 2012 Ini benar terutamanya jika anda diaudit oleh CPA anda sebagai sebahagian daripada penutupan tahunan. (Anda mungkin diaudit jika bank mahukan penyata kewangan yang telah diaudit.) QuickBooks 2012 tidak menyediakan cara untuk anda mencetak maklumat yang ditunjukkan ...

Bagaimana Menghasilkan Lembaran Kerja Inventori Fizikal dalam QuickBooks 2017 - dummies

Bagaimana Menghasilkan Lembaran Kerja Inventori Fizikal dalam QuickBooks 2017 - dummies

QuickBooks 2017 melakukan yang cukup baik kerja mengesan inventori, tetapi anda masih perlu kerap mengambil inventori fizikal lengkap tentang apa yang ada dalam stok anda. Kadang-kadang, anda perlu pergi ke segala-galanya dan mengiranya dengan tangan. Maaf. Anda tidak boleh mengelakkan tugas itu. QuickBooks boleh menghasilkan mudah ...

Rasio keuntungan dan QuickBooks 2012 - dummies

Rasio keuntungan dan QuickBooks 2012 - dummies

Nisbah keuntungan menganalisis keuntungan syarikat dan anda boleh menggunakannya dalam QuickBooks 2012. Dalam ertikata, nisbah keuntungan ini adalah nisbah paling penting yang boleh anda kirakan. Mereka biasanya memberikan pandangan berguna yang sangat berguna kepada betapa menguntungkan firma dan mengapa. Sebagai contoh, satu nisbah keuntungan yang penting ialah peratusan margin kasar, ...