+ ball = new Ball(new Point[Float](width/2.0, height/2.0))
+ # Walls initialisation
+ var walla = new Wall(new Point[Float](width/4.0, height/4.0), pi/3.0, 1.0)
+ var wallb = new Wall(new Point[Float](width*0.75, height/4.0), 0.0, 1.0)
+ var wallc = new Wall(new Point[Float](width/4.0, height*0.75), 0.0, 1.0)
+ var walld = new Wall(new Point[Float](width*0.75, height*0.75), pi/3.0, 1.0)
+ walls = new Array[Wall].with_items(walla, wallb, wallc, walld)
+
+ # adding screen bordures
+ var i = new Point[Float](0.0,0.0)
+ var a = new Point[Float](0.0, height/2.0)
+ var b = new Point[Float](width/2.0, 0.0)
+ var c = new Point[Float](width, height/2.0)
+ var d = new Point[Float](width/2.0, height)
+
+ var l1 = new OrientedLine(i, i, pi/2.0, height, a)
+ var l2 = new OrientedLine(i, i, 0.0, width, b)
+ var l3 = new OrientedLine(i, i, pi/2.0, height, c)
+ var l4 = new OrientedLine(i, i, 0.0, width, d)
+
+ quadtree = new SQuadTree[OrientedLine](5, width, height)
+ for w in walls do for l in w.lines do
+ quadtree.add(l)
+ end
+ quadtree.add(l1)
+ quadtree.add(l2)
+ quadtree.add(l3)
+ quadtree.add(l4)