Ev Kişisel Finans Java Programlama Mücadelesi: Basit Tic-Tac-Toe Programına Sınıf Ekleme

Java Programlama Mücadelesi: Basit Tic-Tac-Toe Programına Sınıf Ekleme

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

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

Bu meydan okuma sırasında, programın bilgisayarın belirlenmesinde stratejiye temel bir çaba göstermesine izin veren bir Java programlama sınıfı ekleyerek Tic-Tac-Toe oyununuzu geliştirirsiniz hareket eder.

Java Programlama Mücadelesinde: Basit Bir Tic-Tac-Toe Oyunu, Tic-Tac-Toe'nin basit oyununu oynamak için bir program yazmaya meydan okuduk. Bu zorlukta, bilgisayarın stratejileşmesine yardımcı olmak için önceki çözümünüzün kaynak kodunu değiştirirsiniz.

Oyunun kuralları çok basit olmasına rağmen oyunu oynamak için bir bilgisayar programı oluşturmak karmaşık olabilir. Bir takım potansiyel olarak karmaşık ayrıntıların programa dahil edilmesi gerekir. Özellikle:

  • Program, Tic-Tac-Toe kurulunu oluşturan dokuz kareden her birinin durumunu dahili olarak göstermenin bir yoluna sahip olmalıdır.

  • Program, herhangi bir oyuncu için bir hamle kaydı yapmanın bir yolunu sağlamalıdır ve her hamlemin geçerli olmasını sağlamalıdır (örneğin, bir oyuncunun zaten bir X veya bir O tarafından işgal edilmiş bir karede oynamasına izin verilmiyor).

  • Program, mümkün olan her üç satırdan oluşan kombinasyonların sekizine bakarak her iki oyuncuyu ne zaman kazandığını belirleyebilmelidir: Üç sıra, üç sütun ve iki çapraz çizgi.

  • Program, oyunun ne zaman çizileceğini, diğer bir deyişle dokuz karenin tümünün oynandığı ve hiçbir oyuncu kazandığını da belirleyebilmelidir.

Aynı zamanda program kullanıcıdan hareket etmesini istemek, bilgisayarın oyununu duyurmak, her oynamadan sonra yönetim kurulunun güncellenmiş bir sunumunu göstermek ve oyun sona erdiğinde bir galip ilan etmek veya beraberlik duyurmak suretiyle kullanıcıyla etkileşim detaylarını yönetmek zorundadır.

Bu meydan okumada, Tic-Tac-Toe programının bu iki unsurunu ayırmanız istenecektir: e programı ve oyunun durumunu ve ilerlemesini yöneten program ve programla kullanıcı arasındaki etkileşimi ele alan kısmı. Bunu, eksiksiz bir oyun oynamak için çağrılabilecek yöntemler sağlayan TicTacToeBoard adlı bir sınıf oluşturarak yapacaksınız. Sonra, bir insan rakibinin bilgisayara karşı Tic-Tac-Toe oyununu oynamasına izin vermek için TicTacToeBoard sınıfını kullanan bir program yazmanız istenir.

Kullanıcı açısından bakıldığında, bu program basit bir Tic-Tac-Toe oyun meydan okumasını çözmek için oluşturulan programla aynı şekilde çalışacaktır: Oyunun bu sürümü için program belirlenirken stratejiye temel bir çaba sarf etmektedir. bilgisayar hamle.Bilgisayar mükemmel bir şekilde oynamıyor, bu nedenle hala kolayca yenilebiliyor. Ancak gördüğü ilk boş meydanda oynamaktan çok çaba sarf ediyor.

Aşağıdaki tabloda, TicTacToeBoard sınıfının uygulayacağı yöntemler listelenmiştir. Unutmayın, ikisi yaratmanız gerekecek. Bu zorluğu çözmek için java dosyaları. İlk, TicTacToeBoard. java, TicTacToeBoard sınıfını uygular. İkincisi, sadece TicTacToe olarak adlandırdı. java, kullanıcının bilgisayara karşı Tic-Tac-Toe oyununu oynaması için çalıştırdığı programdır.

TicTacToeBoard Sınıfı
Yapıcı 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.
int getSquare (String square) Kare ile belirtilen karenin durumunu, A1, A2, A3, B1, B2, B3, C1, C2 veya C3 dizelerinden biri olmalıdır. Kare boşsa, 0, bir X içeriyorsa 1, bir O içeriyorsa 2 döndürür. Kare, izin verilen değerlerden biri değilse, IllegalArgumentException atar.
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 bitiş 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 Os 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. Dizge, satırları görüntülemek için yeni satır karakterleri ve bu örnekte olduğu gibi ayrı konsol satırlarındaki ayırıcı çizgilerini içerir:

O | | O

- | - | -

| X |

- | - | -

| X |

Kararsız iseniz, çözümü Java Satıcaksız All-in-One, 4. Baskı ürün sayfasındaki Yükleme sekmesinde bulabilirsiniz.

İyi şanslar!

Java Programlama Mücadelesi: Basit Tic-Tac-Toe Programına Sınıf Ekleme

Editörün Seçimi

Temel Yahudi Blessings ile kutlayın - mankenler

Temel Yahudi Blessings ile kutlayın - mankenler

