# 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.