From 7e9c92e6e62606705da02366711f26c1dc57ef2c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9tro?= <yann.roberge@polymtl.ca>
Date: Sun, 18 Oct 2020 18:32:00 -0400
Subject: [PATCH] Ajout d'une fausse API turtle permettant de tester le code
 sans flasher une vraie tortue

---
 rsiTurtle.lua |   3 +-
 test.lua      |   6 +++
 turtle.lua    | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 118 insertions(+), 1 deletion(-)
 create mode 100644 turtle.lua

diff --git a/rsiTurtle.lua b/rsiTurtle.lua
index b397cff..bff82e5 100644
--- a/rsiTurtle.lua
+++ b/rsiTurtle.lua
@@ -1,4 +1,4 @@
--- rsiTurle.lua
+-- rsiTurtle.lua
 -- Created on:  2020-10-16
 -- Author:      Rétro
 --
@@ -12,6 +12,7 @@ local RSI_Turtle = {}
 RSI_Turtle.__index = RSI_Turtle
 
 require("printf")
+turtle = require("turtle")
 
 ---
 -- \brief Affiche un hello world
diff --git a/test.lua b/test.lua
index 8f99162..4b1d5cf 100644
--- a/test.lua
+++ b/test.lua
@@ -7,6 +7,7 @@
 rsiT = require("rsiTurtle")
 rsiB = require("bucher")
 rsiE = require("excaver")
+turtle = require("turtle")
 
 rsiT.helloWorld()
 
@@ -21,3 +22,8 @@ b:print()
 print("Test de RSI_Excavatrice")
 e = rsiE:init()
 e:print()
+
+print("Test de l'API turtle")
+print(turtle.inspect())
+print(turtle.up())
+
diff --git a/turtle.lua b/turtle.lua
new file mode 100644
index 0000000..33e4106
--- /dev/null
+++ b/turtle.lua
@@ -0,0 +1,110 @@
+-- turtle.lua
+-- Created on:  2020-10-18
+-- Author:      Rétro
+--
+-- Rétro Stonks Industries - Tout droits réservés
+--
+-- Fausse API "turtle" de computercraft, permettant de tester le code
+-- en-dehors d'une vraie tortue
+
+---
+-- \class Tortue RSI
+local turtle = {}
+turtle.__index = turtle
+
+require("printf")
+
+function turtle.craft(quantity)
+    printf("Crafting %d", quantity)
+    return true
+end
+
+
+function turtle.forward()
+    print("Moving forward")
+    return true
+end
+
+
+function turtle.backward()
+    print("Moving backwards")
+    return true
+end
+
+
+function turtle.up()
+    print("Moving up")
+    return true
+end
+
+
+function turtle.down()
+    print("Moving down")
+    return true
+end
+
+
+function turtle.turnLeft()
+    print("Turning left")
+end
+
+
+function turtle.turnRight()
+    print("Turning right")
+end
+
+
+function turtle.select()
+    return true
+end
+
+
+function turtle.inspect()
+    local ret = {};
+    ret.name = "BLOCK_NAME"
+    ret.metadata = 0;
+    ret.state = "STATE"
+    return true, ret
+end
+
+
+function turtle.dig()
+    return true
+end
+
+
+function turtle.digUp()
+    return turtle.dig()
+end
+
+
+function turtle.digDown()
+    return turtle.dig()
+end
+
+
+-- Ne prend pas en compte l'argument optionel string signText de la vraie API
+-- turtle
+function turtle.place()
+    return true
+end
+
+
+function turtle.placeUp()
+    return turtle.place()
+end
+
+
+function turtle.placeDown()
+    return turtle.place()
+end
+
+function turtle.inspectUp()
+    return turtle.inspect()
+end
+
+function turtle.inspectDown()
+    return turtle.inspect()
+end
+
+return turtle
-- 
GitLab