The language guide in the learn section is a good start:
Also check out the sample file in Help>Samples>Core>CoreCodeBlocks
Other than that, you could try searching the forum or asking for specific problems here.
From the image above it looks like you’ve got the gist of it.Most likely, you can avoid imperative code in your case. Also you don’t need to worry about transactions inside the main graph 99% of the time. If you stick with the imperative approach, you might consider assigning your newly created floor to a variable and adding that to a list, so that you can return the list of floors instead of just the index.