我创建一个较小的股票经纪游戏作为一个侧项目和遇到过的一个问题

0

的问题

目前,游戏的随机化的新股票的价值在游戏中每天时间form5关闭并重新打开. 我的目标是要有一个随机的价值在天: 2, 8, 5, 3, 13, 24, 29, 在目前的游戏,创建一个值设置为一天,但是当这游戏中的一天结束和第二天开始,两个第一天和两个价格是随机的。 当这种形式,是关闭和重新开放的价格随机对这些2天一次。

这里是电子程序,用于窗体2:这种形式显示提供货品牌的用户可以进行投资,这显示了子程序,用于在用户点击特斯拉的股份:

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

你的一些问题是由不具有选择严格。 它应该是。 项目属性-->编制标签。 还为未来项目的工具->的选择->项目和解决方案-->VB默认值

职能vb.net 需要一个 Type 和一个 Return 发言。 你不回任何东西那为什么你使用 Function? 使用 Sub.

我不知道什么 DAYno 在窗体2但是当我看到一个 Text 这意味着一个酒店 String 给我。 你不能有一个 StringTo 条款的一个 For 循环,这样的 CInt()

声明的一个实例 Random 类的 Class水平。 我们只需要一个新的随机数(不是一个新的实例 Random 类)每一次迭代。 近我能做出来,这将是一个数1之间的一个12. 我都不记得 Rnd(). 的 Next 方法 Random 类提供了一个 Integer 包容性的第一个论点,并低于第二位。

所有这些 If...ElseIfs必须几乎完全相同的代码。 我试图整理出一个 Select Case. 第2起案件发送一 Integerat1986 但第三发 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ý
..................................................................................................................