public boolean isFinished(){
    /* I.S. B terdefinisi
    * F.S. Mengembalikan nilai true jika kondisi akhir permainan tercapai, yaitu saat pemain 
            berhasil meletakkan PathCard di sebelah GoalCard yang merupakan GoldCard. */
	
	boolean[][] check = new boolean[6][10];
	boolean berakhir;
        int i, j;
	Path_Card P = new Path_Card('0', '0', '0', '0', '0', 0);

	for (i=1;i<=5;i++) {
		for (j=1;j<=9;j++) {
			check[i][j]=false;
		}
	}
	Vector<Integer> position1 = new Vector<>(); position1.add(0, 1); position1.add(1, 1);
        Vector<Integer> position2 = new Vector<>(); position2.add(0, 3); position2.add(1, 1);
        Vector<Integer> position3 = new Vector<>(); position3.add(0, 5); position3.add(1, 1);
	berakhir = false;
	if (Path_Card.GoldCard.CompareCard(MatrixOfCard[1][1]))
	{this.openGoalRecc(position1, check, P); if (Path_Card.StartCard.CompareCard(P)) {berakhir = true; GoalCondition[1] = false;}}
	else if (Path_Card.GoldCard.CompareCard(MatrixOfCard[3][1]))
	{this.openGoalRecc(position2, check, P); if (Path_Card.StartCard.CompareCard(P)) {berakhir = true; GoalCondition[2] = false;}}
	else if (Path_Card.GoldCard.CompareCard(MatrixOfCard[5][1]))
	{this.openGoalRecc(position3, check, P); if (Path_Card.StartCard.CompareCard(P)) {berakhir = true; GoalCondition[3] = false;}}
        return berakhir;
    }