Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako da kad god udjem u igru bude drugo pitanje?

[es] :: Visual Basic 6 :: Kako da kad god udjem u igru bude drugo pitanje?

[ Pregleda: 2435 | Odgovora: 19 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Sloba96
Slobodan Mirkovic
Negotin

Član broj: 191370
Poruke: 69
*.smin.itsisp.net.



Profil

icon Kako da kad god udjem u igru bude drugo pitanje?18.11.2008. u 18:17 - pre 188 meseci
Pravim neki kviz pa mi to treba ako neko ovo zna neka mi kaze i ako je bilo reci o ovome nemojte da mi zamerite za to sto nemam brz net pa nemogu da pregledam sve...
 
Odgovor na temu

Blue82
dipl. ecc.

Član broj: 165981
Poruke: 838
*.adsl-a-1.sezampro.yu.



+322 Profil

icon Re: Kako da kad god udjem u igru bude drugo pitanje?18.11.2008. u 18:57 - pre 188 meseci
Cao Slobo, ti si mi omiljen ovde!
Code:

Randomize
Broj_pitanja = Int(1 + 9 * Rnd)


Promenjaiva Broj_pitanja ce ti dati nasumicni broj pitanja u ovom slucaju od 1 do 9. Ti postavi da bira od 1 do onog broja koliko gotovih pitanja imas znaci ako imas 100 pitanja bice 1+100 a ako imas 3 pitanj bice 1+3

Pozdrav!
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: Kako da kad god udjem u igru bude drugo pitanje?18.11.2008. u 22:11 - pre 188 meseci
Da, samo ta funkcija ima manu, a to je da svakim ponovnim startanjem programa daje isti niz random brojeva.
ali uz malu doradu...

Code:

Public Function Random() As Long
Dim Broj As Integer

  'Broj = Minute(Now) & Second(Now)
  Broj = Second(Now)
  Random = Int((Broj * Rnd) + Second(Now))

End Function

SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

Blue82
dipl. ecc.

Član broj: 165981
Poruke: 838
*.adsl-a-1.sezampro.yu.



+322 Profil

icon Re: Kako da kad god udjem u igru bude drugo pitanje?18.11.2008. u 23:27 - pre 188 meseci
Ona funkcija Dava nema manu! Imala bi tu manu da nema naredbe randomize koja na osnovu vremena sistemskog sata racuna slucajni broj te on s toga NIKADA nece biti isti svakim ponovnim startovanjem. A sem toga tvoj kod nema ni ogranicenje broja pitanja.
Poz!



[Ovu poruku je menjao Blue82 dana 19.11.2008. u 00:39 GMT+1]
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Kako da kad god udjem u igru bude drugo pitanje?19.11.2008. u 00:25 - pre 188 meseci
to se uglavnom radi ovako:
Code:

Randomize Timer ' ovo ubaciti u Form_Load ili Sub Main (zavisi sta je entry-point)
...

Function GetRandom(min As Long, max As Long) As LOng
   GetRandom = Int((max - min + 1)*RNd) + min
ENd Function

i gde ti treba random broj u opsegu (na primer) od 1 do 10 pozivas:
Code:

GetRandom(1, 10)

 
Odgovor na temu

Sloba96
Slobodan Mirkovic
Negotin

Član broj: 191370
Poruke: 69
*.smin.itsisp.net.



Profil

icon Re: Kako da kad god udjem u igru bude drugo pitanje?19.11.2008. u 13:27 - pre 188 meseci
e hvala puno ljudi to je to
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: Kako da kad god udjem u igru bude drugo pitanje?19.11.2008. u 20:06 - pre 188 meseci
Moja greska ;)
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

zzzzeljko
ucenik

Član broj: 201755
Poruke: 20
*.101.eunet.yu.



Profil

icon Re: Kako da kad god udjem u igru bude drugo pitanje?18.01.2009. u 11:26 - pre 186 meseci
Code:
Public tacno As Integer



Private Sub cmdSledece_Click()



If Frame1.Caption = "Pitanje broj 1" And Form1.Option1.Value = True Then tacno = tacno + 1
If Frame1.Caption = "Pitanje broj 2" And Form1.Option3.Value = True Then tacno = tacno + 1
If Frame1.Caption = "Pitanje broj 3" And Form1.Option1.Value = True Then tacno = tacno + 1

MsgBox "Tacnih odgovora " & tacno

Call Form_Load



End Sub

Private Sub Form_Load()

Dim pitanje(0 To 2, 0 To 3) As String


