Ev Kişisel Finans Java Programlama Mücadelesi: Tic-Tac-Toe Programına GUI Ekleme

Java Programlama Mücadelesi: Tic-Tac-Toe Programına GUI Ekleme

Video: Coding Challenge #147: Chrome Dinosaur Game (with Speech Commands machine learning model!) 2024

Video: Coding Challenge #147: Chrome Dinosaur Game (with Speech Commands machine learning model!) 2024
Anonim

Java Programlama Sorunu: Basit Bir Tic-Tac-Toe Oyunu, Tic-Tac-Toe'nin basit oyununu oynayan bir konsol tabanlı program yazmak zorunda kaldınız. Burada Java programlama zorluğu, programa bir Grafik Kullanıcı Arayüzü (GUI) eklemek için Swing'i kullanmaktır. GUI burada gösterilen çizgiyi andırmalıdır.

Tic-Tac-Toe programının kullanıcı arabirimi.

Oyun basittir. İnsan oyuncusu ilk önce karelerden birine tıklayarak oynuyor. İnsan tarafından tıklanan kare, büyük bir X gösterir. İnsan oyundan sonra program, insanoğlunun kazanıp kazanıp kazanmadığını belirler. Eğer öyleyse, bir mesaj görüntülenir, tahta sıfırlanır ve yeni bir oyun başlar. Değilse, bilgisayar bir hareket seçer ve meydanı büyük bir O ile işaretler.

Program, daha sonra bilgisayarın oyunu kazanıp kazanmadığını belirler. Eğer öyleyse, program bir mesaj görüntüler, kurulu sıfırlar ve yeni bir oyun başlatır. Değilse, insan oyuncu tekrar oynar. Bu, bir oyuncu kazanana kadar veya tüm kareler dolana kadar devam eder.

Programınız, Java Programming Challenge için oluşturduğunuz TicTacToeBoard sınıfını kullanmalıdır: Basit Tic-Tac-Toe Programına Sınıf Ekleme. Başka bir deyişle, aynı yöntemleri uygulamalıdır. Size kolaylık olması açısından, bu yöntemler aşağıdaki tabloda tekrarlanmıştır.

TicTacToeBoard Sınıfı
Oluşturucu Açıklama
TicTacToeBoard Tüm kareler boşaltılmış yeni bir TicTacToeBoard oluşturur.
Yöntem Açıklama
void reset () Her karenin durumunu boşa döndürür.
void playAt (String square, int player) Belirtilen oyuncunun belirtilen karesini (A1, A2, A3, B1, B2, B3, C1, C2 veya C3) işaretler (X için 1, O). Square, izin verilen değerlerden biri değilse, oyuncu 1 veya 2 değilse veya belirtilen kare boş değilse IllegalArgumentException atar.
int isGameOver () Oyunun bitip bitmediğini belirler. Oyun bitmediyse 0, oyun sırasında X, bir oyun kazandığında 2, oyun berabere kalırsa 3 döndürür. Oyun sonlandırma koşulları aşağıdaki gibidir:

1: Herhangi bir satır, sütun veya köşegen tüm X'leri içeriyorsa.

2: Herhangi bir satır, sütun veya köşegen tüm O'ları içeriyorsa.

3: Boş kareler yoksa ne X ne de O kazandı.

int getNextMove () Bilgisayar rakibinin bir sonraki hamlenini temsil eden bir tam sayı döndürür. Bu yöntem, aşağıdaki stratejiye uygun olarak iyi bir hamle seçmek için temel bir çaba göstermelidir:

* Merkez (B2 karesi) boşalırsa, merkez kareyi oynatın.

* Merkez boş değilse, dört köşeden herhangi biri (kareler A1, A3, C1 veya C3) boşsa, köşelerden birini kullanın (hangisi önemsizdir).

* Merkez boş değilse ve köşeler boş değilse kenarlardan birini oynatın (kareler A2, B1, B3 veya C2).

String toString () Tahtanın geçerli durumunu gösteren bir dize döndürür. Dize, bu örnekte olduğu gibi satırları ve ayrı çizgilerini ayrı konsol satırlarında görüntülemek için yeni satır karakterleri içerir:

O | | O

- | - | -

| X |

- | - | -

| X |

Bu zorluğun çözümünü, Java All-in-One İpuçları, 4. Baskı ürün sayfasındaki İndirilenler sekmesinde bulabilirsiniz.

İyi şanslar!

Java Programlama Mücadelesi: Tic-Tac-Toe Programına GUI Ekleme

Editörün Seçimi

Excel 2016 Çalışma Kitabı Tasarlamak - kuklalar

