PIFS.ts 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import { JCMGO } from "./FrameSync/Core/JCMGO";
  2. export default class PIFS {
  3. /**存储匹配后的玩家信息 */
  4. static matchPlayerInfos: MatchPlayerInfo[] = [
  5. {nickname:"PlyaerA",gender:0,avatarUrl:""},
  6. {nickname:"PlyaerB",gender:1,avatarUrl:""},
  7. {nickname:"PlyaerC",gender:0,avatarUrl:""},
  8. {nickname:"PlyaerD",gender:1,avatarUrl:""},
  9. ];
  10. static setMatchPlayerInfos(playerInfos, timestamp) {
  11. JCMGO.ExactMath.setSeed(timestamp);
  12. let aiInfoIndexes = [];
  13. for (let i = 0; i < this.aiPlayerInfos.length; i++) {
  14. aiInfoIndexes.push(i);
  15. }
  16. aiInfoIndexes.sort(() => JCMGO.ExactMath.sub(0.5, JCMGO.ExactMath.random()))
  17. for (let i = 0; i < this.matchPlayerInfos.length; i++) {
  18. let a = this.matchPlayerInfos[i];
  19. let b = playerInfos[i];
  20. if (!b) b = this.aiPlayerInfos[aiInfoIndexes.shift()];
  21. a.nickname = b.nickname;
  22. a.gender = b.gender;
  23. a.avatarUrl = b.avatarUrl;
  24. }
  25. }
  26. /**我的玩家信息,在请求匹配时需要用到 */
  27. static myPlayerInfo: MatchPlayerInfo = {
  28. nickname: "JC",
  29. gender: 0,
  30. avatarUrl: "headphotos/master"
  31. };
  32. static aiPlayerInfos: MatchPlayerInfo[] = [
  33. {
  34. nickname: "大佬啊",
  35. gender: 0,
  36. avatarUrl: "headphotos/0"
  37. },
  38. {
  39. nickname: "天天睡懒觉",
  40. gender: 1,
  41. avatarUrl: "headphotos/1"
  42. },
  43. {
  44. nickname: "这也太奢侈了吧",
  45. gender: 0,
  46. avatarUrl: "headphotos/2"
  47. },
  48. {
  49. nickname: "我要起飞咯",
  50. gender: 1,
  51. avatarUrl: "headphotos/3"
  52. },
  53. {
  54. nickname: "工作不如睡觉",
  55. gender: 0,
  56. avatarUrl: "headphotos/4"
  57. },
  58. ];
  59. }