game.page.html 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. <!-- <ion-content class="game-container">
  2. 游戏模式切换
  3. <div class="game-mode-switch">
  4. <ion-segment [(ngModel)]="currentGame" (ionChange)="switchGameMode()">
  5. <ion-segment-button value="bubble">
  6. <ion-label style="font-size: 16px;">
  7. 捏泡泡
  8. </ion-label>
  9. </ion-segment-button>
  10. <ion-segment-button value="sand">
  11. <ion-label style="font-size: 16px;">禅意沙画</ion-label>
  12. </ion-segment-button>
  13. </ion-segment>
  14. </div>
  15. <div>
  16. <ion-segment [(ngModel)]="currentGame" (ionChange)="switchGameMode()">
  17. <ion-segment-button value="bubble">
  18. <ion-label>
  19. <div class="card">
  20. <p class="heading">
  21. Popular this month
  22. </p>
  23. <p>
  24. Powered By
  25. </p>
  26. <p>
  27. 捏泡泡
  28. </p>
  29. </div>
  30. </ion-label>
  31. </ion-segment-button>
  32. <ion-segment-button value="sand">
  33. <ion-label>
  34. <div class="card">
  35. <p class="heading">
  36. Popular this month
  37. </p>
  38. <p>
  39. Powered By
  40. </p>
  41. <p>
  42. 禅意沙画
  43. </p>
  44. </div>
  45. </ion-label>
  46. </ion-segment-button>
  47. </ion-segment>
  48. </div>
  49. 游戏画布容器
  50. <div #gameCanvasContainer class="canvas-container">
  51. <canvas #gameCanvas></canvas>
  52. </div>
  53. 游戏控制面板
  54. <div class="game-panel">
  55. <div class="score-board">
  56. <ion-icon name="trophy"></ion-icon>
  57. <span>已解压:{{ score }}次</span>
  58. </div>
  59. <ion-button fill="clear" (click)="toggleSound()">
  60. <ion-icon
  61. [name]="isMuted ? 'volume-mute' : 'volume-high'"
  62. [color]="isMuted ? 'medium' : 'primary'"
  63. ></ion-icon>
  64. </ion-button>
  65. </div>
  66. </ion-content> -->
  67. <ion-header translucent>
  68. <ion-toolbar>
  69. <ion-title>解压游戏舱</ion-title>
  70. <ion-buttons slot="end">
  71. <ion-button (click)="openAchievements()">
  72. <ion-icon name="trophy" slot="icon-only"></ion-icon>
  73. </ion-button>
  74. </ion-buttons>
  75. </ion-toolbar>
  76. </ion-header>
  77. <ion-content [fullscreen]="true" class="game-container">
  78. <!-- 情绪状态卡片
  79. <div class="mood-card" *ngIf="currentMood">
  80. <div class="mood-visual" [style.background]="getMoodGradient()">
  81. <span class="mood-score">{{ currentMood.score | number:'1.1-1' }}</span>
  82. </div>
  83. <div class="mood-info">
  84. <h3>当前情绪状态</h3>
  85. <p>{{ currentMood.description }}</p>
  86. <ion-chip *ngFor="let tag of currentMood.tags">
  87. {{ tag }}
  88. </ion-chip>
  89. </div>
  90. </div> -->
  91. <!-- 游戏卡片列表 -->
  92. <div class="game-cards">
  93. <!-- 捏泡泡游戏卡片 -->
  94. <div class="game-card" (click)="openGame('bubble')">
  95. <div class="game-preview bubble-preview">
  96. <img [src]="'assets/images/bubbles.jpg'">
  97. <div class="bubble" *ngFor="let bubble of demoBubbles"></div>
  98. </div>
  99. <div class="game-info">
  100. <h3>压力泡泡</h3>
  101. <p>点击爆破彩色泡泡释放压力</p>
  102. <div class="game-meta">
  103. <span class="duration">2-5分钟</span>
  104. <ion-badge *ngIf="unlockedAchievements.bubble" color="primary">
  105. 已解锁
  106. </ion-badge>
  107. </div>
  108. </div>
  109. </div>
  110. <!-- 禅意沙画游戏卡片 -->
  111. <div class="game-card" (click)="openGame('sand')">
  112. <div class="game-preview sand-preview">
  113. <img [src]="'assets/images/sands.jpg'">
  114. <div class="sand-trail"></div>
  115. </div>
  116. <div class="game-info">
  117. <h3>禅意沙画</h3>
  118. <p>指尖描绘宁静沙纹</p>
  119. <div class="game-meta">
  120. <span class="duration">3-8分钟</span>
  121. <ion-badge *ngIf="!unlockedAchievements.sand" color="medium">
  122. 需完成3次泡泡游戏
  123. </ion-badge>
  124. </div>
  125. </div>
  126. </div>
  127. <!-- 水晶雨滴游戏卡片 -->
  128. <div class="game-card" (click)="openGame('raindrop')">
  129. <div class="game-preview raindrop-preview">
  130. <img [src]="'assets/images/raindrops.jpg'">
  131. </div>
  132. <div class="game-info">
  133. <h3>水晶雨滴</h3>
  134. <p>触碰下落的雨滴创造涟漪</p>
  135. <div class="game-meta">
  136. <span class="duration">3-7分钟</span>
  137. <ion-badge *ngIf="unlockedAchievements.raindrop" color="primary">
  138. 已解锁
  139. </ion-badge>
  140. </div>
  141. </div>
  142. </div>
  143. <!-- 星空涂鸦游戏卡片 -->
  144. <div class="game-card" (click)="openGame('constellation')">
  145. <div class="game-preview constellation-preview">
  146. <img [src]="'assets/images/stars.jpg'">
  147. </div>
  148. <div class="game-info">
  149. <h3>星空涂鸦</h3>
  150. <p>连接星星创造专属星座</p>
  151. <div class="game-meta">
  152. <span class="duration">5-10分钟</span>
  153. <ion-badge *ngIf="!unlockedAchievements.constellation" color="medium">
  154. 需完成5次游戏
  155. </ion-badge>
  156. </div>
  157. </div>
  158. </div>
  159. <!-- 更多游戏卡片... -->
  160. </div>
  161. </ion-content>