Skip to content

Instantly share code, notes, and snippets.

View Achie72's full-sized avatar
💻
Probably doing some game jam

Tóth Béla Achie72

💻
Probably doing some game jam
View GitHub Profile
@Achie72
Achie72 / replacer.p8
Created April 20, 2024 16:00
Replacer
function replace()
-- collection for the if is it this tile
local tilesToCheck = {1,2,3,4,5,6}
-- collection to replace tile
local tilesToReplace = {10,20,30,40,50,60}
local x,y = 0,0
for i=1,#tilesToCheck do
if mget(x,y) == tilesToCheck[i] then
@Achie72
Achie72 / selector_lib.p8
Last active April 14, 2024 17:14
Janky Selector "Lib"
pico-8 cartridge // http://www.pico-8.com
version 42
__lua__
-- selector library
-- by achiegamedev
-- the selector object you will be playing and
-- calling around with. You can create a new
-- one by calling selector:init({object})
-- where object has the same values as here
@Achie72
Achie72 / toolbar_and_shovel.p8
Created April 13, 2024 16:28
How we handle setting, getting and swapping lines!
elseif state == "tools" then
-- pressing left will only move you to first item
if btnp(0) then toolbar.cursor = max(0, toolbar.cursor-1) end
-- pressing right will only mvoe to the last item
if btnp(1) then toolbar.cursor = min(12, toolbar.cursor+1) end
-- if we are on tools I want to have a float-in menu
-- that comes in from the bottom, showcasing the tools
toolbar.y = lerp(toolbar.y, toolbar.yOnScreen, 0.2)
-- go back to planning phase
@Achie72
Achie72 / td_wave_system_dummy.p8
Last active April 9, 2024 16:29
PICO-8 Wave System
pico-8 cartridge // http://www.pico-8.com
version 42
__lua__
-- I would create an enemy adder function that
-- creates enemies at certain positions (basically spawn them in)
function add_enemy(_x, _y, _type)
-- if youw ant to store enemy properties, I'd do it here in an array
-- for ex:
--[[
local enemyData = {
@Achie72
Achie72 / tutorial-segments.p8
Created February 25, 2024 19:08
One Last Swing - Tutorial code
-- here we modifiy the creation to accomodate
-- the tutorial, where we are gonna show the
-- player which stance beats what
if tutorial > 0 then
tutorial -= 1
if tutorial > 0 then
-- based on which tutorial we are in, set the enemy stance so that is beatable
-- by the other table inside the players code when we are about to resolve the fight
local tutorialBeatTable = {MID_STANCE,LOW_STANCE, MID_STANCE, HIGH_STANCE}
@Achie72
Achie72 / dw_transition.p8
Created February 25, 2024 18:53
One Last Swing - Circular Transition by DW
-- transiton effect is from DW from the lexaloffle bbs
function draw_transition_effect()
-- magic circle does the
-- opposite of circfill and
-- instead erases the outside
-- of the circle first
for i=64,transition,-1 do
circ(32,32,i,11)
circ(33,32,i,11)
end--next i
@Achie72
Achie72 / 1k_defender.p8
Created February 4, 2024 13:18
1k Defender Raw Code
a,h,v,t,w,d,l,b,e,p,r,k,eb,ht,ld=20,64,100,0,0,0,10,{},{},{},rnd,del,{},{},0
function ce(a,b,c,d,e) if (((a-b)*(a-b)) + (c-d)*(c-d) <= e*e) then return true else return false end end
::_::
if time() < 3 then goto title else
cls()t+=1
if(t%2==1)add(b,{x=r(128),y=0,t=1,b=0,c=1+flr(r(2))*6})
if(t>30)then t,d=0,d+0.005 end
if(w<time())then
i={x=r(120),y=-2,t=r(3),s=r({1,2}),sp=time()+r()}add(e,i)
@Achie72
Achie72 / one_last_swing_clue_system.p8
Created January 23, 2024 17:18
Samurai Game Jam Devlog - One Last Swing #2 - Clue System - PICO-8
-- red starts from high stance
-- for ex, let's say the start at a high stance
enemy.finalStance = HIGH_STANCE
local modifierCollection = {}
-- let's roll a few modifires, which are
-- showcased by the clue system for you
-- to figure out
for i=1,3 do
-- roll a chance for it to even happen
@Achie72
Achie72 / rock-paper-scissor-combat.p8
Created January 23, 2024 17:05
Samurai Game Jam Devlog - One Last Swing #2 - Rock-Paper-Scissor Combat - PICO-8
-- inside update:
-- update opponent's attack timer
if enemy.timeLeftForAttack > 0 then
-- decrease the time till the opponent attacks
enemy.timeLeftForAttack -= 1
-- let them switch around randomly to juke
if (enemy.timeLeftForAttack > enemy.finalStanceHold) then
if rnd() > 0.9 then
enemy.stance = rnd({1,2,3})
end
@Achie72
Achie72 / palette_swap_samurai_draw.p8
Created January 23, 2024 16:53
Samurai Game Jam Devlog - One Last Swing #2 - Drawing Samurai
-- draw a samurai on the screen at _x and _y positions
-- _color holds a two element array for the palette swap
-- _head holds the head sprite of the samurai
-- _flip indicates two horizontally flip the whole thing
-- for opponent drawing
function draw_samurai(_x, _y, _color, _stance, _head, _flip)
-- offset for heads, because the base sprite is not symetrical.
local headOffset = {3,1}
if _flip then headOffset = {5,1} end