What's wrong? Says "Physics does not contain a definition for Raycast".

using UnityEngine;
using System.Collections;
[RequireComponent(typeof(BoxCollider))]
public class Physics : MonoBehaviour
{
public LayerMask collisionmask;

private BoxCollider collider;
private Vector3 s;
private Vector3 c;

private float skin = .005f;

[HideInInspector]
public bool grounded;

Ray ray;
RaycastHit hit;

void Start()
{
	collider = GetComponent<BoxCollider> ();
	s = collider.size;
	c = collider.center;
}

public void move(Vector2 moveamount)
{
	float deltax = moveamount.x;
	float deltay = moveamount.y;
	Vector2 p = transform.position;

	for (int i=0; i<=3; i ++) 
	{
		float dir = Mathf.Sign (deltay);
		float x = (p.x + c.x - s.x/2) + s.x/2 * i;
		float y = p.y + c.y + s.y/2 *dir;

		ray = new Ray(new Vector2(x,y), new Vector2(0,dir));

		if(Physics.Raycast(ray, out hit,Mathf.Abs(deltay), collisionmask))
		{
			float dst= Vector3.Distance(ray.origin, hit.point);

			if(dst>skin)
			{
				deltay = -dst + skin;
			}

			else
			{
				deltay=0;
			}

			grounded = true;
			break;
		}

	}

	Vector2 finaltransform= new Vector2(deltax, deltay);

	transform.Translate (finaltransform);
}

}

Rename this class to something besides Physics and try again.