Excel 2016 Çalışma Kitabı Tasarlamak - kuklalar

Tüm Excel 2016 çalışma sayfaları şablonlardan gelmemektedir. Çoğu zaman, belirli çalışma kitaplarının türlerinin üretildiği standart modeller olarak işlev göreceği düşünülen oldukça eşsiz elektronik tablolar oluşturmanız gerekir. Aslında, Excel'de oluşturduğunuz e-tabloların çoğu, bu türden olabilir, özellikle işiniz güvenmiyorsa ...

Excel 2013'teki Veri Formundaki Kayıtları Düzenleme - Veriler

Excel 2013'teki Veri Formundaki Kayıtları Düzenleme - Veriler

Veritabanından sonra yolda gidiyorsanız ve Excel 2013'te kayıt girmekle yetiniyorsanız, veritabanında düzenli bakım yapmak ve düzenlemek için veri formunu kullanmaya başlayabilirsiniz. Örneğin, değiştirmek istediğiniz bir kaydı bulmak için veri formunu kullanabilirsiniz ve sonra düzenlemeleri yapın ...

Bir Excel 2010 Tablosundaki Kayıtları Düzenleme - mankenler

Bir Excel 2010 Tablosundaki Kayıtları Düzenleme - mankenler

Kayıtları düzenlemeye veya silmeye ve masada rutin bakım yapmaya ihtiyaç duyarsınız. Kayıtları el ile çalışma sayfasında düzenleyebilir veya gerekli değişiklikleri yapmak için bir veri formu kullanabilirsiniz. Örneğin, bir veri dosyasını bulmak için veri formunu kullanabilirsiniz ...

Editörün Seçimi

Excel 2010 Grafiğine Veri Tablosu Ekleme - Excel 2010'da çekimser

Excel 2010 Grafiğine Veri Tablosu Ekleme - Excel 2010'da çekimser

Veri tabloları, grafiğin değerlerini grafiğin altındaki bir tabloda görüntüler. 3B grafik kullanırken olduğu gibi, grafiksel bir ekranla birlikte kesin değerleri görmeniz gerekirse yardımcı olurlar. Ayrıca, bazı çizelgelerde okunması zor olan veri etiketlerinden daha uygun olabilirler.

Excel Pivot Tablosuna Hesaplanan Öğe Ekleme - mankenler

Excel Pivot Tablosuna Hesaplanan Öğe Ekleme - mankenler

ÖğEleri bir Excel pivot tabloya ekler. Şimdi, açıkçası, hesaplanan bir öğe eklemek genelde mantıklı değil. Pivot tablolarınız için, eksiksiz, zengin bir Excel listesinden veya bazı veritabanlarından veri aldıysanız, öğe miktarlarını hesaplayarak veriler oluşturmak, biraz goofy'den daha fazlasını gerektirir. Ancak, ...

Editörün Seçimi

Ağınızı bir Güvenlik Testi için Nasıl Eşleştirilir - daha önce ağınızı haritalamanın parçası olarak mankenler

Ağınızı bir Güvenlik Testi için Nasıl Eşleştirilir - daha önce ağınızı haritalamanın parçası olarak mankenler

Güvenlik testi veya etik bir kesmek gerçekleştirirken, halka açık veritabanlarını ve kaynaklarını arayarak başkalarının sisteminiz hakkında ne bildiğini öğrenebilirsiniz. WHOIS aramaları En iyi başlangıç ​​noktası İnternet'te bulunan araçlardan herhangi birini kullanarak bir WHOIS araması gerçekleştirmektir. Içinde ...

Bir Ağdaki Spam'i En Düşük Düzeye Getirme - AYAKLAR

Bir Ağdaki Spam'i En Düşük Düzeye Getirme - AYAKLAR

Hiçbir antispam programı mükemmel değildir; belirli bir miktarda spam'ın gelen kutunuza geçmesini bekleyin. Alınmayan spam miktarını en aza indirgemek için siz (ve kullanıcılarınızın) aklınızda tutmanız gereken bazı ipuçları: Şifrenizi isteyen veya ...

Güvenlik Testi Sonuçlarını Birlikte Götürmek İçin - Güvenlik testi verileriniz olduğunda yalanlar

Güvenlik Testi Sonuçlarını Birlikte Götürmek İçin - Güvenlik testi verileriniz olduğunda yalanlar

- Belgelenen ekran görüntülerinden ve manuel gözlemlerden, kullandığınız çeşitli güvenlik açığı tarayıcıları tarafından üretilen detaylı raporlara kadar - ne yapıyorsunuz? Belgelerinizi ince dişli bir tarakla incelemeniz ve öne çıkan tüm alanları vurgulam