pitanje(0, 0) = "Koji je nas najtrofejniji fudbalski klub?"
pitanje(0, 1) = "Crvena zvezda"
pitanje(0, 2) = "Partizan"
pitanje(0, 3) = "Obilic"
pitanje(1, 0) = "Sta je brze ili zec?"
pitanje(1, 1) = "Zec"
pitanje(1, 2) = "Ili"
pitanje(1, 3) = "Nista od svega"
pitanje(2, 0) = "Koje od navedenih boja nije osnovna?"
pitanje(2, 1) = "Bela"
pitanje(2, 2) = "Plava"
pitanje(2, 3) = "Zuta"





Form1.lblPitanje.Caption = pitanje(x, 0)
Form1.Option1.Caption = pitanje(x, 1)
Form1.Option2.Caption = pitanje(x, 2)
Form1.Option3.Caption = pitanje(x, 3)
Form1.Frame1.Caption = "Pitanje broj " & x + 1

End Sub

Kako da stavim u ovaj kod random funkciju da se pitanja nasumicno smenjuju?
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Kako da kad god udjem u igru bude drugo pitanje?18.01.2009. u 11:38 - pre 186 meseci
Code:

x = GetRandom(LBound(pitanje), UBound(pitanje))

 
Odgovor na temu

zzzzeljko
ucenik

Član broj: 201755
Poruke: 20
*.21.eunet.yu.



Profil

icon Re: Kako da kad god udjem u igru bude drugo pitanje?18.01.2009. u 16:29 - pre 186 meseci
Code:

Public tacno As Integer



Private Sub cmdSledece_Click()



If Frame1.Caption = "Pitanje broj 1" And Form1.Option1.Value = True Then tacno = tacno + 1
If Frame1.Caption = "Pitanje broj 2" And Form1.Option3.Value = True Then tacno = tacno + 1
If Frame1.Caption = "Pitanje broj 3" And Form1.Option1.Value = True Then tacno = tacno + 1

MsgBox "Tacnih odgovora " & tacno

Call Form_Load



End Sub

Function RandomPitanje() As Integer

Randomize Timer

RandomPitanje = (Int((5 * Rnd)))

End Function


Private Sub Form_Load()

Dim pitanje(0 To 2, 0 To 3) As String


pitanje(0, 0) = "Koji je nas najtrofejniji fudbalski klub?"
pitanje(0, 1) = "Crvena zvezda"
pitanje(0, 2) = "Partizan"
pitanje(0, 3) = "Obilic"
pitanje(1, 0) = "Sta je brze ili zec?"
pitanje(1, 1) = "Zec"
pitanje(1, 2) = "Ili"
pitanje(1, 3) = "Nista od svega"
pitanje(2, 0) = "Koje od navedenih boja nije osnovna?"
pitanje(2, 1) = "Bela"
pitanje(2, 2) = "Plava"
pitanje(2, 3) = "Zuta"


x=RandomPitanje()


Form1.lblPitanje.Caption = pitanje(x, 0)
Form1.Option1.Caption = pitanje(x, 1)
Form1.Option2.Caption = pitanje(x, 2)
Form1.Option3.Caption = pitanje(x, 3)
Form1.Frame1.Caption = "Pitanje broj " & x + 1

End Sub
Probao sam ovako. E sad, nekad mi se pri menjanju pitanja dogodi da se pojave dva ista pitanja za redom.
Moze li to nekako da se ispravi?
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Kako da kad god udjem u igru bude drugo pitanje?18.01.2009. u 20:45 - pre 186 meseci
moze da se ispravi naravno, za pocetak bih ti predlozio da umesto vise-dimenzionalnih nizova koristis udt (user define type):
Code:

Type Question
   Text   As String                ' text pitanja
   Answer(0 to 2) As String    ' niz ponudjenih odgovora
   CorrectAnswer As Long       ' index tacnog odgovora
End Type

....

Dim pitanje(0 to 5) As Question

pitanje(0).Text = "tekst pitanja"
pitanje(0).Answer(0) = "odgovor A"
pitanje(0).Answer(1) = "odgovor B"
pitanje(0).Answer(2) = "odgovor C"
pitanje(0).CorrectANswer = 1 ' recimo da je tacan odgovor pod B
.....

Dim i As Long, x as Long, tmp As Question
Dim min As Long = LBound(pitanje)
Dim max As Long = UBound(pitanje)

For i = min to max
   x = GetRandom(min, max)
   tmp = pitanje(x)
   pitanje(x) = pitanje(i)
   pitanje(i) = tmp
Next

sada ce ti niz pitanje biti izmesan i mozes da ga citas clan po clan (prvo pitanje(0) pa pitanje(1)....) i (skoro) uvek ce biti drugaciji redosled pitanja a neces imati ponavljanja pitanja (dok ne "ispucas" sva pitanja iz niza)
 
Odgovor na temu

zzzzeljko
ucenik

Član broj: 201755
Poruke: 20
*.129.eunet.yu.



Profil

icon Re: Kako da kad god udjem u igru bude drugo pitanje?19.01.2009. u 10:39 - pre 186 meseci
Code:
Type Question
   Text   As String                ' text pitanja
   Answer(0 To 2) As String    ' niz ponudjenih odgovora
   CorrectAnswer As Long       ' index tacnog odgovora
End Type

Private Sub Command1_Click()
Dim i As Long, x As Long, tmp As Question
Dim min As Long=LBound(pitanje)
Dim max As Long=UBound(pitanje)
For i = min To max
   x = GetRandom(min, max)
   tmp = pitanje(x)
   pitanje(x) = pitanje(i)
   pitanje(i) = tmp
Next

End Sub

Private Sub Form_Load()

Dim pitanje(0 To 2) As Question

pitanje(0).Text = "Koliko ima dana u godini?"
pitanje(0).Answer(0) = "356"
pitanje(0).Answer(1) = "odgovor B"
pitanje(0).Answer(2) = "odgovor C"
pitanje(0).CorrectAnswer = 1
pitanje(1).Text = "Wind of change je pesma grupe?"
pitanje(1).Answer(0) = "Children of Bodom"
pitanje(1).Answer(1) = "Aerosmith"
pitanje(1).Answer(2) = "Scorpions"
pitanje(1).CorrectAnswer = 3

End Sub
Stavio sam nesto samo sa dva pitanja da probam, ali meni se pojavljuje neka greska....
 
Odgovor na temu

zzzzeljko
ucenik

Član broj: 201755
Poruke: 20
*.149.eunet.yu.



Profil

icon Re: Kako da kad god udjem u igru bude drugo pitanje?19.01.2009. u 14:55 - pre 186 meseci
Code:
Public tacno As Integer 
Dim pitanje(0 To 2, 0 To 4) As String 



Private Sub cmdSledece_Click() 

For i = 0 To 2 

    If Form1.lblPitanje.Caption = pitanje(i, 0) And Form1.Option1(pitanje(i, 4)).Value = True Then tacno = tacno + 1 
Next i 

MsgBox "Tacnih odgovora " & tacno 
Call ime_funkcije ()

End Sub 

Private Sub Form_Load() 
tacno = 0 

pitanje(0, 0) = "Koji je nas najtrofejniji fudbalski klub?" 
pitanje(0, 1) = "Crvena zvezda" 
pitanje(0, 2) = "Partizan" 
pitanje(0, 3) = "Obilic" 
pitanje(0, 4) = "1" 
pitanje(1, 0) = "Sta je brze ili zec?" 
pitanje(1, 1) = "Zec" 
pitanje(1, 2) = "Ili" 
pitanje(1, 3) = "Nista od svega" 
pitanje(1, 4) = "3" 
pitanje(2, 0) = "Koje od navedenih boja nije osnovna?" 
pitanje(2, 1) = "Plava" 
pitanje(2, 2) = "Bela" 
pitanje(2, 3) = "Zuta" 
pitanje(2, 4) = "2" 

Call ime_funkcije ()
End Sub 

Function RandomPitanje() As Integer 

Randomize 

RandomPitanje = Int(1 + 3 * Rnd) 

End Function 

Private Function ime_funkcije() 

x = RandomPitanje() 


Form1.lblPitanje.Caption = pitanje(x, 0) 
Form1.Option1(1).Caption = pitanje(x, 1) 
Form1.Option1(2).Caption = pitanje(x, 2) 
Form1.Option1(3).Caption = pitanje(x, 3) 
Form1.Frame1.Caption = "Pitanje broj " & x + 1 

End Function
Ne znam zasto mi ne radi, pise Comple error: Method or data member not found.....Molim Vas, pomoc!
 
Odgovor na temu

Aleksandar Vasic
Web Administrator, Uspon d.o.o
Čačak

Član broj: 91692
Poruke: 1226
78.30.146.*

Sajt: www.vasictech.net


+1 Profil

icon Re: Kako da kad god udjem u igru bude drugo pitanje?19.01.2009. u 15:25 - pre 186 meseci
na koju liniju prijavljuje gresku?
 
Odgovor na temu

zzzzeljko
ucenik

