From 54f0948a5f58fba68f20ea1f0d284266ed92bf1e Mon Sep 17 00:00:00 2001 From: Simon Pirkelmann Date: Fri, 25 Sep 2020 00:37:10 +0200 Subject: [PATCH] added orientation icon to the web app --- app.py | 2 +- static/orientation.png | Bin 0 -> 18024 bytes static/style.css | 24 ++++++++++++++++++++++++ templates/drag_example.html | 29 +++++++++++++++++++++++++---- 4 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 static/orientation.png diff --git a/app.py b/app.py index 2fbcc90..1bf4c55 100644 --- a/app.py +++ b/app.py @@ -163,7 +163,7 @@ def hello_world(): if request.method == 'GET': robot = players[player_id].robot if robot is not None: - robot_pos = (robot.x, robot.y) + robot_pos = (robot.x, robot.y, robot.orientation) else: robot_pos = None return render_template('drag_example.html', cmds=player_hand, player_id=player_id, robot_pos=robot_pos) diff --git a/static/orientation.png b/static/orientation.png new file mode 100644 index 0000000000000000000000000000000000000000..830ffd63df0ef2251ff97b935912d5effc93c981 GIT binary patch literal 18024 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 literal 0 HcmV?d00001 diff --git a/static/style.css b/static/style.css index 2601a3f..311d90e 100644 --- a/static/style.css +++ b/static/style.css @@ -18,6 +18,30 @@ cursor: move; } +.rotate90 { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} + +.rotate180 { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} + +.rotate270 { + -webkit-transform: rotate(270deg); + -moz-transform: rotate(270deg); + -o-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} + .card0 { left: 0; top: 0; background-color: #E74C3C; } .card1 { left: 100px; top: 0; background-color: #8E44AD; } .card2 { left: 200px; top: 0; background-color: #5DADE2; } diff --git a/templates/drag_example.html b/templates/drag_example.html index b3e8184..8492c7b 100644 --- a/templates/drag_example.html +++ b/templates/drag_example.html @@ -26,23 +26,27 @@ - {% if robot_pos is none %}
+ {% if robot_pos is none %} -
+ + 0 {% else %} -
-
+ + + {% endif %} + + @@ -61,6 +65,23 @@ var box = $(".box"); var mainCanvas = $(".main-canvas"); + var orientation_icon = $("#orientation"); + + orientation_icon.click(function () { + if (this.alt === "0") { + this.alt = "90"; + } + else if (this.alt === "90") { + this.alt = "180"; + } + else if (this.alt === "180") { + this.alt = "270"; + } + else if (this.alt === "270") { + this.alt = "0"; + } + $(this).css({'transform' : 'rotate('+ this.alt +'deg)'}); + }); $("#btnSubmit").click(function () {