Random 显示每日提示,无数据库

Random 显示每日提示,无数据库,random,asp-classic,Random,Asp Classic,我有大约100个提示,我需要在一个网站上随机显示,每天都有不同的提示,并且没有访问数据库的权限。我曾想过将提示放入数组组,并将每个组与一个月的某一天关联,但这不会使提示随机出现。完成这项任务的相对轻松的方法是什么?选择一个介于1和100之间的随机数,显示该提示 如果磁盘上有提示,请将其命名为文件1.tip到100.tip,然后当您选择号码时,只需读入并显示该文件 如果您的内存中有一些提示(数组最容易),只需显示随机数减去1所指向的提示(假设您有基于零的数组索引) 除非我在这里遗漏了一些基本的东西

我有大约100个提示,我需要在一个网站上随机显示,每天都有不同的提示,并且没有访问数据库的权限。我曾想过将提示放入数组组,并将每个组与一个月的某一天关联,但这不会使提示随机出现。完成这项任务的相对轻松的方法是什么?

选择一个介于1和100之间的随机数,显示该提示

如果磁盘上有提示,请将其命名为文件1.tip到100.tip,然后当您选择号码时,只需读入并显示该文件

如果您的内存中有一些提示(数组最容易),只需显示随机数减去1所指向的提示(假设您有基于零的数组索引)


除非我在这里遗漏了一些基本的东西,否则这就是基本要点。

选择一个介于1和100之间的随机数,显示该提示

如果磁盘上有提示,请将其命名为文件1.tip到100.tip,然后当您选择号码时,只需读入并显示该文件

如果您的内存中有一些提示(数组最容易),只需显示随机数减去1所指向的提示(假设您有基于零的数组索引)


除非我在这里遗漏了一些基本的东西,否则这就是基本要点。

因为您希望一天只显示一个提示,并且无法存储任何状态,所以可以执行以下操作:

  • 使用某种确定性方法对提示进行排序
  • 将今天的日期作为随机数生成器的种子
  • 显示
    i
    th提示,其中
    i=random.Next(numTips)
  • 每次重复此整个过程(包括重新为随机数生成器播种)
  • 如果还希望确保每个提示在重复提示之前至少显示一次:

  • 为随机数生成器设定一个常数值(不是当前时间,这很重要)
  • 使用您创建的不太随机的数字生成器将元素洗牌。或者使用LINQ:

    tips.OrderBy(x => random.Next()).ToArray();
    
  • 显示
    i
    th tip mod
    tips.Length
    其中
    i
    是自纪元起的天数

  • 由于您希望一天只显示一个提示,并且无法存储任何状态,因此可以执行以下操作:

  • 使用某种确定性方法对提示进行排序
  • 将今天的日期作为随机数生成器的种子
  • 显示
    i
    th提示,其中
    i=random.Next(numTips)
  • 每次重复此整个过程(包括重新为随机数生成器播种)
  • 如果还希望确保每个提示在重复提示之前至少显示一次:

  • 为随机数生成器设定一个常数值(不是当前时间,这很重要)
  • 使用您创建的不太随机的数字生成器将元素洗牌。或者使用LINQ:

    tips.OrderBy(x => random.Next()).ToArray();
    
  • 显示
    i
    th tip mod
    tips.Length
    其中
    i
    是自纪元起的天数

  • 在提示显示文件中,有一个功能可以检查会话开始部分中的日期。让日期检查器计算一年中的哪一天-第1天、第2天、第3天、第100天


    根据年度天数选择tip文件。如果大于100,则在提示显示文件中的1处重新启动。

    具有检查会话开始部分中日期的功能。让日期检查器计算一年中的哪一天-第1天、第2天、第3天、第100天


    根据年度天数选择tip文件。如果大于100,则在1时重新启动。

    我按照这些思路思考,但是提示需要显示一天,即今天重新加载页面不会更改显示的提示,只有明天,等等。我按照这些思路思考,但是提示需要显示一天,即今天重新加载页面不会更改显示的提示,只有明天,等等。