应该取消 `GetHashCode()` 的算分方法
因为 GetHashCode()
每次的结果都是一样的,结果依赖于 p.csv
内的行号,特定行号的人总是能得到最高分
Program.cs
:
for (int j = 0; j < persons.Count; j++)
{
//计分方式1:根据返回的随机数加金币
//计分方式2:看命
//计分方式3:随机加上一个人的金币,看能否逆袭
//其他方式:可在下方对NewGrade属性进行操作
// persons[j].NewGrade += (randoms[j] +
// (Math.Abs(persons[j].GetHashCode() << 1) % persons.Count) +
// persons[randoms[j] - 1].OldGrade);
// 只用 `GetHashCode()` 的算分方法
persons[j].NewGrade += (Math.Abs(persons[j].GetHashCode() << 1) % persons.Count);
if (i == 3 && persons[j].BaseGrade > 0)
{
persons[j].NewGrade += Person.GetRandomBaseGrade(persons[j].BaseGrade);
}
}
结果:
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
第1轮
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
排名 人名 金币 排名 人名 金币 排名 人名 金币
1 韦锦超 86 31 黄程程 60 61 高燕 28
2 韩越越 86 32 毛燮敏 60 62 程春景 28
3 侯祥意 86 33 马娜 58 63 吕时有 28
4 汪杰 84 34 周海鹏 58 64 高波 28
5 张睿 84 35 林丽梅 58 65 唐柳 26
6 邱美欣 84 36 吴思铭 54 66 胡国材 24
7 胡浩琴 82 37 林健忠 52 67 单永华 24
8 周俊晖 80 38 杨东宏 52 68 陈珠河 24
9 何军 78 39 陈晓玲 52 69 莫振浩 24
10 廖天兰 78 40 徐林燕 52 70 曾德城 24
11 李婉儿 78 41 黄瑞卿 50 71 詹文容 20
12 叶子钠 78 42 黄慧敏 50 72 严韵诗 20
13 梁晓彤 76 43 梁锦银 46 73 叶宜博 20
14 于小岚 76 44 徐敬钊 46 74 欧阳城枫 16
15 张可欣 76 45 李佳 44 75 卢泽晓 14
16 叶进国 74 46 黄宝红 44 76 邓伟驰 14
17 张玉婷 72 47 吴素洁 44 77 林志诚 14
18 陈辉 70 48 靳梦杨 44 78 梁振雄 12
19 谢旭 70 49 黄文婷 42 79 石卉 12
20 赵运雄 70 50 林军 42 80 杨文伟 12
30 刘国民 60 60 赖颂菊 30 90 曾少鹏 00
按回车继续...