@Override
    public void createCards(){
        int size=rowCount*columnCount;
        int[] cards = new int[size];
        int pairs = size/2;
        
        setShuffleBoard(new int[rowCount][columnCount]);

        
        int currentSymbol = 0;
        int arrayIndex;
        //there are two i++ because we fill i+1 during the loop
        for(int i=0; i<size; i++){
            cards[i]=currentSymbol;
            cards[i+1]=currentSymbol;
            i++;            
            currentSymbol++;
        }
    
        for(int i = 0; i<rowCount; i++){
            for(int j = 0; j<columnCount; j++){
                boolean placed = false;
                while(! placed){
                    
                    arrayIndex = new Random().nextInt(size);
                    if (cards[arrayIndex]>=0){
                        getShuffleBoard()[i][j] = cards[arrayIndex];
                        cards[arrayIndex]=-1;
                        placed = true;
                    }
                }
            }
        }
    }