CAYBURG.NET
Programlama Dilleri Delphi, Visual Basic, C, C++,C#, ASP, Perl, Php, Html vb. diller hakkında bilgi ve birikimlerinizi paylaşabilir ve yardım alabilirsiniz.
Cevapla
VB Rasgele Sayılar Bu konu 51 defa okundu ve 0 yorum yazildi.
 
Seçenekler
Alt 06.06.2008, 23:36 #1
Bronze Members

Standart VB Rasgele Sayılar


Oyun için gerekli olan nesneler
3 command button,4 maskeditbox,2 label,1 listbox(labeller yerine değişken de kullanabilirsiniz)
isteyenler oyunun orjinal şeklini
[Üye Özel | Für Mitglieder | For Members]
adresinden indirebilir.
SAYI BULMA OYUNU
Const OLE_ACTIVATE = 7
Dim i As Variant
Dim j As Integer
Dim check As Boolean
Dim a As Variant
Dim değer As Variant
Dim b(1 To 4) As Variant
Dim sonuç As Integer
Dim giriş As Variant
Dim rastgelesayı(1 To 4) As Integer
Dim girilensayı(1 To 4) As Variant
Dim dizi1(1 To 4) As Variant
Dim dizi2(1 To 6) As Variant
Dim dizi3(1 To 4) As Variant
Dim dizi4(1 To 24) As Variant
Dim dizi5(1 To 36) As Variant
Dim dizi6(1 To 8) As Variant
Dim dizi7(1 To 12) As Variant
Dim dizi8(1 To 6) As Variant
Dim dizi9(1 To 12) As Variant
Dim dizi10(1 To 42) As Variant
Dim dizi11(1 To 44) As Variant
Dim dizi12(1 To 7) As Variant
Dim dizi15(1 To 207) As Variant
Private Sub Command1_Click()
t(0).SetFocus
'Kullanıcı tarafından girilen sayıları diziye aktaralım
For i = 1 To 4
girilensayı(i) = t(i - 1)
Next i
'Listbox'ta kullanıcının girdiği değerleri görmesi için
'giriş değişkenine aktaralım
giriş = t(0) & t(1) & t(2) & t(3)
'kutulara girilen karakterlerin boş ve alfanimerik olmamasını sağlayalım
For i = 1 To 4
b(i) = InStr(1, l, girilensayı(i))
Next i
'karşılaştırmada kullanacağımız sonuçları değer değişkenine aktaralım
l1 = b(1) & b(2) & b(3) & b(4)
değer = Val(l1)
'Karşılaştırmaları yapalım
For i = 0 To 3
If değer = dizi1(4)(i) Then
sonuç = 1
Exit For
End If
Next i
For i = 0 To 5
If değer = dizi2(6)(i) Then
sonuç = 2
Exit For
End If
Next i
For i = 0 To 3
If değer = dizi3(4)(i) Then
sonuç = 3
Exit For
End If
Next i
For i = 0 To 23
If değer = dizi4(24)(i) Then
sonuç = 4
Exit For
End If
Next i
For i = 0 To 35
If değer = dizi5(36)(i) Then
sonuç = 5
Exit For
End If
Next i
For i = 0 To 7
If değer = dizi6(8)(i) Then
sonuç = 6
Exit For
End If
Next i
For i = 0 To 11
If değer = dizi7(12)(i) Then
sonuç = 7
Exit For
End If
Next i
For i = 0 To 5
If değer = dizi8(6)(i) Then
sonuç = 8
Exit For
End If
Next i
For i = 0 To 11
If değer = dizi9(12)(i) Then
sonuç = 9
Exit For
End If
Next i
For i = 0 To 41
If değer = dizi10(42)(i) Then
sonuç = 10
Exit For
End If
Next i
For i = 0 To 43
If değer = dizi11(44)(i) Then
sonuç = 11
Exit For
End If
Next i
For i = 0 To 6
If değer = dizi12(7)(i) Then
sonuç = 12
Exit For
End If
Next i
If değer = 1234 Then
sonuç = 13
l.Visible = True
End If
If değer = 0 Then
sonuç = 14
End If
'Girilen sayının boş karakter olmamasını sağlayalım
For i = 0 To 3
If Not IsNumeric(t(i)) Then
yanlışgiriş
Exit For
End If
Next i
'Aynı sayıların tekrar girilmemesini sağlayalım
If t(0) = t(1) Or t(0) = t(2) Or t(0) = t(3) Or t(1) = t(2) Or t(1) = t(3) Or t(2) = t(3) Then yanlışgiriş2
'sonuçları listbox'a yazdıralım
Select Case sonuç
Case 1: OLE5.Action = OLE_ACTIVATE
lbx.AddItem giriş + " +3"
Case 2: OLE5.Action = OLE_ACTIVATE
lbx.AddItem giriş + " +2"
Case 3: OLE5.Action = OLE_ACTIVATE
lbx.AddItem giriş + " +1"
Case 4: OLE5.Action = OLE_ACTIVATE
lbx.AddItem giriş + " +1 -1"
Case 5: OLE5.Action = OLE_ACTIVATE
lbx.AddItem giriş + " +1 -2"
Case 6: OLE5.Action = OLE_ACTIVATE
lbx.AddItem giriş + " +1 -3"
Case 7: OLE5.Action = OLE_ACTIVATE
lbx.AddItem giriş + " +2 -1"
Case 8: OLE5.Action = OLE_ACTIVATE
lbx.AddItem giriş + " +2 -2"
Case 9: OLE5.Action = OLE_ACTIVATE
lbx.AddItem giriş + " -1"
Case 10: OLE5.Action = OLE_ACTIVATE
lbx.AddItem giriş + " -2"
Case 11: OLE5.Action = OLE_ACTIVATE
lbx.AddItem giriş + " -3"
Case 12: OLE5.Action = OLE_ACTIVATE
lbx.AddItem giriş + " -4"
Case 13: OLE2.Action = OLE_ACTIVATE
lbx.AddItem giriş + " TEBRİKLER"
l.Visible = True
Case 14: OLE3.Action = OLE_ACTIVATE
lbx.AddItem giriş + " Hiçbiri Yok"
End Select

