IPvGO围棋游戏
bitburner吧
全部回复
仅看楼主
level 8
itkdqwzero 楼主
每个难度的AI都有对应的组织.
最简单的难度对应Netburners, 然而比hacknet升级点点点很麻烦, 不然这个难度是必赢的.
第二个难度对应上图所示的Slum Snakes, 提升犯罪的成功率. 也是一条线.
犯罪比hacknet好吗? 不见得, 两种是不一样的, 没有可比性.
2024年06月01日 11点06分 1
level 8
itkdqwzero 楼主
第三个难度. 这个能增加 hacking money , 这点在前期是比较有用的.
转生后的前期, 买不动股票, 就靠hack.
不过我玩这个难度容易输.
一局加个1.5%左右, 加得不多, 加个一千倍也干不过后期的股票.
仔细想想, 在城市中的商店可以升级home的服务器, 这个升级可是以2的n次方指数级上涨. 能干过股票也不是不可能.
2024年06月01日 11点06分 2
level 8
itkdqwzero 楼主
关于编程, ns.go.analysis.getChains(); 这个函数是返回所有格子对应的区块ID, 一个连续空位有一个ID, 一个连续的某方落子有一个ID.
一列为一组, 从左往右N列. 在一列当中, 从下往上数.
2024年06月01日 13点06分 3
level 8
itkdqwzero 楼主
落子:
ns.go.makeMove(2,1);
先列后行:第一个参数是列, 估计所有的函数都是这样的.
2024年06月04日 14点06分 4
level 8
itkdqwzero 楼主
getBoardState这个函数是用于取得棋盘上当前的数据, X为我方落子, O为对方落子.
2024年06月04日 14点06分 5
level 8
itkdqwzero 楼主
analysis.getLiberties
这个函数方便分析吃子的情况, 返回的是子周围的空位数.
2024年06月04日 15点06分 6
level 8
itkdqwzero 楼主
2024-06-06 15:28 过段时间来看看, 看涨了多少.
2024年06月06日 07点06分 7
程序还没写完善, 但已经可以无限刷了.
2024年06月06日 07点06分
go.passTurn这句, 是当对手放弃时,调用进入下一局, 这是无限自动刷的关键
2024年06月06日 07点06分
当输掉时, 就没有可走的步了, 可以重置棋局来开新局.ns.go.resetBoardState("Netburners",5);
2024年06月06日 07点06分
目前挑比较简单的对手. 也是有收益的. 增加hacknet的收入.
2024年06月06日 07点06分
level 8
itkdqwzero 楼主
图中右下角是新买的, 与之前的不一样, 之前的27k/s, 新买的赚钱能力有38k/s.
增加了40%, 但在IPvGO赚到的加成有50%.
如果是买新机器才有作用, 那么这次转生就废了. 反正这个hack-node赚不了几个钱.
5t买了台机器, 然后1500天才能回本.
2024年06月06日 15点06分 8
level 8
itkdqwzero 楼主
新的对局对手是: The Black Hand
这个对手目前还是比较难赢, 但是只要能抓取到空位, 就能得到hacking money加成.
不知这个hacking money 指的是黑来的钱变多, 还是从目标服务器偷更多的钱.
今天做了些升级:
1. 在对方 [打吃] 的时候做出防御
2. 不落子到自己已经围起来的区域, 以免把自己堵死.
3. 刚启动程序时, 往往会出现passTurn报错, 新加了在程序一开始时sleep 一秒. 情况解决了.
2024年06月10日 07点06分 9
level 8
itkdqwzero 楼主
研究一下是不是加成越多, 加成的成长越慢?
现在在对局Daedalus
10:14:
Bonus: 7.85% Captured nodes: 286 Node power: 387.50
平均 0.0265%/1CaptureNode 平均 0.02025%/1NodePower
平均 1.354NodePower/CapturedNode
10:59:
Bonus: 21.37% Captured nodes: 2338 Node power: 3.74k
平均 0.0091%/1CaptureNode 平均 0.0057%/1NodePower
平均 1.599NodePower/1CapturedNode
确实会变慢
2024年06月12日 03点06分 10
level 8
itkdqwzero 楼主
新的程序: 在防御时, 能通过吃对方来达成防御目的
1. 判断将被吃的多方链路,周围有多少对方的子
2. 取对方的子对应的链路
3. 算出对方的链路的出口数. 出口数为1的就是可以吃.
4. 判断能否落子, 有些地空位可能不能落子, 比如对方的链路中同时包含的两个空位, 或是对方刚吃了你一个子.
在多个对方的链可以吃的情况下, 吃最大的链.
可能会有一种情况, 两个对方的子, 共用同一个出口:
X X
. O X
O O X
X X
由于出口有两个相邻的子, 从每个棋子去统计就有可能算重. 所以这里需要去重处理, 算错了, 防御就失败了.
16:26 现在Bonus:44.05%
Captured nodes: 12305
Wins: 46
现在玩5X5, 这么小的盘要么会被全吃, 要么全吃掉对方. 看看这一情况下, 小盘的效果有没有比大盘好.
2024年06月12日 08点06分 11
17:01 Captured nodes: 14374 ; Bonus:47.65%;35分钟 取到2,069. 59个节点/分钟.
2024年06月12日 09点06分
17:58 Bonus:50.66% Captured nodes: 16779 ; 57分钟取得2405个. 速度:42个/分钟. 所以说当前算法对局Daedalus 5X5的速度快
2024年06月12日 10点06分
level 8
itkdqwzero 楼主
防御的落子, 将被吃的子跑出来, 但如果跑出来后又会立即吃掉, 那就不用跑了.
这里出现了个BUG, 如果跑出来, 能跟另一个黑子链接, 那就能活, 但也算是只有一条出路, 误判为落子无效.
解决办法是, 为形成链接加分.
但这又有问题, 出逃的落点, 本就已将被吃的链路链接.
所以分数下限是4. 出逃后, 因为有原本将被吃的链, 本就有2分. 需要出逃后有超过一个的空位, 或与黑子链接,达到4分及以上, 才算有效的落子.
2024年06月13日 08点06分 12
level 8
itkdqwzero 楼主
做了一步: 吃对方的子. 在某些时候比较不吃亏. 但成效不大, 失败率挺高的. 因为不会做眼. 防御方面, 还有些无效的防御.
整盘棋被吃干净的概率很大.
对方有三个空时, 不知道对打对方.
我方有三四个空时,不知道防御.
伤害比较大的, 还是无效防御.
2024年06月14日 07点06分 13
level 8
itkdqwzero 楼主
2024年06月16日 14点06分 15
上图有错, continue上要有sleep. sleep 1毫秒就行, 没有sleep的话, 重启会卡死.
2024年06月16日 23点06分
level 8
itkdqwzero 楼主
被吃干净了, 整盘就可以不用下了. 这时重来能提升速度.
做了个规则: 当对方有7个子, 我方只剩一个子, 对方有七个子. 重来.
2024年06月21日 02点06分 16
1