내가 만드는 작은 주식 중개업 게임 측면 프로젝트로 도망에 걸쳐 문제

0

질문

현재,게임 랜덤 새로운 주식 가격에 대한 값 게임에서 모든 일간 form5 을 닫고 다시 열. 내 목적은 무작위 값에서 일: 2, 8, 5, 3, 13, 24, 29, 순간에 이 게임을 만들고 설정 값을 위해 하루지만,경우에는 게임에서 하루 종료하고 하루에 두 개의 시작이 모두 하루에 한 두 가격은 무작위로. 이 양식을 닫은 후 다시 열어야 가격 무작위 위한 이러한 2 일 다시합니다.

여기에는 루틴을 위한 form2:이 양식을 사용할 수 있습니다 재고 브랜드를 사용할 수 있는'투자'에서 이 표시 서브루틴를 클릭할 때에는 테슬라는 주식:

Public Shared Sub tesla(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Teslal.Click


    stockbrand.tesla()
    Teslastock.Show()
End Sub

여기에는 루틴을 위한 stockbrand.슬라:

Shared Sub tesla()
    stockrand(2, 8, 5, 3, 13, 24, 29)
End Sub

다음 stockrand 에 대한 책임을 생성하는 임의의 값에서 지정된 일:

 Public Shared Function stockrand(ByVal a As Integer, ByVal b As Integer, ByVal c As Integer, ByVal d As Integer, ByVal e As Integer, ByVal f As Integer, ByVal g As Integer)
    For i As Integer = 1 To Form2.DAYno.Text

        If i = a Then
            Teslastock.at1986(a.ToString & "/8/86 1986", CInt(Int((11 * Rnd()) + 1)) * 2000)

        ElseIf i = b Then
            Teslastock.at1986(i.ToString & "/8/86 1986", CInt(Int((11 * Rnd()) + 1)) * 2000)

        ElseIf i = c Then
            Teslastock.at1986(i.ToString & "/8/86 1986", CInt(Int((11 * Rnd()) + 1)) * 2000)

        ElseIf i = d Then
            Teslastock.at1986(i.ToString & "/8/86 1986", CInt(Int((11 * Rnd()) + 1)) * 2000)

        ElseIf i = e Then
            Teslastock.at1986(i.ToString & "/8/86 1986", CInt(Int((11 * Rnd()) + 1)) * 2000)

        ElseIf i = f Then
            Teslastock.at1986(i.ToString & "/8/86 1986", CInt(Int((11 * Rnd()) + 1)) * 2000)

        ElseIf i = g Then
            Teslastock.at1986(i.ToString & "/8/86 1986", CInt(Int((11 * Rnd()) + 1)) * 2000)
        Else
            Teslastock.at1986(i.ToString & "/8/86 1986", Math.Sin(i) * 2000)
        End If
    Next
End Function

그래프에 의해 생성 함수와 비슷하게 죄를 그래프로 예외에서 지정된 일과 부정적인 가격 값을 곱하여 -1 를 제공 합리적인 가격

Teslastock.쇼 표시 양식에서는 그래프에 위치

vb.net
2021-11-23 21:56:57
1

최고의 응답

0

문제의 일부로 인해 발생하지 않는 옵션은 엄격한다. 야 합니다. 프로젝트 속성->컴파일 탭입니다. 또한 미래를 위해 프로젝트 Tools->Options->프로젝트 및 솔루션>VB 기본값

기능 vb.net 요 TypeReturn 문입니다. 당신은 반환하지 않는 아무것도 그렇게 이유가 당신을 사용하여 Function? 용 Sub.

I don't know what DAYno 에 Form2 이지만 내가 볼 때 Text 산지 String 다. 당신은 할 수 없 StringTo 절의 For 루프라 CInt()

을 선언하의 인스턴스 Random 에서 클래스 Class수준입니다. 우리는 새로운 임의의 번호(지의 새 인스턴스 Random 클래스)한 번 반복이다. 근처로 만들 수 있는,그것은 것 사이의 숫자를 1 12. 내가 간신히 기억 Rnd(). 이 Next 방법 Random 클래스가 제공하는 Integer 인클루시브의 첫 번째 인수하고 보다 적은 두 번째입니다.

모든 사람들 If...ElseIfs 가 거의 동일한 코드입니다. 나는 그것을 밖으로 정렬과 Select Case. 첫번째 2 개의 케이스로 보내 Integer 하기 at1986 그러나 세 번째 전송 Double따라서는 2 가지 방법인에 Teslastock 클래스가 다른 서명이 있습니다.

어쩌면 당신의 문제가 사라집니다 이러한 보정이 가능합니다.

Private Rand As New Random()

Public Sub stockrand(ByVal a As Integer, ByVal b As Integer, ByVal c As Integer, ByVal d As Integer, ByVal e As Integer, ByVal f As Integer, ByVal g As Integer)
    For i As Integer = 1 To CInt(Form2.DAYno.Text)
        Dim r = Rand.Next(1, 13)
        Select Case i
            Case a
                Teslastock.at1986($"{a}/8/86 1986", r * 2000)
            Case b, c, d, e, f, g
                Teslastock.at1986($"{i}/8/86 1986", r * 2000)
            Case Else
                Teslastock.at1986($"{i}/8/86 1986", Math.Sin(i) * 2000)
        End Select
    Next
End Sub

Public Class Teslastock
    Public Shared Sub at1986(strDate As String, aNumber As Integer)
        'Some code
    End Sub

    Public Shared Sub at1986(strDate As String, aNumber As Double)
        'Some code
    End Sub
End Class
2021-11-24 03:29:56

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................