background image

58 | 

9 4

 

 

3.7.2  Εισαγωγή των στοιχείων στον καμβά 

 

Ξεκινώντας, δημιουργούμε τον αρχικό πληθυσμό των κυκλωμάτων, των αριθμό των 

οποίων έχουμε ορίσει στην είσοδο. Για κάθε κύκλωμα εισάγουμε τα στοιχεία στον καμβά με 

τυχαίο τρόπο.  

 

Τα στοιχεία έχουν κατανεμηθεί σε τμήματα σε προηγούμενο βήμα 

Foreach group in Groups 

Foreach object in group 

inserted = false 

Ψευδοκώδικας 2: Για κάθε κυκλωματικό στοιχείο 

Δίνουμε  τυχαίο  προσανατολισμό  σε  όσα  στοιχεία  επιτρέπουν  την  αλλαγή  του 

προσανατολισμού.            

If OrientationCanChange 

Change_objects_orientation_randomly 

Ψευδοκώδικας 3: Δίνουμε τυχαίο προσανατολισμό 

Δημιουργούμε  τυχαία  x,  y  μέχρι  να  εισάγουμε  το  στοιχείο  στον  καμβά,  λαμβάνοντας 

πάντα υπόψη το τμήμα στο οποίο βρισκόμαστε, το μέγεθος του συγκεκριμένου στοιχείου και το 

επιθυμητό περιθώριο που έχουμε ορίσει στη είσοδο. 

While !inserted 

x = random(g.maxX,g.Get_minX) 

y = random(g.maxY,g.Get_minY) 

Ψευδοκώδικας 4: Δίνουμε τυχαία θέση

 

Όταν βρεθεί διαθέσιμη θέση γίνεται εισαγωγή. 

If Position_is_available 

Insert_object_into_canvas(obj); 

Ψευδοκώδικας 5: Αν υπάρχει διαθέσιμη θέση κάνε εισαγωγή