78 lines
2.3 KiB
C#
78 lines
2.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Text;
|
|
using Wpf_AiSportsMicrospace.MyUserControl;
|
|
using Yztob.AiSports.Postures.Sports;
|
|
|
|
namespace Dto
|
|
{
|
|
public class GroupJumpRopeContext
|
|
{
|
|
// 静态字段,保存排名列表
|
|
public static List<RankItem> RankList { get; set; } = new List<RankItem>();
|
|
public List<(double XNorm, double YNorm)> CirclePositions { get; set; } = new List<(double XNorm, double YNorm)>();
|
|
public List<SportUserItem> UserList { get; private set; }
|
|
public List<string> UserNumberList { get; private set; }
|
|
public List<SportBase> Sports { get; private set; }
|
|
public List<string> UseNameList { get; private set; } = new()
|
|
{
|
|
"游客-A", "游客-B", "游客-C", "游客-D", "游客-E", "游客-F"
|
|
};
|
|
public GroupJumpRopeContext()
|
|
{
|
|
CirclePositions = new List<(double XNorm, double YNorm)>
|
|
{
|
|
(0.21, 0.88 ),
|
|
(0.36, 0.58 ),
|
|
(0.50, 0.88),
|
|
(0.64, 0.58 ),
|
|
(0.78, 0.88),
|
|
(0.92, 0.58 )
|
|
};
|
|
|
|
UserList = new List<SportUserItem>();
|
|
UserNumberList = new List<string>();
|
|
Sports = new List<SportBase>();
|
|
|
|
}
|
|
|
|
// 更新排行榜方法
|
|
public List<RankItem> UpdateRankList()
|
|
{
|
|
var rankList = UserNumberList
|
|
.Select((numStr, index) => new
|
|
{
|
|
Index = index,
|
|
Name = UseNameList[index],
|
|
Number = int.TryParse(numStr, out var n) ? n : 0
|
|
})
|
|
.OrderByDescending(x => x.Number)
|
|
.Select((x, rank) => new RankItem
|
|
{
|
|
Rank = rank + 1,
|
|
Name = x.Name,
|
|
Number = x.Number
|
|
})
|
|
.ToList();
|
|
|
|
RankList = rankList;
|
|
|
|
return rankList;
|
|
}
|
|
}
|
|
|
|
// 排名项
|
|
public class RankItem
|
|
{
|
|
public int Rank { get; set; }
|
|
public string Name { get; set; }
|
|
public int Number { get; set; }
|
|
public double Score { get; set; }
|
|
}
|
|
}
|
|
|