Yahudi kutsamaları sıradan ve özel iyiliği takdir etmek ve kutlamak için hatırlatıcıdır , hayatın anları. İşte bilmeniz gereken bazı temel Yahudi nimetleri: Yeni bir şey için kutlamanın kutlanması Barukh Atah Adonai, Eloheynu Melekh ha-olam, Şehri-heh-khi-yanu v'key'manu v'hee-gee-anu laz'man ha-zeh .

Ortak Günlük Blessings ve Dualar Kabala'nın

Ortak Günlük Blessings ve Dualar Kabala'nın

Ortak Günlük Blessings ve Dualar bir nimet vermek. Sabah uyanma üzerine: Bunlar yaygın nimetler Gün boyu teşekkür etme yollarıdır “Seni şefkat ile içimde ruhumu döndü için size, Allah'ı Yaşayan ve sonsuz minnettarım. Sadakati bol, bol miktarda. "...

Bar Mitzvah'ı veya Bat Mitzvah'ı kutluyor - kuklalar

Bar Mitzvah'ı veya Bat Mitzvah'ı kutluyor - kuklalar

Bar Mitzvah "emir oğlu" ve Bat Mitzvah "emirlerin kızı" anlamına gelir. "Yahudi geleneği, kızlar 12, erkek çocuklar 13 yaşına geldiklerinde toplulukta yeni sorumluluklar taşıdığını söylüyor. Geleneksel cemaatlerde, erkeklerin tefillin giymeye ve günlük dua etmeye başlamaları bekleniyor ...

Editörün Seçimi

Facebook'u kullanarak: Genel Online Gizlilik Yap ve Önerilenler

Facebook'u kullanarak: Genel Online Gizlilik Yap ve Önerilenler

Gizlilik gizliliğinizi korur Facebook kullanırken - veya evde, işte veya başka yerde herhangi bir zamanda çevrimiçi olursanız. Aşağıda, çevrimiçi güvenlik ve gizliliğinizin artmasına yardımcı olacak bazı kullanışlı ipuçları bulunmaktadır: Güçlü bir şifre seçin. Büyük harf ve küçük harf, rakam ve sembollerden oluşan bir karışım kullanın. Parolanızı hatırlayabiliyorsanız ... ...

Görsel Sosyal Pazarlama: Facebook'ta Bir Bağlantıyı Eşlik Eden Bir Resim Nasıl Seçilir

Görsel Sosyal Pazarlama: Facebook'ta Bir Bağlantıyı Eşlik Eden Bir Resim Nasıl Seçilir

Bir sosyal pazarlama durumu güncellemesinde bir web sayfasına bir bağlantı ekledikten sonra Facebook, paylaşılan bağlantıya eşlik edecek görüntüler için web sayfasında otomatik olarak arama yaparak daha görsel olarak çekici hale getirir. Bu ifade, kendi web sitenizden veya başka bir web sitesinden içerik paylaşsanız da geçerlidir. Sonrasında ...

Facebook'a Hoş Geldiniz - Facebook profil oluşturma sürecindeki üç adımdan sonra Kişisel Kimlik -adamlarınızı Onaylayın

Facebook'a Hoş Geldiniz - Facebook profil oluşturma sürecindeki üç adımdan sonra Kişisel Kimlik -adamlarınızı Onaylayın

Tamamlandığında (veya seçimlerinize göre atlandığında) sizi Facebook'a davet eden bir sayfaya geliyorsunuz; ekranın üst kısmındaki şeritte, kaydolma işlemini tamamlamak için e-postanıza gitmenizi öneren bir bildirim görüyorsunuz. Şimdi e-postanıza gidin ...

Editörün Seçimi

Photoshop Elements 10'daki Sıvılaştırma Filtresi ile Görüntüleri Bozgula - Yuvarlak Modeller

Photoshop Elements 10'daki Sıvılaştırma Filtresi ile Görüntüleri Bozgula - Yuvarlak Modeller

Photoshop Elements'taki Sıvılaştırma filtresi 10, bir filtreden çok daha fazladır. Sanki sıcak taffymiş gibi bir görüntüyü manipüle etmenize izin veren bir bozulma. Görüntünüzün etkileşimli olarak bükülmesini, çekilmesini, döndürülmesini, sıkışmasını ve şişirilmesini sağlayabilirsiniz. Görüntüyü gösterildiği gibi bir diyet üzerine bile koyabilirsiniz. Aslında ...

Dijital Fotoğrafınıza Balık Gözü Efekti Verin - AYDINLATMA

Dijital Fotoğrafınıza Balık Gözü Efekti Verin - AYDINLATMA

Balık gözü objektifleri fotoğrafçıların fotoğraf çekmesini sağlar 180 derecelik bir bozulma. Bir çok görüntü düzenleyicisinde (Photoshop Elements dahil) balık gözü görünümünü taklit edebilirsiniz. Fotoğrafınızı balık gözü lensi gibi çekilmiş gibi göstermek için:

HDR Fotoğrafçılık ve Doğa Manzarası - AYDINLATMA

HDR Fotoğrafçılık ve Doğa Manzarası - AYDINLATMA

HDR (high-definition range) fotoğraf makinesi olarak bilinen bir yöntem size dijital fotoğrafçılıkla mümkün olandan daha geniş bir renk yelpazesine ve tonale sahip peyzaj ve doğa görüntüleri yaratmak için. HDR fotoğrafçılık, güzel canlı renkler ve karanlık gölgeden en karanlık gölgeye kadar geniş bir dinamik ton dağılımı sergilemek için kullanılır ...