End Sub
'Yanlış giriş için altyordam
Private Sub yanlışgiriş()
OLE4.Action = OLE_ACTIVATE
MsgBox "Kutuları Boş bırakamaz ve sadece rakam girebilirsiniz.!!! "
sonuç = 0

End Sub
'Yanlış giriş için altyordam
Private Sub yanlışgiriş2()
OLE4.Action = OLE_ACTIVATE
MsgBox "Aynı rakamı iki kere giremezsiniz!!! "
sonuç = 0

End Sub

Private Sub Command2_Click()
'Çıkış için seçenek tanıyalım
seçim = MsgBox("Çıkmak istediğinizden emin misiniz?", 20, "Sayı Bulma Oyunu")
If seçim = 6 Then
OLE6.Action = OLE_ACTIVATE
MsgBox "Program hakkındaki düşünce ve önerilerinizi [Üye Özel | Für Mitglieder | For Members] adresine mail atarsanız sevinirim."
End
Else
Form1.Refresh
End If
End Sub
'Yeniden oynamak için seçenek
Private Sub Command3_Click()
seçim = MsgBox("Yeniden başlamak istediğinizden emin misiniz?", 20, "Sayı Bulma Oyunu")
If seçim = 6 Then
sayıüret
Else
Form1.Refresh
End If
End Sub
'Yeniden oynamak için alt yordam
Private Sub sayıüret()
Randomize
l = ""
lbx.Clear
rastgelesayı(1) = Int(Rnd * 10)
For i = 2 To 4
Do
rastgelesayı(i) = Int(Rnd * 10)
check = True
For j = 1 To i - 1
If rastgelesayı(i) = rastgelesayı(j) Then
check = False
Exit For
End If
Next j
Loop Until check
Next i
'Rastgele üretilen sayıyı karşılaştırma yapabilmek için string'e çevirelim
've oyun sonunda göstermek için l label'ine atalım
For i = 1 To 4
l = l & rastgelesayı(i)
Next i
l = CStr(l)
l.Visible = False
End Sub
Private Sub Form_Load()
Randomize
OLE1.Action = OLE_ACTIVATE
OLE7.Action = OLE_ACTIVATE
'Aşağıdaki tanımlanan diziler matamatiksel olarak manuel 'hesaplanmıştır. 4 basamaklı 2 variant değerin karşılaş
'tırılması sonucu albileceği değerlerdir.
dizi1(4) = Array(1230, 1204, 1034, 234)
dizi2(6) = Array(1200, 1030, 1004, 230, 204, 34)
dizi3(4) = Array(1000, 200, 30, 4)
dizi4(24) = Array(1400, 1040, 1020, 1002, 1300, 1003, 3200, 203, 4200, 240, 210, 201, 31, 130, 2030, 32, 4030, 430, 14, 104, 2004, 24, 3004, 304)
dizi5(36) = Array(132, 213, 243, 324, 432, 314, 431, 124, 241, 1023, 2031, 3024, 4032, 1043, 3014, 4031, 1042, 2014, 1302, 3201, 2304, 4203, 1403, 3104, 1402, 2104, 4201, 1320, 2130, 3210, 2430, 3240, 1340, 4130, 1420, 4210)
dizi6(8) = Array(1423, 1342, 4213, 3241, 2431, 4132, 2314, 3124)
dizi7(12) = Array(1203, 1240, 1032, 1430, 1024, 1304, 4230, 231, 3204, 214, 2034, 134)
dizi8(6) = Array(1243, 1432, 1324, 4231, 3214, 2134)
dizi9(12) = Array(100, 10, 1, 2000, 20, 2, 3000, 300, 3, 4000, 400, 40)
dizi10(42) = Array(4300, 4003, 4020, 4002, 4100, 4010, 4001, 3400, 2400, 420, 403, 402, 410, 401, 43, 42, 41, 340, 140, 3040, 2040, 2300, 2003, 2100, 2010, 2001, 21, 120, 3020, 320, 23, 12, 102, 3002, 302, 3100, 3010, 3001, 310, 301, 13, 103)
dizi11(44) = Array(2103, 2301, 2310, 2013, 3120, 3102, 3012, 3021, 123, 312, 321, 4320, 4302, 4023, 2403, 2340, 2043, 3420, 3402, 3042, 423, 342, 4103, 4310, 4301, 4013, 3410, 3401, 3140, 3041, 413, 143, 341, 4120, 4102, 4021, 4012, 2410, 2401, 2140, 2041, 412, 421, 142)
dizi12(7) = Array(4321, 4312, 4123, 3421, 3412, 2143, 2341)
'dizi 15 diğer dizi elemanlarının toplamıdır
dizi15(207) = Array(2103, 2301, 2310, 2013, 3120, 3102, 3012, 3021, 123, 312, 321, 4320, 4302, 4023, 2403, 2340, _
2043, 3420, 3402, 3042, 423, 342, 4103, 4310, 4301, 4013, 3410, 3401, 3140, 3041, 413, 143, 341, 4120, 4102, _
4021, 4012, 2410, 2401, 2140, 2041, 412, 421, 142, 1230, 1204, 1034, 234, 1200, 1030, 1004, 230, 204, 34, 1000, _
200, 30, 4, 1400, 1040, 1020, 1002, 1300, 1003, 3200, 203, 4200, 240, 210, 201, 31, 130, 2030, 32, 4030, 430, _
14, 104, 2004, 24, 3004, 304, 1243, 1432, 1324, 4231, 3214, 2134, 132, 213, 243, 324, 432, 314, 431, 124, 241, _
1023, 2031, 3024, 4032, 1043, 3014, 4031, 1042, 2014, 1302, 3201, 2304, 4203, 1403, 3104, 1402, 2104, 4201, _
1320, 2130, 3210, 2430, 3240, 1340, 4130, 1420, 4210, 1203, 1240, 1032, 1430, 1024, 1304, 4230, 231, 3204, 214, _
2034, 134, 1423, 1342, 4213, 3241, 2431, 4132, 2314, 3124, 100, 10, 1, 2000, 20, 2, 3000, 300, 3, 4000, 400, 40, _
4321, 4312, 4123, 3421, 3412, 2143, 2341, 4300, 4003, 4020, 4002, 4100, 4010, 4001, 3400, 2400, 420, 403, 402, _
410, 401, 43, 42, 41, 340, 140, 3040, 2040, 2300, 2003, 2100, 2010, 2001, 21, 120, 3020, 320, 23, 12, 102, 3002, _
302, 3100, 3010, 3001, 310, 301, 13, 103, 1234, 0)
'rastgele sayı üretelim ve aynı sayının tekrarlanmamsını sağlayalım
rastgelesayı(1) = Int(Rnd * 10)
For i = 2 To 4
Do
rastgelesayı(i) = Int(Rnd * 10)
check = True
For j = 1 To i - 1
If rastgelesayı(i) = rastgelesayı(j) Then
check = False
Exit For
End If
Next j
Loop Until check
Next i
'Rastgele üretilen sayıyı karşılaştırma yapabilmek için string'e çevirelim
've oyun sonunda göstermek için l label'ine atalım
For i = 1 To 4
l = l & rastgelesayı(i)
Next i
l = CStr(l)
End Sub
'kullanıcının t dizisine giriş yapmasını kolaylaştırmak için
'selllenght ve autotab özelliklerini ayarlayalım
Private Sub t_Change(Index As Integer)
For i = 0 To 3
t(i).SelLength = 2
Next i
End Sub
Cevapla

Seçenekler

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB Kodlari Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı


Benzer Konular
Konu Konuyu Başlatan Forum Cvp Son Mesaj
karmasık sayılar euthumia ÖSS, OKS, KPSS, AÖF 0 20.01.2009 21:05
Üslü Sayılar faillimeçhul ÖSS, OKS, KPSS, AÖF 0 01.01.2009 15:15
üslü sayılar ile ilgili soru ve çözümleri faillimeçhul ÖSS, OKS, KPSS, AÖF 0 01.01.2009 15:09

WEZ Format +2. Şuan Saat: 11:01.
Cayburg - Arşiv - Top - Iyiler - Web Stats
Rapidshare Uploaded.to Uptal.com Upshare.NET Filefactory.com Videolari, Video izle Fun, Fan Anket WinRAR | File Hosting Free Kurd Radyo Dinle Bedava Albüm Indir Yeni Albüm Albüm Paylasim .Net .Org
Powered by vBulletin® Version 3.8.1 Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197