Yardım! GOTO kodu yerine ne kullanılabilir.

  • Konuyu Başlatan Konuyu Başlatan BenEnis
  • Başlangıç tarihi Başlangıç tarihi
  • Görüntüleme 1.851

BenEnis

Bir Kömür Göründü Kaptanım!
Katılım
14 Eylül 2017
Mesajlar
101
Elmaslar
14
Puan
0
Yaş
27
Konum
İzmir/Ödemiş
Minecraft
Erynial
Öncelikle hepinize merhabalar.
Ben Java ile küçük konsol oyunu geliştirmeye başladım. Daha yeni başladığım için bir problemim oldu.
Oyunu anlatarak başlıyorum, oyuna ilk girdiğinizde size isminizi falan soruyor.İsim giriyorsunuz sonra size katılmak istediğiniz
klan ismini soruyor 1, 2, ve 3 numaralı klanlar var benim problemim 1'den küçük olursa yada 3' den büyük olursa seçim ekranına döndürmeyi sağlayacak bir kod. C++ da goto kodu var fakat Javada yok. Onun yerine ne kullanılabilir.


Buyrun kod şurda:
Kod:
import java.util.Scanner;

public class Main {

    public static void main(String[] args){
    
    int güç;
    int kahraman;
    
    //İSİM ALMA
    System.out.println("Lütfen isminizi giriniz.");
    Scanner scan = new Scanner(System.in);
    String isim = scan.nextLine();
    
    //KLAN OLUŞTURMA-KATILMA
    try{
            System.out.println("    Klan İsimi    " + "    Gücü    " + "    Asker Sayısı    ");
            System.out.println("1)    " + "Savaşçılar    " + "    %20    " + "    50    ");
            System.out.println("2)    " + "Barbarlar    " + "    %40    " + "    60    ");
            System.out.println("3)    " + "Büyücüler    " + "    %60    " + "    30    ");
            System.out.println("KATILMAK İSTEDİĞİNİZ KLANIN NUMARASINI YAZINIZ.");
            int klanseçimi = scan.nextInt();


            if ( klanseçimi == 1 ){
                System.out.println("KATILDIĞINIZ KLAN : Savaşçılar");
            }
            else if (klanseçimi == 2) {
                System.out.println("KATILDIĞINIZ KLAN : Barbarlar");
            }
            else if (klanseçimi == 3){
                System.out.println("KATILDIĞINIZ KLAN : Büyücüler");               
            }
            else if (klanseçimi > 3 || klanseçimi < 1){
                System.out.println("LÜTFEN GEÇERLİ BİR KLAN NUMARASI GİRİNİZ.");
            }
            }
             catch (Exception e){
                 }           
    //KARARLAR KISMI
        System.out.println("SAVAŞÇILAR SİZİNLE SAVAŞMAK İSTİYİOR NE YAPACAKSINIZ?");
        System.out.println("1) SAVAŞ");
        System.out.println("2) KAÇ");
        System.out.println("");
        System.out.println("Klan İsimi    " + "    Gücü    " + "    Asker Sayısı    ");
        System.out.println("Savaşçılar    " + "    %20    " + "    50    ");
        int karar1 = scan.nextInt();
        if (karar1 == 1){
            System.out.println("KAZANDINIZ.");
            System.out.println("KAYBINIZ: " + "30 ASKER");
            System.out.println("SAVAŞ YAPILDI.");
        }
    }
}

Savaş yapılma kısmlarını daha bitirmedim. Devamını getireceğim.
 
Ellerinize sağlık efendim.
 
güzel bir kodda ne işe yarar anlamadım
 
While(true) açıp sonsuz döngü oluşturup while içerisinde fonksiyon çağırabilirsiniz. Tüm işlemleri fonksiyon çağırarak yaptırın sürekli başa dönsün while dışarısında hangi aşamada olduğunu tutan public bir değişken olsun, while içerisinde kontrol edip o aşamaya gitsin.
 
While(true) açıp sonsuz döngü oluşturup while içerisinde fonksiyon çağırabilirsiniz. Tüm işlemleri fonksiyon çağırarak yaptırın sürekli başa dönsün while dışarısında hangi aşamada olduğunu tutan public bir değişken olsun, while içerisinde kontrol edip o aşamaya gitsin.
anlamadım. :)
 
Java:
if (karar1> 3 || karar1< 1){

System.out.println("Böyle bir seçenek yok!");
return;
}
|| işareti veya olarak kullanılıyor && işareti ve olarak kullanılıyor
Umarım işine yarar.
 
Son düzenleme:
class yapılı veya fonksiyonel çalışman gerekli. örneğin her aşama için bir fonksiyon oluştur ve istedigin satırdan istediğin fonksiyona dönerken adını çagırıp return fonksiyon_adi(); ile fonksiyona rahatça dönebilirsin.
 

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst