[ 01011011 @ 27.11.2002. 06:25 ] @
Kako ovo da odradim, svaka funkcija koju sam proabo mi ne daje integer, meni je potreban integer i broj izmedju 1 i 100

Probao sam ovako

Dim rand As New Random(12345)

pa onda

Dim intValue As Integer = rand.Next(100)


ali mi daje i brojeve kao sto su 65.4 ....32.5 i tako dalje...
Ne kontam..

Kkao da napravim recimo da korisnik pogadja broj od 1 do 100 i da je broj random.
[ Shadowed @ 27.11.2002. 17:51 ] @
Pa koristi int funkciju da odseces decimalni deo:

Umesto
Dim intValue As Integer = rand.Next(100)
stavi
Dim intValue As Integer = int(rand.Next(100))

Ja bas i nisam nesto mnogo upoznat sa slucajnim brojevima (pogotovo ako ima razlike izmedju .NET-a i 6-ice) ali ako ti vraca broj sa decimalama onda bi ovo trebalo da resi problem. Inace ja random brojeve koristim po principu:

a=int(100*rnd)+1

ako hocu od 1 do 100
[ degojs @ 27.11.2002. 19:39 ] @
Prvo, koristenjem istog semena uvek ces dobiti isti niz slucajnih brojeva.
Drugo, kako uspeva da ti vrati ne-cele brojeve kad sva tri oblika .Next() daju nazad tip Integer?

Za inicijalizaciju semena moze nesto poput:
Dim myRand As New Random(CInt(Now.Ticks And Integer.MaxValue))

Za dobivanje slucajnog broja (integer) izmedju 1 i 100 kasnije koristis:
i = myRand.Next(1,101)

pozdrav
[ bOkIcA @ 27.11.2002. 19:58 ] @
Citat:
degojs:
Prvo, koristenjem istog semena uvek ces dobiti isti niz slucajnih brojeva.


Dim broj As Integer
Dim izaberi As New Random() ' <-- sta je ovde "seme", da li se i ovde desava ista stvar?

broj = izaberi.Next(1, 101)
[ Shadowed @ 27.11.2002. 20:24 ] @
Citat:
degojs:
Prvo, koristenjem istog semena uvek ces dobiti isti niz slucajnih brojeva.

pozdrav

To sam i ja primetio. Ne znam zasto (zapravo ne znam kako rade ovi random brojevi) ali sam provalio da kada pokrenes funkciju Randomize pre koriscenja Rnd onda je sve ok brojevi nikad bili samo sam zaboravio da napisem u prethodnom postu
[ degojs @ 27.11.2002. 23:15 ] @
Sto se tice New Random() konstruktora, pogledaj u MSDN.

pozdrav
[ 01011011 @ 28.11.2002. 06:27 ] @
E sd mi jos treba mala pomoc da zavrsim sto sam naumio...
Naime, sve mi radi kako treba mada taj tvoj random broj mi non stop izbaciva broj 71 kao random...ne znam kako???/
hehehe
kako god probam...

I sta me jos interesuje je kako kad je jedno dugme active onako da se moze pritisnuti sa enterom, kako da to prekinem i da posle neke akcije bude neko drugo dugme...

evo code. Pomognite..
Code:

Dim temp As Integer, numberOfGuess As Integer = 0

    Private Sub frmMagicNumber_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        temp = Int(100 * Rnd()) + 1
        numberOfGuess = 0
        btnNewGame.Hide()

    End Sub

    Private Sub btnGuess_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGuess.Click
        Dim guess As Integer, intValue As Integer
        guess = txtGuess.Text

        intValue = temp

        numberOfGuess = numberOfGuess + 1
        If (IsNumeric(intValue)) Then
            If Val(intValue) > guess Then
                lblGuess.Text = guess & " is too LOW, try again."
            ElseIf Val(intValue) < guess Then
                lblGuess.Text = guess & " is too HIGH, try again."
            Else
                lblGuess.Text = "You got it in " & numberOfGuess & " tries."
                btnNewGame.Show()
            End If
        End If

    End Sub

    Private Sub btnNewGame_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNewGame.Click
        txtGuess.Text = Nothing
        numberOfGuess = Nothing
        lblGuess.Text = Nothing
    End Sub
[ Shadowed @ 28.11.2002. 08:41 ] @
Pa da ti ne bi izbacio stalno 71 pre svake upotrebe (mada bi trebalo da je dovoljno samo jednom) funkcije Rnd pokreni jednom funkciju Randomize.
[ degojs @ 28.11.2002. 08:49 ] @
Mozda bi bilo pametno, zbog kompatibilnosti sa ostalim jezicima na .NET platformi, sto manje koristiti stvari vezane specificno za VB, cak bih predlozio izbacivanje referenci na Microsoft.VisualBasic ... al' dobro, tvoja odluka :)

Ubaci jedno randomize(timer) u Load dogadjaj forme pre dobivanja slucajnog broja.
Sto se setovanja fokusa tice... button.focus bi trebalo da radi.

Nisam proverio odgovore, ali trebalo bi da je to sto tebi treba:)
[ 01011011 @ 29.11.2002. 09:17 ] @
Super, evo forum je bio down nekoliko dana, pa nisam mogao nista da postavim, ovo sa FOCUS mi radi, hvala mnogo, i Randomize() mi radi
stavio sam ovako...

Code:

  Dim temp As Integer, numberOfGuess As Integer = 0

    Private Sub frmMagicNumber_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Randomize()
        temp = Int(100 * Rnd()) + 1
        numberOfGuess = 0
        btnNewGame.Hide()

    End Sub

    Private Sub btnGuess_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGuess.Click
        Dim guess As Integer, intValue As Integer
        guess = txtGuess.Text

        intValue = temp

        numberOfGuess = numberOfGuess + 1
        If (IsNumeric(intValue)) Then
            If Val(intValue) > guess Then
                lblGuess.Text = guess & " is too LOW, try again."
            ElseIf Val(intValue) < guess Then
                lblGuess.Text = guess & " is too HIGH, try again."
            Else
                lblGuess.Text = "You got it in " & numberOfGuess & " tries."
                btnNewGame.Show()
                btnNewGame.Focus()
            End If
        End If

    End Sub

    Private Sub btnNewGame_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNewGame.Click
        txtGuess.Text = Nothing
        numberOfGuess = Nothing
        lblGuess.Text = Nothing

    End Sub



E sada sta je problem, daje on meni random number i sve je to cool, medjutim kada kliknem na New Game, na kraju onda mi ponavlja isti broj koji sam prvi put gadjao i ne daje mi novi broj sve dok ne bude nova forma se ulodovala, i napravila...???
Kako da ovo resim,....
[ degojs @ 01.12.2002. 05:57 ] @
Pa valjda bi trebalo da kompjuter 'zamisli' novi slucajni broj svaki put kad kliknes dugme New game, a ne samo u frmMagicNumber_Load...
[ 01011011 @ 01.12.2002. 10:01 ] @
I nisam veoma dobar sa VB pocetnik sam, kako da to napravim ?
[ degojs @ 01.12.2002. 17:45 ] @
S obzirom na kompjuterske vestine navedene u tvom profilu ne vidim da bi ti to trebao biti problem.


Ne znam zasto, ali cini mi se da mi resavamo tvoj asajment sa koledza?