Ev Kişisel Finans Java Programlama Mücadelesi: Basit Bir Tic-Tac-Toe Oyunu - mankenler

Java Programlama Mücadelesi: Basit Bir Tic-Tac-Toe Oyunu - mankenler

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

Göreviniz, kabul etmeye karar vermeniz durumunda, kullanıcıya Tic-Tac-Toe oyununu oynatabilen bir Java programı yaratmaktır.

Muhtemelen bildiğiniz gibi, Tic-Tac-Toe basit bir oyun, genellikle kağıt ve kurşunkalem ile oynanır. Öncelikle, kağıda basit bir 3 x 3 ızgara yaparsınız. Ardından, iki oyuncu ızgaradaki boş alanlarda X ve O işaretleyerek dönüşleri değiştirir. Üç veya daha fazla işaretini yatay, dikey veya köşegen şeklinde yapan ilk oyuncu kazanır. Izgaradaki tüm alanlar, herhangi bir oyuncu üst üste üç kez işaretlemeden önce doldurulursa, oyun berabere kalır.

İşte bu zorluk için kurallar ve talimatlar:

  1. Bilgisayar insanoğluna karşı oynuyor. İnsan önce hareket eder ve X'dir. Bilgisayar o'dır.

  2. Program, kısa bir karşılama mesajı görüntüleyerek başlamalı ve daha sonra oyuncuya ilk hareketini sormalıdır. Örneğin:

    Tic-Tac-Toe'ye hoş geldiniz. Lütfen ilk hareketinizi girin:
    
  3. ızgaranın karelerini belirlemek için, sütunlar için A, B ve C harflerini ve satırlar için 1, 2 ve 3 rakamlarını kullanın:

    A1 B1 C1 A2 B2 C2 A3 B3 C3
    

    Böylece, sol üstteki kareye bir X yerleştirmek için, insan oyuncu, oyuncuyu bir hareket.

    İnsan hareket ettikten sonra, program panonun geçerli durumunu konsolda göstermelidir.

  4. X'in insanın oyunlarını işaretlemek için, X işaretini bilgisayarın oyunlarını işaretlemek için kullanın. Tahtayı basit bir ızgaraya çekmek için dikey çubuk karakterleri (klavye üzerinde eğik çizgiyle Enter tuşunun hemen üstünde bulunur) ve tireler kullanın.

    Örneğin, kullanıcı ilk hareketi olarak A1 girdiyse, program aşağıdakileri görüntüler:

    X | | --- | --- | --- | | --- | --- | --- | |
    
  5. İnsan hareketinden sonra program hareketini belirler, kullanıcıya bildirir, güncelleştirilmiş bir tahta görüntüler ve ardından kullanıcının hareketini ister.

    Örneğin, şunu görebilirsiniz:

    A2: X | O | --- | --- | --- | | --- | --- | --- | | Lütfen bir sonraki hamlemini girin:
    
  6. Oyun, bir oyuncu üst üste üç sayı atana kadar veya tüm kareler kazanan olmadan dolduruluncaya kadar devam eder. Programınız, her iki oyuncunun da üst üste üç sayı atıp kazanmadığını belirleyebilmelidir. (Bu, bu programlama zorluğunun en zor kısmıdır.)

  7. Oyun sona erdiğinde, program oyunun sonucunu gösteren bir mesaj görüntüler: "Sen yendin beni! "Eğer insan oyuncu kazanırsa," Seni yendim! "Eğer bilgisayar oyuncusu kazanırsa veya" Bir beraberlik! "Eğer oyun berabere bitiyorsa.

  8. İnsanlar ve bilgisayar oyuncuları her iki oyuncu tarafından da kullanılmayan sadece karelerde oynayabilir.

  9. Oyun, oyun her iki oyuncu tarafından kazanıldığında veya oyun berabere kalırsa sona erer. Tekrar oynamak isterseniz, programı tekrar çalıştırmanız gerekir.

Bilgisayarın hareketlerini nasıl şekillendireceğini belirlemek istediğiniz herhangi bir yöntemi kullanmakta özgür olduğunuzu unutmayın. Bilgisayarınızı her zaman ilk boş oyunda oynamaya davet etmenizi öneririm. Bu açıkçası Tic-Tac-Toe oynamak için en iyi yol değildir ve oynamak istediğinizde bilgisayarınızı dövmek hiç zorlanmaz. Ancak bu basit oyun stratejisini seçmek, ızgaranın dahili olarak nasıl temsil edildiği ve bir oyuncunun oyunu ne zaman kazandığını veya oyun berabere bitişini nasıl belirleyeceğiniz gibi programlamanın diğer yönlerine odaklanmanıza olanak tanır.

("Java Programlama Zorluğu: Basit Tic-Tac-Toe Programına Diziler Ekleme" bölümünde, programın oyunlarını belirlemek için daha iyi bir strateji belirlemeniz istenecektir.)

İşte bir örnek: Komple oyun için konsol ekranı:

Tic-Tac-Toe'ye hoş geldiniz. Lütfen ilk hamlemini girin: A1 X | | --- | --- | --- | | --- | --- | --- | | A2'de oynayacağım: X | O | --- | --- | --- | | --- | --- | --- | | Lütfen bir sonraki hamlemini girin: B1 X | O | --- | --- | --- X | | --- | --- | --- | | A3'te oynayacağım: X | O | O --- | --- | --- X | | --- | --- | --- | | Lütfen bir sonraki hamlemini girin: C 1 X | O | O --- | --- | --- X | | --- | --- | --- X | | Beni yendin!

İşte size başlamak için birkaç ipucu:

  • Izgara temsil etmenin en iyi yolu bir dizi ile. Şimdilik, A1, A2, A3, B1, B2, B3, C1, C2 ve C3 adlarında dokuz değişken kullanın.

  • Izgara değişkenleri için int türünü kullanırsanız, 1 ile bir kare bir X ve 2 içeren bir kare içerdiğini belirtmek için 1 değerini kullanabilirsiniz.

  • Sekiz olası satır kazanç sağlayabilir. Aşağıdaki kareler kombinasyonlarından herhangi biri bir (X için) veya 2 (O için) ise, bir oyuncu kazanır:

    A1 - A2 - A3 A1 - B1 - C1 A1 - B2 - C3 B1 - B2 - B3 A2 - B2 - C2 A3 - B2 - C1 C1 - C2 - C3 A3 - B3 - C3
    
  • Oyunun beraberlik olup olmadığını belirlemenin iki yolu vardır. İlk dokuz karenin hepsini kontrol etmektir: Eğer karelerden hiçbiri boş değilse ve iki oyuncu da kazanamazsa, oyun berabere kalır. İkinci hamle saymaktır: Eğer dokuz hamle yapılmış ve herhangi bir oyuncu kazansaydı, oyun berabere olduğunu.

Bu programlama sorununa bir çözüm bulmak için Java All-in-One İpuçları, 4. Edition ürün sayfasındaki Yükleme sekmesinde bulunabilir.

İyi şanslar!

Java Programlama Mücadelesi: Basit Bir Tic-Tac-Toe Oyunu - mankenler

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