Cards: five-dimension look model, unified value function, higher prices

CardLook has five dimensions of three values each (fan, gold fingers,
bracket on the front; back print and back sticker on the back), 243
combinations. Wear traits follow health and appear on genuine cards too;
three signs (wrong port count, wrong or re-printed silkscreen, handwritten
serial) appear only on fakes, one to three of them. CardValue is the single
value function: sale price and the appraisal's correct value are both
price x (0.25 + 0.75 x health) of the chip actually inside; a dealer quotes
a fake by its labelled model. Graphics card prices rise to about 1.8x and
the block reward to 90 to keep the mining share in range.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ZHU MINCHAOandClaude Sonnet 5.5 committed 2026-11-03 11:20:33 +08:00
1 parent 6c48078e44
commit 4196151f7e
3 files changed
+121 -4

No files matched your search

+4 -4
View File
@@ -29,10 +29,10 @@ namespace Decentralized.Domain
public static readonly IReadOnlyDictionary<string, HardwareSpec> Specs = new[]
{
Gpu("RZX50", Probidia, 1.0, 4, 120), Gpu("RZX60", Probidia, 1.5, 5, 180), Gpu("RZX70", Probidia, 5.0, 12, 450),
Gpu("RZX80Ti", Probidia, 8.0, 18, 750), Gpu("RZX90", Probidia, 20.0, 30, 2800),
Gpu("RZ470", Pmd, 0.8, 2.5, 90), Gpu("RZ580", Pmd, 1.2, 3, 140), Gpu("RZ6800", Pmd, 4.0, 8, 380),
Gpu("RZ7900", Pmd, 15.0, 20, 2200),
Gpu("RZX50", Probidia, 1.0, 4, 220), Gpu("RZX60", Probidia, 1.5, 5, 330), Gpu("RZX70", Probidia, 5.0, 12, 800),
Gpu("RZX80Ti", Probidia, 8.0, 18, 1300), Gpu("RZX90", Probidia, 20.0, 30, 5000),
Gpu("RZ470", Pmd, 0.8, 2.5, 170), Gpu("RZ580", Pmd, 1.2, 3, 250), Gpu("RZ6800", Pmd, 4.0, 8, 680),
Gpu("RZ7900", Pmd, 15.0, 20, 4000),
Asic("M1", 50, 60, 6000), Asic("M2", 120, 110, 15000), Asic("M3", 300, 220, 40000),
}.ToDictionary(s => s.Model);