Član broj: 201755
Poruke: 20
*.207.eunet.yu.



Profil

icon Re: Kako da kad god udjem u igru bude drugo pitanje?19.01.2009. u 16:13 - pre 186 meseci
Na private function ime_funkcije ()....
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Kako da kad god udjem u igru bude drugo pitanje?19.01.2009. u 18:20 - pre 186 meseci
problem sa tvojim kodom (ovim sto koristi udt) je sto si niz pitanje deklarisao kao privatnu promenljivu metode Form_Load a kasnije pokusavas da joj pristupis iz druge metode (gde ta promenljiva nije vidljiva, i gde ne postoji).
Potrebno je da taj niz definises na nivou modula (forme tj) tako da bi bio vidljiv u svim metodama forme, takodje, kod za mesanje niza treba da pozoves samo jedanput.

Ovako nekako:
Code:

Type Question
   Text   As String                ' text pitanja
   Answer(0 To 2) As String    ' niz ponudjenih odgovora
   CorrectAnswer As Long       ' index tacnog odgovora
End Type

Dim pitanje(0 To 1) As Question
Dim trenutnoPitanje As Long

Private Sub SledecePitanje()

   trenutnoPitanje = trenutnoPitanje + 1
   If trenutnopitanje > UBOund(pitanje) then trenutnoPitanje = 0 ' obrnuo si krug...

   lblPitanje.Caption = pitanje(trenutnoPitanje).Text
   Option1(1).Caption = pitanje(trenutnoPitanje).Answer(0)
   Option1(2).Caption = pitanje(trenutnoPitanje).Answer(1)
   Option1(3).Caption = pitanje(trenutnoPitanje).Answer(2)
   Frame1.Caption = "Pitanje broj " & (trenutnoPitanje + 1) 

End Sub

Private Sub Form_Load()

pitanje(0).Text = "Koliko ima dana u godini?"
pitanje(0).Answer(0) = "356"
pitanje(0).Answer(1) = "odgovor B"
pitanje(0).Answer(2) = "odgovor C"
pitanje(0).CorrectAnswer = 0
pitanje(1).Text = "Wind of change je pesma grupe?"
pitanje(1).Answer(0) = "Children of Bodom"
pitanje(1).Answer(1) = "Aerosmith"
pitanje(1).Answer(2) = "Scorpions"
pitanje(1).CorrectAnswer = 2


Dim i As Long, x As Long, tmp As Question
Dim min As Long=LBound(pitanje)
Dim max As Long=UBound(pitanje)
For i = min To max
   x = GetRandom(min, max)
   tmp = pitanje(x)
   pitanje(x) = pitanje(i)
   pitanje(i) = tmp
Next

trenutnoPitanje = -1

SledecePitanje ' ucitavas sledece (prvo) pitanje

End Sub

 
Odgovor na temu

zzzzeljko
ucenik

Član broj: 201755
Poruke: 20
*.218.eunet.yu.



Profil

icon Re: Kako da kad god udjem u igru bude drugo pitanje?19.01.2009. u 18:36 - pre 186 meseci
Ne moze da mi se pokrene program zbog ovog dela koda
Code:
Dim min As Long=LBound(pitanje)
Dim max As Long=UBound(pitanje)
- inace ovo je crvene boje
Plus pise greska Compile error - Cannot define a Public-user defined type within private object module


[Ovu poruku je menjao zzzzeljko dana 19.01.2009. u 19:54 GMT+1]
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Kako da kad god udjem u igru bude drugo pitanje?19.01.2009. u 20:52 - pre 185 meseci
umesto Type Question stavi Private Type Question a tu min/max deklaraciju pokusaj sam da napises ispravno...
 
Odgovor na temu

zzzzeljko
ucenik

Član broj: 201755
Poruke: 20
*.27.eunet.yu.



Profil

icon Re: Kako da kad god udjem u igru bude drugo pitanje?20.01.2009. u 09:01 - pre 185 meseci
Code:

trenutnoPitanje = -1

SledecePitanje ' ucitavas sledece (prvo) pitanje

End Sub
Ovde mi je obelezeno SledecePitanje i pise Invalid use of property
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Kako da kad god udjem u igru bude drugo pitanje?20.01.2009. u 17:43 - pre 185 meseci
ajd'mo ovako: SledecePitanje smo definisali kao funkciju, pitanje za milion dolara: sta se radi sa funkcijama?
 
Odgovor na temu

[es] :: Visual Basic 6 :: Kako da kad god udjem u igru bude drugo pitanje?

[ Pregleda: 2435 | Odgovora: 19 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.