mirror of
https://github.com/LDDestroier/CC/
synced 2025-01-20 22:16:53 +00:00
Removed netcode (for now)
This commit is contained in:
parent
d79bf6cf5e
commit
ce4640975e
92
tron
92
tron
@ -1,8 +1,17 @@
|
|||||||
local scr_x, scr_y = term.getSize()
|
local port = 701
|
||||||
local modemID = 712
|
|
||||||
local gamename = ""
|
|
||||||
|
|
||||||
waitingForGame = true
|
local scr_x, scr_y = term.getSize()
|
||||||
|
local modem = peripheral.find("modem")
|
||||||
|
if (not modem) and ccemux then
|
||||||
|
ccemux.attach("top", "wireless_modem")
|
||||||
|
modem = peripheral.find("modem")
|
||||||
|
end
|
||||||
|
|
||||||
|
if modem then
|
||||||
|
modem.open(port)
|
||||||
|
else
|
||||||
|
-- error("You should attach a modem.")
|
||||||
|
end
|
||||||
|
|
||||||
local grid = {
|
local grid = {
|
||||||
x1 = -80,
|
x1 = -80,
|
||||||
@ -16,9 +25,6 @@ local grid = {
|
|||||||
edgecol = "0"
|
edgecol = "0"
|
||||||
}
|
}
|
||||||
|
|
||||||
local you = 1
|
|
||||||
local nou = 2
|
|
||||||
|
|
||||||
local scrollX = 0
|
local scrollX = 0
|
||||||
local scrollY = 0
|
local scrollY = 0
|
||||||
|
|
||||||
@ -123,6 +129,9 @@ local toblit = {
|
|||||||
[colors.black] = "f"
|
[colors.black] = "f"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local you = 1
|
||||||
|
local nou = 2
|
||||||
|
|
||||||
local control = {
|
local control = {
|
||||||
up = keys.up,
|
up = keys.up,
|
||||||
down = keys.down,
|
down = keys.down,
|
||||||
@ -245,8 +254,6 @@ end
|
|||||||
local render = function()
|
local render = function()
|
||||||
local p = player[you]
|
local p = player[you]
|
||||||
drawGrid(scrollX + scrollAdjX, scrollY + scrollAdjY)
|
drawGrid(scrollX + scrollAdjX, scrollY + scrollAdjY)
|
||||||
term.setCursorPos(1,1)
|
|
||||||
term.write(gamename)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local deepCopy
|
local deepCopy
|
||||||
@ -367,7 +374,6 @@ local evt
|
|||||||
local keysDown = {}
|
local keysDown = {}
|
||||||
|
|
||||||
local getInput = function()
|
local getInput = function()
|
||||||
os.pullEvent("new_game")
|
|
||||||
while true do
|
while true do
|
||||||
evt = {os.pullEvent()}
|
evt = {os.pullEvent()}
|
||||||
if lockInput then
|
if lockInput then
|
||||||
@ -463,29 +469,9 @@ local moveTick = function()
|
|||||||
ageTrails()
|
ageTrails()
|
||||||
end
|
end
|
||||||
|
|
||||||
if ccemux and not peripheral.find("modem") then
|
|
||||||
ccemux.attach("top","wireless_modem")
|
|
||||||
end
|
|
||||||
|
|
||||||
local modem = peripheral.find("modem")
|
|
||||||
|
|
||||||
if modem then
|
|
||||||
modem.open(modemID)
|
|
||||||
else
|
|
||||||
error("You need a modem.")
|
|
||||||
end
|
|
||||||
|
|
||||||
local sendInfo = function(gameID)
|
|
||||||
modem.transmit(modemID, modemID, {
|
|
||||||
player = player,
|
|
||||||
gameID = gameID
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
local game = function()
|
local game = function()
|
||||||
local outcome
|
|
||||||
os.pullEvent("new_game")
|
|
||||||
local p = player[you]
|
local p = player[you]
|
||||||
|
local outcome
|
||||||
while true do
|
while true do
|
||||||
p.putTrail = not keysDown[control.release]
|
p.putTrail = not keysDown[control.release]
|
||||||
if keysDown[control.left] and p.direction ~= 0 then
|
if keysDown[control.left] and p.direction ~= 0 then
|
||||||
@ -515,7 +501,6 @@ local game = function()
|
|||||||
scrollAdjY = scrollAdjY * 0.8
|
scrollAdjY = scrollAdjY * 0.8
|
||||||
|
|
||||||
outcome = moveTick()
|
outcome = moveTick()
|
||||||
sendInfo(gameID)
|
|
||||||
|
|
||||||
if outcome == "end" then
|
if outcome == "end" then
|
||||||
return
|
return
|
||||||
@ -531,54 +516,13 @@ end
|
|||||||
|
|
||||||
local decision
|
local decision
|
||||||
|
|
||||||
local networking = function()
|
|
||||||
local evt, side, channel, repchannel, msg, distance
|
|
||||||
while true do
|
|
||||||
evt, side, channel, repchannel, msg, distance = os.pullEvent("modem_message")
|
|
||||||
if channel == modemID and repchannel == modemID and type(msg) == "table" then
|
|
||||||
if type(msg.player) == "table" and type(msg.gameID) == "string" then
|
|
||||||
|
|
||||||
if waitingForGame and (type(msg.new) == "number") then
|
|
||||||
local time = os.time()
|
|
||||||
if msg.new < time then
|
|
||||||
you, nou = nou, you
|
|
||||||
gamename = msg.gameID
|
|
||||||
--error("okay what")
|
|
||||||
end
|
|
||||||
you, nou = nou, you
|
|
||||||
modem.transmit(modemID, modemID, {
|
|
||||||
player = player,
|
|
||||||
gameID = gamename,
|
|
||||||
new = (msg.new < time) and (os.time() + 10) or (os.time() - 10)
|
|
||||||
})
|
|
||||||
waitingForGame = false
|
|
||||||
os.queueEvent("new_game", gameID)
|
|
||||||
elseif msg.gameID == gamename then
|
|
||||||
player[nou] = msg.player[nou]
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
while true do
|
while true do
|
||||||
decision = titleScreen()
|
decision = titleScreen()
|
||||||
lockInput = false
|
lockInput = false
|
||||||
if decision == "start" then
|
if decision == "start" then
|
||||||
trail = {}
|
trail = {}
|
||||||
resetPlayers()
|
resetPlayers()
|
||||||
gamename = ""
|
parallel.waitForAny(getInput, game)
|
||||||
for i = 1, 32 do
|
|
||||||
gamename = gamename .. string.char(math.random(1,126))
|
|
||||||
end
|
|
||||||
waitingForGame = true
|
|
||||||
modem.transmit(modemID, modemID, {
|
|
||||||
player = player,
|
|
||||||
gameID = gamename,
|
|
||||||
new = os.time()
|
|
||||||
})
|
|
||||||
parallel.waitForAny(getInput, game, networking)
|
|
||||||
elseif decision == "demo" then
|
elseif decision == "demo" then
|
||||||
parallel.waitForAny(getInput, gridDemo)
|
parallel.waitForAny(getInput, gridDemo)
|
||||||
elseif decision == "exit" then
|
elseif decision == "exit" then
|
||||||
|
Loading…
Reference in New Issue
Block a user