Visual Basic 150-200 Kelime Arasından Rastgele Seçim Yapmak

Şu anda konuyu okuyanlar (Üyeler: 1, Ziyaretçi & Botlar: 0)

Yardım edebilirsimin?

  • Walla bi bilgim yok krşm

    Kullanılan: 4 80.0%
  • Yardım etmeye çalışacağım

    Kullanılan: 0 0.0%
  • Ettim bile

    Kullanılan: 1 20.0%

  • Kullanılan toplam oy
    5
Katılım
21 Ara 2017
Mesajlar
26
Beğeniler
1
Puanları
3
Konum
İstanbul
#1
Arkadaşlar proje ödevim var bir bilgisayar oyunu yapıyorum oyunla ilgili benim seçtiğim kelimelerin arasından 1 tane seçicek.Daha sonra tuş tıklandıktan yada süre bittikten sonra o kelime ile ilgili başka bir şey göstericek. mesela 3 geldiğinde buton tıklanınca "üç" 2 geldiğinde buton tıklanınca "2" yazması gerekiyor.
Kelimeleri programa nası tanıtıcam ve aralarından nasıl rastgele seçim yaptıracağım.

---- Mesajlar birleştirildi ----

Kimse yokmu

---- Mesajlar birleştirildi ----

Refresh tuşu bozuldu :D
 
Katılım
21 Ara 2017
Mesajlar
26
Beğeniler
1
Puanları
3
Konum
İstanbul
#3
Hocam çözdüm bu arada acele etmemin sebebi proje notum buna bağlı
Çözümü yukarıya yazacağım

---- Mesajlar birleştirildi ----

düzenleyemiyorum

---- Mesajlar birleştirildi ----

Buraya yazayım
RND ile label a rastgele bir sayı yazdırıyoruz
İf ile sayıyı kontrol ediyoruz ve her sayıya birer kelime atıyoruz
Kelimeleri başka bir labela yazdırıyoruz
 
Son düzenleme:

Mrtaltg

[email protected]
Yönetici
Super Moderator
Katılım
22 Şub 2007
Mesajlar
4,596
Beğeniler
2,110
Puanları
113
#4
yada ilk olarak
rakam ve kelime değişkenlerini ata
rakam değişkene rnd ile bir değer ver
if ile değişkeni kelimelere ata
kelime değişkeni label de yazdır
 

kmurat

Profesör
Katılım
8 Şub 2014
Mesajlar
3,394
Beğeniler
656
Puanları
113
#5
Diziler kullan (Array) ve dizi içinden rastgele okut.
 

Samet UCA

.Net Geliştiricisi
Katılım
3 Ağu 2012
Mesajlar
1,341
Beğeniler
837
Puanları
113
Konum
İstanbul
#6
Böyle bir şey istiyorsan eğer IF sorgusu uygulamayı çok uzatır. Direk index değeri üzerinden diziden kelimeyi çekebilirsin.
Rastgele üretilen sayıyı da diğer label'e yazdırırsın.

1.png
 
Katılım
21 Ara 2017
Mesajlar
26
Beğeniler
1
Puanları
3
Konum
İstanbul
#7
Böyle bir şey istiyorsan eğer IF sorgusu uygulamayı çok uzatır. Direk index değeri üzerinden diziden kelimeyi çekebilirsin.
Rastgele üretilen sayıyı da diğer label'e yazdırırsın.

Ekli dosyayı görüntüle 38583
Sorun şu ben Visual Basic de programlıyorum ve if ile fazla uzun olmadı.
If Label7.Text = "35" Then ListBox1.Items.Add("puzzles")

---- Mesajlar birleştirildi ----

Bu C# yada C++ oluyo sanırım
 
Son düzenleme:

Samet UCA

.Net Geliştiricisi
Katılım
3 Ağu 2012
Mesajlar
1,341
Beğeniler
837
Puanları
113
Konum
İstanbul
#8
Sorun şu ben Visual Basic de programlıyorum ve if ile fazla uzun olmadı.
If Label7.Text = "35" Then ListBox1.Items.Add("puzzles")

---- Mesajlar birleştirildi ----

Bu C# yada C++ oluyo sanırım
Evet bu C#. VB ise çok daha basit bir dil bunu VB ye çevirebiliriz eğer projeniz devam ediyor ise?
 

Samet UCA

.Net Geliştiricisi
Katılım
3 Ağu 2012
Mesajlar
1,341
Beğeniler
837
Puanları
113
Konum
İstanbul
#10
1.png


