GithubHelp home page GithubHelp logo

xinyuell / dspfindseed Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sselecirpym/dysonsphereprogramseed

148.0 1.0 28.0 7.49 MB

A program help you find seed.

License: GNU General Public License v3.0

C# 100.00%

dspfindseed's Introduction

更新日志

  • 2.8版本

    • 新增了四个星球类型选择
    • 会正确显示新版本的星球类型和资源数据
  • 2.3版本

    • 修复了一个严重的bug,双巨星恒星系会被错误的视为不满足任何条件
  • 1.9版本

    • 增加了恒星数量区间,可以选择最小恒星数量和最大恒星数量,每个种子ID将把对应区间的种子全部搜索完才搜下一个
  • 1.6版本

    • 更新了行星类型的参数下拉列表
    • 增加了关闭窗口的二次确认,同时关闭窗口会杀掉后台的搜索线程
    • 优化了输出的内容
    • 修复了是否有硫酸的结果输出不对的问题
  • 1.5版本

    • 更新了恒星类型的参数下拉列表
    • 优化了输出的内容
  • 1.4版本

    • 修复导出条件报错的问题
  • 1.3版本

    • 更新了高效率重氢的筛选条件,搜索结果也会显示命中星系的最大重氢速率了(适配官方Version 0.8.21.8562新增的高效重氢气态巨星类型)
  • 1.0版本

    • 增加了恒星数的选项,可以选择32-64不同的恒星数
  • 0.9版本

    • 增加了导入种子ID的csv进行搜索的方式
    • 优化了搜索log和进度显示,增加了终止搜索按钮,增加了一些弹窗提示
    • 潮汐锁定的数量只计算永昼永夜类型的潮汐锁定
  • 0.8版本

    • 增加了蓝巨星总数的筛选条件(与磁石相同是整个宇宙的条件)
    • 星系条件里增加了,是否是蓝巨星星系,冰巨星数量,戴森球是否包含第二颗行星的条件
    • 优化了磁石数量的算法
  • 0.6版本

    • 修复了两个BUG
      1. 现在csv文件中会正确记录种子ID了
      2. 现在修改文件名会正确的生效了
  • 0.5版本

    • 增加了单个种子详细数据的写入功能(方便已经开局的游戏,查看全星系数据)
  • 0.3版本

    • 优化了UI布局和说明
    • 增加了气态巨星数量的筛选条件
  • 0.2版本

    • 增加了条件的导入、导出功能
  • CP$EF 8PNKTZKH@6LPV3N86

使用说明

如何开始搜索?

  • 填写种子ID,添加任意条件,点开始按钮即可开始搜索。
  • 单次搜索次数建议1000-10000(一万个大概在30-60秒搜索完),对应一个进程搜100-1000次
  • 追求效率多开到5-10个进程(视电脑cpu能力而定)

字段都什么意思?

  • 条件区基本是字面意思
  • 最上面的三个条件,磁石总数、蓝巨星总数、0型恒星总数,是全宇宙的总数条件
  • 下面的所有条件都是搜索一个满足条件的恒星系
  • 由于戴森球计划恒星系最大星球数量是6,所以开放了6个星球类型选项,不用全选,全选=搜有6个特定星球的星系
  • 矿物数量1单位指一堆矿物,具体多少涉及星球地形的生成算法,会把你搜索时间30秒每万个,变成100秒每万个(大概),所以没有开放
    • 基本稀有矿有1堆已经足够大部分需求了
  • 至少几个星系满足条件可以满足多个星系的追求
    • 例如希望想搜3个0星系都是2.5亮度以上,可以选成3,这样必须有3个这样星系的种子才会命中保存

有一些模棱两可的条件怎么办?

  • 只有满足了所有必须条件的星系种子才会视为命中了搜索条件
  • 一些不强求但是想看看数据作为参考的条件请添加成仅记录条件

多开需要重新选条件吗?

  • 配置好了所有条件之后使用导出条件,可以选择将配置项以json的方式导出
  • 然后在新程序中选择导入条件即可

不想按顺序搜种子怎么办?

  • 支持导入种子ID,要求文件格式是CSV,第一列写种子的ID即可(搜索结果导出的csv文件就满足这个格式)。
  • 所以,可以先粗选,再导入结果细选,套娃搜索
  • 同样,也可以选择单个种子详细信息,填种子ID恒星数量就可以

搜一半不想搜了怎么办?

  • 点终止或者关闭窗口都可以结束搜索。(会有二次确认)

dspfindseed's People

Contributors

aebestach avatar sselecirpym avatar xinyuell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

dspfindseed's Issues

使用运行时无关Random

将URandom1类的Next函数改为

        public int Next()
        {
            if (++inext >= 56)
            {
                inext = 1;
            }
            if (++inextp >= 56)
            {
                inextp = 1;
            }
            int num = SeedArray[inext] - SeedArray[inextp];
            if (num < 0)
            {
                num += 2147483647;//int.MaxValue
            }
            SeedArray[inext] = num;

            if (num >= 1073742080)
            {
                if ((num - 1073742080) % 1024 == 0)
                    return num - 1;
            }
            else
            {
                for (int i = 0; i < 8; i++)
                {
                    int d = 536871040 >> i;
                    int e = 1073741824 >> i;
                    if (num >= d)
                    {
                        if (num < e && (num - d) % (512 >> i) == 0)
                            return num - 1;
                        break;
                    }
                }
            }

            return num;
        }

即可
Next(int)和Next(int,int)暂无解决方案,不过本身误差较小。


在Compute Shader中实现Random,运行8,388,608个测试,每个测试调用6次Next,CPU使用原实现,结果无错误。
比较RTX2070-MaxQ i7-9750H, gpu上运行Random加速比可达3.5 12倍。

关于UI的几个疑问(1.9)

1.六个可选的星球类型是有顺序的吗?比如我指定从左向右从上向下的第一个选项的类型而其他五个不做指定,条件会是“离恒星最近的行星必须是这个类型”吗?
2."是否写矿物数量"是什么意思?

头一次用Issues,不知道是否可以用作提问,也找不到其他联系作者的方式,如有不当之处还请告知m(_ _)m

无法搜索出双气巨星

我搜索很久都没有一个种子 就用一个确定有双气巨星的种子测试也是无法搜索出来 作者麻烦测试下63星01496426这个种子为确定有双气巨星

二次筛选时能否直接搜索种子+恒星数

如题,现在的算法好像只会读取csv中的种子ID,如果先初筛然后二次搜索还是会遍历32~64恒星。可不可以在导入csv时直接读种子+恒星数?这样可以加快二次筛选的速度。

2.8版本种子详情显示目前仍与游戏内不符

游戏 v0.9.26.13034
种子搜索器 v2.8 (Pre-release)
测试用种子: 29366
星区恒星数: 64
资源倍率: 无限
恒星系: Beta Draconis (O型恒星)
测试条件: 沙盒模式
问题详情: 使用种子搜索器写出单个种子详细,csv文件中列出该星系存在光栅石矿脉,而游戏中实际上不存在;行星种类也存在偏差,csv文件显示该星系V号星(第四行星)为飓风石林,而游戏中为黑石盐滩。
csv
gamestar
gameV

能给巨星添加单独条件吗?

您好,我刚发现这工具。
可以多开来搜索效率真的好。可是好像不能像星图工具那样单独给恒星巨星上条件

比如有白巨星,黄巨星作为一个条件

其实我就是想找一找奇观区星种子。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.