Skip to content
This repository has been archived by the owner on Jan 30, 2021. It is now read-only.

Commit

Permalink
Merge pull request #1 from ThorsCrafter/build-2.3
Browse files Browse the repository at this point in the history
Version 2.3
  • Loading branch information
ThorsCrafter authored Aug 7, 2016
2 parents 5f16921 + 928e944 commit 73a8fe3
Show file tree
Hide file tree
Showing 20 changed files with 913 additions and 595 deletions.
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
*.buildpath
turbineControl_v2/.metadata/.lock
*.log
turbineControl_v2/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version
*.tree
turbineControl_v2/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
*.prefs
turbineControl_v2/.metadata/.plugins/org.eclipse.dltk.core/Containers.dat
*.xml
turbineControl_v2/.metadata/version.ini
*.version
turbineControl_v2/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
*.project
Original file line number Diff line number Diff line change
@@ -1,6 +1,26 @@
****************************************************************
-- Komplettes Changelog Reaktor- und Turbinenprogramm von Thor_s_Crafter --
-- Aktuelle Version: 2.2 --
-- Reaktor- und Turbinenprogramm von Thor_s_Crafter --
-- Komplettes Changelog --
-- Aktuelle Version: 2.3 --
****************************************************************
Version 2.3
- Unterstuetzung fuer bis zu 32 Turbinen hinzugefuegt
- Erneute Verbesserung der RodLevel Berechnung
- Verbesserung der checkEnergyLevel()-Funktion
- Verbesserung der Update-Funktion
- Auto-Update entfernt
- InputAPI hinzugefuegt
- Anzeige optimiert
> Grosse Zahlen werden formatiert (z.B. 1.000)
> Turbinenbuttons geaendert und verkleinert
> Standardhintergrund geaendert (grau)
- Installationsprogramm verbessert
> Bessere Funktionalitaet
> Benutzerfreundlicher
- Ordnerstruktur hinzugefuegt
> Bessere Uebersichtlichkeit
- Weitere kleine Bugfixes
> Jede Menge, danke an die Community fuers finden!
****************************************************************
Version 2.2
- Verbesserung der Berechnung der RodLevel
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,25 @@
****************************************************************
-- Complete Changelog Reactor- und Turbineprogram by Thor_s_Crafter --
-- Current Version: 2.2 --
-- Reactor- und Turbine control by Thor_s_Crafter --
-- Complete Changelog --
-- Current Version: 2.3 --
****************************************************************
Version 2.3
- Now supporting up to 32 turbines
- Better calculation of the RodLevel
- Improved getEnergyStorage()-function
- Improved update-function
- Removed auto-update
- Added input API
- Improved display
> Formatting big numers (e.g. 1,000)
> Changed turbine buttons (smaller)
> Changed default background (gray)
- Improved installer
> Works much better now ;)
> More user-friendly
- Added folder structure
- Lots of small bugfixes
> Thanks to you!
****************************************************************
Version 2.2
- Better calculation of the RodLevel
Expand Down
139 changes: 139 additions & 0 deletions turbineControl_v2/src/config/input.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
-- Input API --
-- von Thor_s_Crafter --
-- Version 1.0 --

--Formatiert grosse Zahlenwerte in String (z.B. 1.000)
function formatNumber(value)
--Werte kleiner 1000 muessen nicht formatiert werden
if value < 1000 then return value end

--Legt Berechnungsvariablen fest
local array = {}
local vStr = tostring(value)
local len = string.len(vStr)
local modulo = math.fmod(len,3)

--Speichert einzelne Ziffern in einem Array ab
for i=1,len do array[i] = string.sub(vStr,i,i) end

--Legt (max. 2) Ziffern am Anfang in ein extra Array und entfernt
--Diese aus dem alten Array
local array2 = {}
if modulo ~= 0 then
for i=1,modulo do
array2[i] = array[i]
table.remove(array,i)
end
end

