Jump to content

Kelime Oyunu - Farklı Rastgele Harf Almak


neccooy
 Share

Recommended Posts

Arkadaşlar, derste kullanmak üzere kelime oyunu programı yapıp öğrencilerin yarışma etkinliği ile öğrenmesini sağlayacağım.

 

"harf al" butonunu tıklayınca ipucu harfi veriyor fakat aynı harfi verdiği zaman butona farklı harf gelinceye kadar tekrar tekrar basmam gerekiyor. tek tıklama ile benzersiz harfi nasıl elde ederim?

 

Örnek apz dosyası:

[attachment=1199:Sosyal_Bilgiler Kelime_Oyunu.rar]

 

 

pre_1384288748__ekran_alnts.png

Link to comment
Share on other sites

ben baya bir ilerleme kaydettim, az bekleyin paylaşıcam. her şey eğitim için :)

 

Yetiştin be Hocam...

Eminim çok güzel bir sonuç ortaya çıkacak.

 

Yapabilirsem;

Soru ekleme, silme, değiştirme (ini ya da sql veritabanı - artık hangisini becerebilirsem)

Her sorunun harf sayısı kadar puanlama sistemi olacak. her harf alındığında sorunun puan değeri azalacak. (harf başına 100 puan)

Link to comment
Share on other sites

harf alma kodlarını baştan yaptım, global'e bir kaç değişken ekledim, listbox'a da kodlar ekledim yanlarına açıklama yazdım. sql veri tabanı kullanırsan globaldeki kelimelerin olduğu tablo yerine ordan kelimeleri çekebilirsin. listboxta ki random uzunluğuda tablo uzunluğuna göre belirlemen yeterli olur.

 

https://www.sugarsync.com/pf/D1846013_160_609075539

Link to comment
Share on other sites

harf alma kodlarını baştan yaptım, global'e bir kaç değişken ekledim, listbox'a da kodlar ekledim yanlarına açıklama yazdım. sql veri tabanı kullanırsan globaldeki kelimelerin olduğu tablo yerine ordan kelimeleri çekebilirsin. listboxta ki random uzunluğuda tablo uzunluğuna göre belirlemen yeterli olur.

 

https://www.sugarsync.com/pf/D1846013_160_609075539

 

Teşekkür ederim. İnceleyip tamamlamaya çalışacağım. Kodlar epey teknik olmuş, önce bir anlamaya çalışayım.

Yalnız bazen her tıklamada harf vermiyor. örnek, beş harfli kelimeyi bazen 6-7 tıklama ile tüm harfleri çıkarıyorum. çok problem değil ama belirtmek istedim.

 

Hocam program bitince paylaşır mısın? biz de öğrencilerimize yapalım.

tabi hocam, inşallah bitirebiliriz...

Link to comment
Share on other sites

  • Editor

sText = Input.GetText("Input2");


local kelime = {};


for i=1,#sText do
kelime[i] = String.Mid(sText,i,1);
end


function sayiBul()
sKelime = kelime[Math.Random(1,#sText)]
sBul = String.Find(Input.GetText("Input1"),sKelime , 1, true);
if sBul == -1 then
return sKelime
end
return "";
end


Input.SetText("Input1", Input.GetText("Input1") .. sayiBul());



Örnekteki gibi iki adet input ayarladım ben üsttekinde kelimenin doğrusu altada her butona basıldıgında bir ip  ucu harfi vermekte aynı harf tekrardan çıkmaz.

 

WRtUD3j.png

 

 

@Kintaro fonksiyonu yazıyordum abi.

Edited by TeYyArEe
Link to comment
Share on other sites

Yukarıdaki script olmadı.
İki gündür uğraşıyorum ama döngüyü kuramadım.
şu şekilde döngüyü kurarsak sanırım olur.
ben script olarak ifade edemedim.
 
yeni bir table açılacak.
kelimenin uzunluğu rakam olarak belirlenecek.
daha sonra Random ile 1 ve kelime uzunluğu kaçsa o arada rastgele rakam belirlenecek
bu rakam table'da yoksa table'a eklenecek ve bu rakam kelimenin kaçıncı harfi ise o harf ekrana ipucu olarak verilecek.
bu rakam table'da varsa farklı rakam gelinceye kadar random ile yeni, benzersiz rakam alınacak ve farklı rakam gelirse table'a eklenecek ve sıraya göre harf değeri ipucu harf olarak ekrana verilecek.
 
bütün bunlar butona her tıkladığımızda olacak.
Link to comment
Share on other sites

Burada blackman12 sayısal loto tahmin için bir script yazmıştı. Aslında amaç aynı 6 tane farklı rakam belirlemek, tabi sayısal loto scriptinde rakamların hepsi aynı anda çıkıyor. ben uyarlamaya çalıştım ama beceremedim. benim döngü sonsuza giriyor hep :(

 

 

http://www.tnctr.com/topic/190108-sayysal-loto-tahmini/#entry1125830

Link to comment
Share on other sites

  • Editor

Neccoy Şanslıısn Bİtti :D

 

Şimdi anlattıklarımı güzelce uygulaman lazım programına.

 

Öncelikle kelime için listboxtan seçiyor yani ipucunu alacağı kelime listboxta listboxun on select kısmındamı kullanırsın bilmem kullanıcı soruya başlamadan önce illaki kelime seçicek.O kelimenin tamamını.

 

Global Functions :

skelime = {};
temp = {};

Seçim tuşu yada listbox ta seçtiyse 

sText = gönderilecek kelime
for i=1,#sText do
skelime[i] = String.Mid(sText,i,1);
end

Burada sText değişkenimize kelimenin tamamını göndermen lazım.

 

Daha sonrada harf al butonuna bu kodları yazacaksınız.

--Debug.ShowWindow(true);
function table.contains(table, element)
  for _, value in pairs(table) do
    if value == element then
      return true
    end
  end
  return false
end

while 0 < 1 do
		stext = Math.Random(1,Table.Count(skelime));
		if table.contains(temp, stext) == false then		
			temp[Table.Count(temp) + 1] = stext;
			--Debug.Print("\r\nVar" .. " Tablo Sayısı : "..Table.Count(temp) .. " stext : "..stext);
			Input.SetText("Input1",Input.GetText("Input1") .. skelime[stext]);
			break;
		end
		--Debug.Print("\r\nYok");
		if (Table.Count(temp) == Table.Count(skelime)) then
		--Debug.Print("\r\nTablo Doldu");					
		 break;
		end
end

Input1 e aldıgı harfi basacaktır.Hadi Kolay gele.

Edited by pairs
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...