Initial upload

This commit is contained in:
2022-08-24 14:28:45 +02:00
parent c67653ddee
commit 57bc7b0289
370 changed files with 18479 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
defmodule RemoteControlCar do
@enforce_keys [:nickname]
defstruct [:nickname, battery_percentage: 100, distance_driven_in_meters: 0]
def new(nickname \\ "none") do
%RemoteControlCar{nickname: nickname}
end
def display_distance(%RemoteControlCar{} = remote_car) do
"#{remote_car.distance_driven_in_meters} meters"
end
def display_battery(%RemoteControlCar{} = car) do
if car.battery_percentage > 0 do
"Battery at #{car.battery_percentage}%"
else
"Battery empty"
end
end
def drive(%RemoteControlCar{} = remote_car) when remote_car.battery_percentage > 0 do
%{remote_car | battery_percentage: remote_car.battery_percentage - 1, distance_driven_in_meters: remote_car.distance_driven_in_meters + 20}
end
def drive(%RemoteControlCar{} = car), do: car
end