Browse Source

made a start

pixelbath 2 years ago
parent
commit
1042d4202a
1 changed files with 198 additions and 0 deletions
  1. 198 0
      blockbattle/blockbattle.lua

+ 198 - 0
blockbattle/blockbattle.lua

@@ -0,0 +1,198 @@
+-- title:  blockbattle
+-- author: pixelbath
+-- desc:   a falling blocks game totally not inspired by anything previous
+-- script: lua
+
+t=0
+local pieces = {
+    {
+        {
+            {0, 0, 0, 0},
+            {1, 1, 1, 1},
+            {0, 0, 0, 0},
+            {0, 0, 0, 0},
+        },
+        {
+            {0, 1, 0, 0},
+            {0, 1, 0, 0},
+            {0, 1, 0, 0},
+            {0, 1, 0, 0},
+        },
+    },
+    {
+        {
+            {0, 0, 0, 0},
+            {0, 4, 4, 0},
+            {0, 4, 4, 0},
+            {0, 0, 0, 0},
+        },
+    },
+    {
+        {
+            {0, 0, 0, 0},
+            {2, 2, 2, 0},
+            {0, 0, 2, 0},
+            {0, 0, 0, 0},
+        },
+        {
+            {0, 2, 0, 0},
+            {0, 2, 0, 0},
+            {2, 2, 0, 0},
+            {0, 0, 0, 0},
+        },
+        {
+            {2, 0, 0, 0},
+            {2, 2, 2, 0},
+            {0, 0, 0, 0},
+            {0, 0, 0, 0},
+        },
+        {
+            {0, 2, 2, 0},
+            {0, 2, 0, 0},
+            {0, 2, 0, 0},
+            {0, 0, 0, 0},
+        },
+    },
+    {
+        {
+            {0, 0, 0, 0},
+            {3, 3, 3, 0},
+            {3, 0, 0, 0},
+            {0, 0, 0, 0},
+        },
+        {
+            {0, 3, 0, 0},
+            {0, 3, 0, 0},
+            {0, 3, 3, 0},
+            {0, 0, 0, 0},
+        },
+        {
+            {0, 0, 3, 0},
+            {3, 3, 3, 0},
+            {0, 0, 0, 0},
+            {0, 0, 0, 0},
+        },
+        {
+            {3, 3, 0, 0},
+            {0, 3, 0, 0},
+            {0, 3, 0, 0},
+            {0, 0, 0, 0},
+        },
+    },
+    {
+        {
+            {0, 0, 0, 0},
+            {5, 5, 5, 0},
+            {0, 5, 0, 0},
+            {0, 0, 0, 0},
+        },
+        {
+            {0, 5, 0, 0},
+            {0, 5, 5, 0},
+            {0, 5, 0, 0},
+            {0, 0, 0, 0},
+        },
+        {
+            {0, 5, 0, 0},
+            {5, 5, 5, 0},
+            {0, 0, 0, 0},
+            {0, 0, 0, 0},
+        },
+        {
+            {0, 5, 0, 0},
+            {5, 5, 0, 0},
+            {0, 5, 0, 0},
+            {0, 0, 0, 0},
+        },
+    },
+    {
+        {
+            {0, 0, 0, 0},
+            {0, 6, 6, 0},
+            {6, 6, 0, 0},
+            {0, 0, 0, 0},
+        },
+        {
+            {6, 0, 0, 0},
+            {6, 6, 0, 0},
+            {0, 6, 0, 0},
+            {0, 0, 0, 0},
+        },
+    },
+    {
+        {
+            {0, 0, 0, 0},
+            {7, 7, 0, 0},
+            {0, 7, 7, 0},
+            {0, 0, 0, 0},
+        },
+        {
+            {0, 7, 0, 0},
+            {7, 7, 0, 0},
+            {7, 0, 0, 0},
+            {0, 0, 0, 0},
+        },
+    },
+}
+
+local board = {}
+
+local pieceType = 1
+local pieceRotation = 1
+local piece_x = 3
+local piece_y = 0
+
+function init_board()
+	for y = 1, 20 do
+		board[y] = {}
+		for x = 1, 10 do
+			board[y][x] = 0
+		end
+	end
+end
+
+function draw_piece()
+	for y = 1, 4 do
+        for x = 1, 4 do
+            local block = pieces[pieceType][pieceRotation][y][x]
+            if block ~= 0 then
+                local blockSize = 8
+                local blockDrawSize = blockSize - 1
+                rect(
+                    (x - 1) * blockSize,
+                    (y - 1) * blockSize,
+                    blockDrawSize,
+                    blockDrawSize,
+					4
+                )
+            end
+        end
+    end
+end
+
+function handle_input()
+    if btnp(4) then
+        pieceRotation = pieceRotation + 1
+        if pieceRotation > #pieces[pieceType] then
+            pieceRotation = 1
+        end
+    end
+    if btnp(5) then
+        pieceRotation = pieceRotation - 1
+        if pieceRotation < 1 then
+            pieceRotation = #pieces[pieceType]
+        end
+    end
+end
+
+function TIC()
+    handle_input()
+
+	cls(0)
+	draw_piece()
+end
+
+-- <PALETTE>
+-- 000:140c1c44243430346d4e4a4e854c30346524d04648757161597dced27d2c8595a16daa2cd2aa996dc2cadad45edeeed6
+-- </PALETTE>
+