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 2025

Video: Java Tutorial | GUI | Getting elements on JComboBox to be viewable via ItemListener 2025
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

Bagaimana Menghubungkan Item Menu ke Kategori di Joomla - dummies

Bagaimana Menghubungkan Item Menu ke Kategori di Joomla - dummies

Untuk artikel yang dikategorikan dalam Joomla untuk dilihat oleh pengguna laman web anda, anda perlu memautkan item menu Joomla anda ke kategori Joomla yang mengandungi artikel yang ingin anda siarkan. Dengan menyambungkan kategori ke item menu, semua artikel dalam kategori boleh didapati melalui item menu yang berkaitan. Untuk membuat ...

Cara Memasang Joomla CMS pada Server Jauh - dummies

Cara Memasang Joomla CMS pada Server Jauh - dummies

Sebaik sahaja anda telah memuatkan fail Joomla yang tidak diturunkan di pelayan jauh dan sediakan MySQL untuk Joomla, anda sudah bersedia untuk memasang Sistem Pengurusan Kandungan Joomla (CMS). Navigasi ke tapak anda di pelayan tuan rumah. Anda melihat halaman pemasangan Joomla pertama. Pilih bahasa. Klik Seterusnya. Semua item dalam pane bahagian atas ...

Cara Membiarkan Pengguna Menguruskan Akaun Sendiri di Joomla - dummies

Cara Membiarkan Pengguna Menguruskan Akaun Sendiri di Joomla - dummies

Walaupun anda boleh mengurus pengguna dari hujung belakang, Joomla menyediakan kemudahan yang baik yang membolehkan pengguna menguruskan diri mereka juga. Anda boleh membuat halaman di mana pengguna boleh mendaftar, log masuk, menetapkan semula kata laluan mereka, diingatkan kata laluan mereka, dan sebagainya. Buat laman pengurusan pengguna Untuk membuat halaman yang membolehkan pengguna mengurus sendiri, anda ...

Pilihan Editor

Pengguna dan Definisi SharePoint berbeza - dummies

Pengguna dan Definisi SharePoint berbeza - dummies

SharePoint mempunyai banyak jenis pengguna yang berbeza, dan bergantung di mana peranan anda sesuai , anda mungkin mempunyai pengalaman yang sangat berbeza dari pengguna SharePoint yang lain. Sebagai contoh, anda mungkin ditugaskan untuk membuat dan mentadbir laman web SharePoint untuk pasukan anda. Dalam kes ini, anda mungkin melihat ke hadapan fungsi yang luas SharePoint ...

Dan Microblog dalam SharePoint - dummies

Dan Microblog dalam SharePoint - dummies

Microblogging dibuat terkenal oleh Twitter. SharePoint 2013 membawa mikroblogging ke dunia korporat. Menggunakan Twitter, anda menghantar mesej ringkas kepada dunia. Anda boleh mengikuti orang lain dan menarik pengikut anda sendiri. Anda menyebut orang lain menggunakan simbol @ yang diikuti dengan nama mereka dan boleh menanda topik menggunakan # ...

Mengeksport Table Akses ke Senarai Dalam Talian SharePoint - dummies

Mengeksport Table Akses ke Senarai Dalam Talian SharePoint - dummies

Jika anda mempunyai meja dalam Akses yang ada pangkalan data yang anda ingin sediakan untuk ahli pasukan anda yang tidak mempunyai aplikasi MS Access 2010, cara terbaik untuk melakukan ini adalah untuk mengeksport jadual tersebut ke dalam senarai SharePoint. Ikuti langkah-langkah berikut: Dari pangkalan data anda, klik kanan pada jadual di ...

Pilihan Editor

Penyediaan aSVAB: Akar - patung

Penyediaan aSVAB: Akar - patung

Menjadi akrab dengan akar untuk ASVAB. Akar adalah kebalikan dari kuasa atau eksponen. Terdapat pelbagai jenis akar tak terhingga. Anda mempunyai akar kuadrat, yang bermaksud "membuang" asas kepada kuasa kedua; akar kubus, yang bermaksud "membuang" asas yang dinaikkan kepada kuasa ketiga; akar yang keempat, untuk ...

ASVAB Penyediaan: Bekerja dengan Perpuluhan - patung

ASVAB Penyediaan: Bekerja dengan Perpuluhan - patung

Anda perlu tahu bagaimana untuk bekerja dengan perpuluhan untuk ASBAB . Perpuluhan adalah kaedah menulis nombor pecahan tanpa menggunakan pengangka dan penyebut. Anda boleh menulis pecahan 7/10 sebagai perpuluhan 0. 7; anda menyebutnya "tujuh persepuluh" atau "titik nol tujuh. "Tempoh atau titik perpuluhan menunjukkan bahawa nombor itu ...

ASVAB Subtest Details - dummies

ASVAB Subtest Details - dummies

Tergantung di mana dan untuk tujuan apa yang anda ambil ujian, anda mungkin menghadapi beberapa versi ASVAB. Versi terkomputer dari ASVAB (CAT-ASVAB) mengandungi sembilan subtest masa yang berasingan. Pada CAT-ASVAB, Maklumat Auto dan Maklumat Kedai dipisahkan kepada dua ujian berbeza, sedangkan mereka digabungkan pada versi kertas. Lihatlah ...