Random genera numeros aleatorios y se pueden repetir
Me falto la instruccion Randomize. Igualmente, aunque se repita el numero recuerda que estas intercambiando desde 1 hasta la maxima cantidad. O sea, por ejemplo: Intercambio el 5 con el 1 (5,x,x,x,1) y luego cuando quiero intercambiar la 6 me aparece 1, de esa manera quede 1,x,x,x,6,5 y sigue mezclado. Para aumentar la eficacia, podes ejecutar el codigo 2 veces.
Muy importatne es que no tienes que sacar todas las fichas al azar, sino que, creas un vector con todas las fichas ordenadas y las mezclas. Cuando entregaste 5 fichas por ejemplo, ejecutaras el codigo de mezcla con for i:=1 to MAX - 5, de manera que no mezclara esas fichas.
REspecto a las graficas, deberias buscar info en la ayuda de delphi acerca de TCanvas que es la parte grafica de cualquier componente, Ya sea TForm o TImage. Usando ese propiedad, puedes pegar bitmaps (TBitMap) poner Pixels, lineas, etc.....
Esos son los metodos de TCanvas.
Draw
DrawPoint
DrawPoints
Ellipse
FillRect
GetClipRegion
LineTo
MoveTo
Pie
PolyBezier
PolyBezierTo
Polygon
Polyline
Refresh
ReleaseHandle
ResetClipRegion
RoundRect
SetClipRect
Start
StretchDraw