This page (revision-4) was last changed on 01-Mar-2026 07:57 by Markus Monderkamp 

This page was created on 01-Mar-2026 07:41 by Markus Monderkamp

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
4 01-Mar-2026 07:57 1 KB Markus Monderkamp to previous ELixir Lösung mit mix von wschroeder aus github.com ergänzt
3 01-Mar-2026 07:49 1 KB Markus Monderkamp to previous | to last Überschrift und Kurzbeschreibung ergänzt
2 01-Mar-2026 07:47 1012 bytes Markus Monderkamp to previous | to last Tag "funktionaleProgrammierung" ergänzt
1 01-Mar-2026 07:41 973 bytes Markus Monderkamp to last Sourcecode von Marc (alchemist.camp) für das number-guessing-game

Page References

Incoming links Outgoing links

Version management

Difference between version and

!! Number guessing game in Elixir
(Das Programm soll eine Zahl zwischen "low" und "high" raten)

%%prettify
{{{
defmodule GuessingGame do
 # tell user our guess
 # "yes" game over
 # "bigger" -> bigger( low, high )
 # "smaller" -> smaller( low, high )
 # anything else -> tell user to enter a valid response

 def guess(a, b) when a > b, do: guess(b, a) # guard, matches only, when a > b
 
 def guess(low, high) do
   answer = IO.gets "Hmm... maybe you're thinking of #{mid(low, high)}?\n"
   case String.trim(answer) do
     "bigger" -> bigger(low, high)
     "smaller" -> smaller(low, high)
     "yes" -> "I knew I could guess your number!"
     _ ->
       IO.puts ~s(Type "bigger", "smaller" or "yes")
guess(low, high)
   end
 end
 
 def mid( low, high) do
   div low + high, 2
 end

 def bigger(low, high) do
   new_low = min( high, mid(low, high) + 1)
   guess(new_low, high)
 end

 def smaller(low, high) do
   new_high = max(low, mid(low, high) - 1)
   guess(low, new_high)
 end  
end
}}}
/%

* wschroeder hat die Lösung, wenn der Mensch z.B. in 6 Versuchen eine Zahl zwischen 1 und 100 raten soll, die sich das Elixir-Programm "ausgedacht" hat: \\
<<https://github.com/wschroeder/elixir_number_guess/blob/master/lib/number_guess.ex \\
Interessant wäre m.E. auch, beide Programme gegeneinander antreten zu lassen.


[{Tag funktionaleProgrammierung}]