einzelne Punkte mit linie verbinden

Previous topic - Next topic

backslider

Hi Leute,

ich habe gerade einmal probiert, ein Programm zu schreiben, in welchem ich pro Mausklick ein Quadrat zeichne.
Meine Idee ist, dass wenn ich das zweite und folgende Quadrate zeichne, diese immer zum letzten eine Verbindung per Linie haben...
Wie macht man sowas?  :)

Code (glbasic) Select
// --------------------------------- //
// Project: lineTest
// Start: Wednesday, November 25, 2009
// IDE Version: 7.082


TYPE Tpoint
x
y
ENDTYPE

GLOBAL line_nr=0


LOCAL newPoint AS Tpoint
LOCAL Points[] AS Tpoint

SYSTEMPOINTER TRUE

WHILE TRUE

LOCAL mx,my,b1,b2
MOUSESTATE mx,my,b1,b2

//erstellt ein neues Quadrat unter dem Mauszeiger
IF b1
IF mousefree=TRUE
newPoint.x=mx-10
newPoint.y=my-10

DIMPUSH Points[], newPoint

INC line_nr,1

mousefree=FALSE
ENDIF
ELSE
mousefree=TRUE
ENDIF

//Hier wird das Quadrat gezeichnet und soll eine Linie von diesem zum letzten Quadrat zeichnen...
FOREACH Check IN Points[]
DrawQuad(Check.x,Check.y,20,RGB(255,255,255))

//Das hier geht natürlich nicht, aber wie kann ich das realisieren? :)
IF line_nr>0
DRAWLINE Check.x+10,Check.y+10, Check-1.x+10, Check-1.y+10, RGB(255,255,255)
ENDIF
NEXT


PRINT mousefree, 10,10
PRINT line_nr, 10,20

SHOWSCREEN
WEND


// ------------------------------------------------------------- //
// ---  DRAWQUAD  ---
// ------------------------------------------------------------- //
FUNCTION DrawQuad: x, y, width, color
// Diese Variablen sind als LOCAL definiert:
// x, y, width, color
DRAWLINE x,y,x+width,y,color
DRAWLINE x+width,y,x+width,y+width,color
DRAWLINE x+width,y+width,x,y+width,color
DRAWLINE x,y+width,x,y,color

ENDFUNCTION // DRAWQUAD

Kitty Hello