How do i understand which gameObject is player touching ?

I have a game with 4 stationary balls and 1 cube (player) like that one in image. Every time player touches balls, it get destroyed, and new Player (cube) appears with a random color (Red, Blue, Green or Yellow).

My question is, how do i write a code that understands if player touches ball with the same color as he is, in order to add score, or to end the game if he touches ball with different color?
This is my actual script:

using UnityEngine;
using System.Collections;

public class DestroyOnContact : MonoBehaviour {

	void OnCollisionEnter(Collision col)
	{
		if (col.gameObject.name == "Player") 
		{
			Destroy (gameObject);
			//AddScore(); 
		}
	}


}

!

you can acces the material of the collided Gameobject.

     void OnCollisionEnter(Collision col)
     {
         if (col.gameObject.name == "Player") 
         {
             if (col.gameObject.GetComponent<Renderer>().material.color = GetComponent<Renderer>().material.color)
                 //DIE
         }
     }

In this script you just compare the 2 colors of the materials. if they are exactly the same the player dies