Godot GDScript code from ChatGPT

Can it do Godot? I think so.
Write Godot GDscript function that returns numbers between 1 and 100 which smoothly oscillate up and down in a bumpy way that isn't predictable.
Here is a GDScript function that returns a random number between 1 and 100 with a "bumpy" oscillation:
func random_bumpy_oscillation():
var number = 50 + (50 * Math.sin(OS.get_ticks() / 100))
number += (Math.rand() - 0.5) * 20
return number.clamp(1, 100)
Explanation:
OS.get_ticks()
returns the number of milliseconds since the engine started.Math.sin(OS.get_ticks() / 100)
returns a value between -1 and 1 that smoothly oscillates over time.50 + (50 * Math.sin(OS.get_ticks() / 100))
shifts the oscillation so it ranges between 0 and 100.(Math.rand() - 0.5) * 20
adds a random value between -10 and 10 to the result, making the oscillation more "bumpy".number.clamp(1, 100)
limits the result to the range between 1 and 100.
Make the bumps smoother so that the output is like a complex wave function.
Here is an updated function that returns a smoother wave function:
func random_smooth_oscillation():
var time = OS.get_ticks() / 1000
var number = 50 + (50 * Math.sin(time)) + (20 * Math.sin(time * 2)) + (10 * Math.sin(time * 3))
number += (Math.rand() - 0.5) * 5
return number.clamp(1, 100)
Explanation:
time = OS.get_ticks() / 1000
converts the number of milliseconds to seconds.50 + (50 * Math.sin(time)) + (20 * Math.sin(time * 2)) + (10 * Math.sin(time * 3))
creates a complex wave function by summing several sinusoidal functions with different frequencies and amplitudes.(Math.rand() - 0.5) * 5
adds a small random value to the result, making the wave function slightly less predictable.number.clamp(1, 100)
limits the result to the range between 1 and 100.
I think with more time, I could have worked out code for making the ground do what I wanted with the 1 pixel wide vertical strips - but I've already drawn the larger pieces and started implementing them.
However, I will have to keep ChatGPT in mind for coding help.