Şöyle bir şey yaptım
Kod:
Public Class Form1
    Public Function GetRandom(ByVal min As Integer, ByVal max As Integer) As Integer
        Static staticRandomGenerator As New System.Random
        max += 1
        Return staticRandomGenerator.Next(If(min > max, max, min), If(min > max, min, max))
    End Function
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        '------> Tüm değerleri sıfırlıyoruz.
        labeloyuncu1baslik.ForeColor = Color.Black
        labeloyuncu2baslik.ForeColor = Color.Black
        labeloyuncu3baslik.ForeColor = Color.Black

        labeloyuncu1puani.ForeColor = Color.Black
        labeloyuncu2puani.ForeColor = Color.Black
        labeloyuncu3puani.ForeColor = Color.Black
        ' Tüm değerleri sıfırlıyoruz <-----------.

        '1 ile 3 arasında rastgele sayi üretiyoruz ve üretilen sayıya göre işlem yapıyoruz
        Dim rastgelesayiüret = GetRandom(1, 3)
        '1 ile 250 arasında rastgele sayi üretiyoruz ve bu sayıyı yukarıda üretilen sayıya atıyoruz
        Dim puanüret = GetRandom(1, 250)

        'İlk ürettiğimiz sayıyı masa puanı olarak yazıyor ki kim ne kadar kazandı bilelim.
        labelmasadakipuan.Text = puanüret

        If rastgelesayiüret = 1 Then
            labelsanslioyuncu.Text = "1"
            labeloyuncu1puani.Text += puanüret
            labeloyuncu1baslik.ForeColor = Color.SeaGreen
            labeloyuncu1puani.ForeColor = Color.SeaGreen

        End If
        If rastgelesayiüret = 2 Then
            labelsanslioyuncu.Text = "2"
            labeloyuncu2puani.Text += puanüret
            labeloyuncu2baslik.ForeColor = Color.SeaGreen
            labeloyuncu2puani.ForeColor = Color.SeaGreen
        End If
        If rastgelesayiüret = 3 Then
            labelsanslioyuncu.Text = "3"
            labeloyuncu3puani.Text += puanüret
            labeloyuncu3baslik.ForeColor = Color.SeaGreen
            labeloyuncu3puani.ForeColor = Color.SeaGreen
        End If


    End Sub
End Class
Proje dosyası
WindowsApp1.rar » Dosya.Pro
 
Katılım
21 Ara 2017
Mesajlar
26
Beğeniler
1
Puanları
3
Konum
İstanbul
#11
Ekli dosyayı görüntüle 39233

Şöyle bir şey yaptım
Kod:
Public Class Form1
    Public Function GetRandom(ByVal min As Integer, ByVal max As Integer) As Integer
        Static staticRandomGenerator As New System.Random
        max += 1
        Return staticRandomGenerator.Next(If(min > max, max, min), If(min > max, min, max))
    End Function
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        '------> Tüm değerleri sıfırlıyoruz.
        labeloyuncu1baslik.ForeColor = Color.Black
        labeloyuncu2baslik.ForeColor = Color.Black
        labeloyuncu3baslik.ForeColor = Color.Black

        labeloyuncu1puani.ForeColor = Color.Black
        labeloyuncu2puani.ForeColor = Color.Black
        labeloyuncu3puani.ForeColor = Color.Black
        ' Tüm değerleri sıfırlıyoruz <-----------.

        '1 ile 3 arasında rastgele sayi üretiyoruz ve üretilen sayıya göre işlem yapıyoruz
        Dim rastgelesayiüret = GetRandom(1, 3)
        '1 ile 250 arasında rastgele sayi üretiyoruz ve bu sayıyı yukarıda üretilen sayıya atıyoruz
        Dim puanüret = GetRandom(1, 250)

        'İlk ürettiğimiz sayıyı masa puanı olarak yazıyor ki kim ne kadar kazandı bilelim.
        labelmasadakipuan.Text = puanüret

        If rastgelesayiüret = 1 Then
            labelsanslioyuncu.Text = "1"
            labeloyuncu1puani.Text += puanüret
            labeloyuncu1baslik.ForeColor = Color.SeaGreen
            labeloyuncu1puani.ForeColor = Color.SeaGreen

        End If
        If rastgelesayiüret = 2 Then
            labelsanslioyuncu.Text = "2"
            labeloyuncu2puani.Text += puanüret
            labeloyuncu2baslik.ForeColor = Color.SeaGreen
            labeloyuncu2puani.ForeColor = Color.SeaGreen
        End If
        If rastgelesayiüret = 3 Then
            labelsanslioyuncu.Text = "3"
            labeloyuncu3puani.Text += puanüret
            labeloyuncu3baslik.ForeColor = Color.SeaGreen
            labeloyuncu3puani.ForeColor = Color.SeaGreen
        End If


    End Sub
End Class
Proje dosyası
WindowsApp1.rar » Dosya.Pro
Saol kaptan pc de bakarım
 

algea

Doçent
Katılım
15 Tem 2011
Mesajlar
515
Beğeniler
23
Puanları
18
#12
Rastgele ama nasıl doğru zaman dilimine ulaşacaksın bilmek zor. Sadece doğru zaman gelince full rastgele oluyor…
 
stat counter