我按照教程制作了井字游戏应用程序,现在正尝试自己添加更多功能。
抽签条件是我遇到的主要障碍。井字游戏网格中的每个图块都是使用* ngFor指令创建的自己的Angular Component。这是代码。
<app-square
*ngFor="let val of squares; let i = index"
[value]="val"
(click)="makeMove(i)">
</app-square>
单击后,该按钮将检查一个预先存在的值,如果不存在,则根据轮到的值应用一个值(X或O)。
我尝试使用基于点击计数的方法,但均未解决。同样,设计获胜条件,以便如果变量“获胜者”不再为空,它将宣布获胜者变量中的内容。这是代码。
<h2 *ngIf="winner">
Player {{ winner }} won the game!
</h2>
我有什么办法可以为每个按钮设计一个标志,以检测每个按钮是否都具有值,从而暗示游戏已平局。
答案 0 :(得分:0)
您已经准备就绪。只是,在父组件中,为squares
数组添加额外的检查。如果它充满Ok值,则将赢家设置为true。
可能看起来像这样
this.winner = this.squares.every(x=>x===true)
请使用您正在使用的值,而不是true。