add param for select test room

This commit is contained in:
MaximZaitsev
2016-08-26 12:08:15 +03:00
parent 76af383e2a
commit 6c641de854
3 changed files with 65 additions and 52 deletions
+4
View File
@@ -9,6 +9,7 @@ import net.server.handlers.main.GetSonarData
import net.server.handlers.main.SetRoute
import net.server.handlers.main.SetRouteMetric
import net.server.handlers.rc.Control
import room.Room
val carServerPort: Int = 8888
val mainServerPort = 7925
@@ -28,6 +29,9 @@ fun main(args: Array<String>) {
when (arg) {
"-t" -> runTests = true
"-e" -> runAsEmulator = true
"-tr1" -> Room.walls = Room.testRoom1()
"-tr2" -> Room.walls = Room.testRoom2()
"-tr3" -> Room.walls = Room.testRoom3()
}
}
val carController =
+2 -2
View File
@@ -13,8 +13,8 @@ private fun testCarEmulator() {
sonarResponse.mergeFrom(CodedInputStream(bytes))
val dist0 = sonarResponse.distances[0]
val dist90 = sonarResponse.distances[1]
eq(dist0.toDouble(), Math.abs(Room.rightLine.C / Room.rightLine.A), "check angle 0", 2.5)
eq(dist90.toDouble(), Room.bottomLine.C / Room.bottomLine.B, "check angle 90", 2.5)
eq(dist0.toDouble(), 200.0, "check angle 0", 2.5)
eq(dist90.toDouble(), 20.0, "check angle 90", 2.5)
})
println("--------------------")
+59 -50
View File
@@ -5,6 +5,8 @@ import geometry.Line
object Room {
var walls = testRoom1()
/*
_________
| |
@@ -13,61 +15,68 @@ object Room {
*/
val upLine = Line(0.0, 1.0, -300.0)
val leftLine = Line(1.0, 0.0, 150.0)
val bottomLine = Line(0.0, 1.0, 20.0)
val rightLine = Line(1.0, 0.0, -200.0)
val walls = listOf<Wall>(Wall(upLine, 200, -150, 300, 300),
Wall(leftLine, -150, -150, 300, -20),
Wall(bottomLine, -150, 200, -20, -20),
Wall(rightLine, 200, 200, -20, 300)
)
/*
________
| |
| ___|
|___|
*/
// val upLine = Line(0.0, 1.0, -300.0)
// val leftLine = Line(1.0, 0.0, 150.0)
// val bottomLine = Line(0.0, 1.0, 20.0)
// val rightLine = Line(1.0, 0.0, -200.0)
fun testRoom1(): List<Wall> {
val upLine = Line(0.0, 1.0, -300.0)
val leftLine = Line(1.0, 0.0, 150.0)
val bottomLine = Line(0.0, 1.0, 20.0)
val rightLine = Line(1.0, 0.0, -200.0)
//
// val bottomLine2 = Line(0.0, 1.0, -100.0)
// val rightLine2 = Line(1.0, 0.0, -300.0)
//
// val walls = listOf<Wall>(Wall(upLine, 300, -150, 300, 300),
// Wall(leftLine, -150, -150, 300, -20),
// Wall(bottomLine, -150, 200, -20, -20),
// Wall(rightLine, 200, 200, -20, 100),
// Wall(bottomLine2, 200, 300, 100, 100),
// Wall(rightLine2, 300, 300, 100, 300)
// )
val walls = listOf<Wall>(Wall(upLine, 200, -150, 300, 300),
Wall(leftLine, -150, -150, 300, -20),
Wall(bottomLine, -150, 200, -20, -20),
Wall(rightLine, 200, 200, -20, 300)
)
return walls
}
/*
fun testRoom2(): List<Wall> {
/*
________
| |
| ___|
|___|
_______
| |
|____/
*/
val upLine = Line(0.0, 1.0, -300.0)
val leftLine = Line(1.0, 0.0, 150.0)
val bottomLine = Line(0.0, 1.0, 20.0)
val rightLine = Line(1.0, 0.0, -200.0)
val bottomLine2 = Line(0.0, 1.0, -100.0)
val rightLine2 = Line(1.0, 0.0, -300.0)
val walls = listOf<Wall>(Wall(upLine, 300, -150, 300, 300),
Wall(leftLine, -150, -150, 300, -20),
Wall(bottomLine, -150, 200, -20, -20),
Wall(rightLine, 200, 200, -20, 100),
Wall(bottomLine2, 200, 300, 100, 100),
Wall(rightLine2, 300, 300, 100, 300)
)
return walls
}
*/
fun testRoom3(): List<Wall> {
/*
_______
| |
|____/
// val upLine = Line(0.0, 1.0, -300.0)
// val leftLine = Line(1.0, 0.0, 150.0)
// val bottomLine = Line(0.0, 1.0, 20.0)
// val rightLine = Line(-1.2, 1.0, 140.0)
// val rightLine2 = Line(1.0, 1.0, -350.0)
//
// val walls = listOf<Wall>(Wall(upLine, 200, -150, 300, 300),
// Wall(leftLine, -150, -150, 300, -20),
// Wall(bottomLine, -150, 100, -20, -20),
// Wall(rightLine, 100, 200, -20, 100),
// Wall(rightLine2, 200, 200, 100, 300)
// )
*/
val upLine = Line(0.0, 1.0, -300.0)
val leftLine = Line(1.0, 0.0, 150.0)
val bottomLine = Line(0.0, 1.0, 20.0)
val rightLine = Line(-1.2, 1.0, 140.0)
val rightLine2 = Line(1.0, 1.0, -350.0)
val walls = listOf<Wall>(Wall(upLine, 200, -150, 300, 300),
Wall(leftLine, -150, -150, 300, -20),
Wall(bottomLine, -150, 100, -20, -20),
Wall(rightLine, 100, 200, -20, 100),
Wall(rightLine2, 200, 200, 100, 300)
)
return walls
}
}