mirror of
				https://github.com/LDDestroier/CC/
				synced 2025-10-31 07:22:59 +00:00 
			
		
		
		
	Add files via upload
This commit is contained in:
		
							
								
								
									
										52
									
								
								epilepsy-screensaver.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								epilepsy-screensaver.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | |||||||
|  | -- trippy screensaver | ||||||
|  | -- LDDestroier | ||||||
|  |  | ||||||
|  | local delay = 0.05 | ||||||
|  |  | ||||||
|  | local function dist(x1, y1, x2, y2) | ||||||
|  | 	return math.sqrt((x1 - x2)^2 + ((y1 - y2)^2 / 0.6666)) | ||||||
|  | end | ||||||
|  |  | ||||||
|  | local char_lookup = "     -=@@=-" | ||||||
|  |  | ||||||
|  | local function render(tick, _x, _y, width, height) | ||||||
|  | 	local line | ||||||
|  | 	local buffer = {} | ||||||
|  | 	local stick = math.sin(math.rad(tick)) | ||||||
|  | 	local cx = stick                    * ((width  - 5) / 2) + (width  / 2) | ||||||
|  | 	local cy = math.cos(math.rad(tick)) * ((height - 5) / 2) + (height / 2) | ||||||
|  | 	local i | ||||||
|  | 	for y = _y, height do | ||||||
|  | 		line = "" | ||||||
|  | 		for x = _x, width do | ||||||
|  | 			i = (math.floor( | ||||||
|  | 				((stick + 1) / 3) * dist(x - tick, y - tick / 2, cx, cy) ^ 2 - tick | ||||||
|  | 			) % #char_lookup) + 1 | ||||||
|  | 			line = line .. (char_lookup:sub(i, i) or " ") | ||||||
|  | 		end | ||||||
|  | 		term.setCursorPos(_x, y) | ||||||
|  | 		term.write(line) | ||||||
|  | 	end | ||||||
|  | end | ||||||
|  |  | ||||||
|  | local evt | ||||||
|  | local tickTimer = os.startTimer(delay) | ||||||
|  | local tick = 0 | ||||||
|  |  | ||||||
|  | while true do | ||||||
|  | 	evt = {os.pullEvent()} | ||||||
|  |  | ||||||
|  | 	if evt[1] == "timer" and evt[2] == tickTimer then | ||||||
|  | 		render(tick, 1, 1, term.getSize()) | ||||||
|  | 		tick = (tick + 0.25) % 720 | ||||||
|  | 		tickTimer = os.startTimer(delay) | ||||||
|  | 	 | ||||||
|  | 	elseif evt[1] == "key" and evt[2] == keys.q then | ||||||
|  | 		sleep(0.05) | ||||||
|  | 		break | ||||||
|  | 	end | ||||||
|  | end | ||||||
|  |  | ||||||
|  | term.clear() | ||||||
|  | term.setCursorPos(1, 1) | ||||||
|  | print("Fucker") | ||||||
		Reference in New Issue
	
	Block a user
	 LDDestroier
					LDDestroier