--Fuegt die Punkte als Feld im ersten Array ein
for i=1,#array+1,4 do
table.insert(array,i,".")
end

--Fuegt beide Arrays zusammen
for i=#array2,1,-1 do table.insert(array,1,array2[i]) end
if modulo == 0 then table.remove(array,1) end --Entfernt ggf. Punkt am Anfang

--Wandelt alles in einen String zurueck und gibt diesen zurueck
local final = ""
for k,v in pairs(array) do final = final..v end
return final
end

--Wartet darauf das "Enter" gedrueckt wird
function getEnter()
term.write("Enter druecken...")
while true do
local event,keyCode = os.pullEvent("key")
if keyCode == 28 then
print()
break
end
end
end

function formatNumberComma(value)
--Werte kleiner 1000 muessen nicht formatiert werden
if value < 1000 then return value end

--Legt Berechnungsvariablen fest
local array = {}
local vStr = tostring(value)
local len = string.len(vStr)
local modulo = math.fmod(len,3)

--Speichert einzelne Ziffern in einem Array ab
for i=1,len do array[i] = string.sub(vStr,i,i) end

--Legt (max. 2) Ziffern am Anfang in ein extra Array und entfernt
--Diese aus dem alten Array
local array2 = {}
if modulo ~= 0 then
for i=1,modulo do
array2[i] = array[i]
table.remove(array,i)
end
end

--Fuegt die Punkte als Feld im ersten Array ein
for i=1,#array+1,4 do
table.insert(array,i,",")
end

--Fuegt beide Arrays zusammen
for i=#array2,1,-1 do table.insert(array,1,array2[i]) end
if modulo == 0 then table.remove(array,1) end --Entfernt ggf. Punkt am Anfang

--Wandelt alles in einen String zurueck und gibt diesen zurueck
local final = ""
for k,v in pairs(array) do final = final..v end
return final
end

--Wartet darauf das "Enter" gedrueckt wird
function getEnter()
term.write("Enter druecken...")
while true do
local event,keyCode = os.pullEvent("key")
if keyCode == 28 then
print()
break
end
end
end

--Gibt true oder false zurueck - Anfrage an den Anwender
function yesNoInput(message)
local input = ""
while true do
print(message.." (j/n)?")
term.write("Eingabe: ")
input = read()
if input == "j" then return true
elseif input == "n" then return false
end
end
end

--Gibt einen String zurueck - Anfrage an den Anwender
function stringInput(message)
print(message)
term.write("Eingabe: ")
local input = read()
return input
end

--Gibt eine Zahl zwischen min und max zurueck - Anfrage an den Anwender
function numberInput(message,min,max)
local input = ""
while true do
print(message.." ("..min.."-"..max..")")
term.write("Eingabe: ")
input = read()
if tonumber(input) ~= nil then
local inputNr = tonumber(input)
if inputNr >= min and inputNr <= max then return inputNr end
end
end
end
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@

version
0
2.3
rodLevel
0
backgroundColor
2048
128
textColor
1
reactorOffAt
Expand All @@ -14,7 +14,7 @@ reactorOnAt
mainMenu
true
autoUpdate
true
false
lang
de
mode
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
-- Reaktor- und Turbinenprogramm von Thor_s_Crafter --
-- Version 2.2 --
-- Touchpoint API von Lyqyd - Leicht geändert --
-- Reaktor- and Turbinen control by Thor_s_Crafter --
-- Version 2.3 --
-- Touchpoint API by Lyqyd - Slightly changed --

local backgroundColor
local textColor

function loadOptions()
local optionList = {}
local file = fs.open("options.txt","r")
local file = fs.open("/reactor-turbine-program/config/options.txt","r")
local listElement = file.readLine()
while listElement do
table.insert(optionList,listElement)
Expand Down
Loading

0 comments on commit 73a8fe3

Please sign in to comment.