Hal9000

Hal9000

As you may know, I am slowly/painfully writing an Elixir book.

There is a code example that I’ve written in Ruby – a simple
robot-type “capture the flag” game. (Not a real game, just a
coding exercise.)

I’m about to port the Ruby code to Elixir. If anyone wants to
look/comment/help, please feel free. (Those who contribute
will be mentioned in the acknowledgements fwiw.)

This repo will be public for at least two days:

https://github.com/Hal9000/vexil

Thanks,
Hal

Showing Posts 1 to 10

minhajuddin

minhajuddin

  1. Put *.beam in your .gitignore
  2. defstruct team: nil, kind: nil, move: nil, see: nil, ... could be written as defstruct [:team, :kind, :move, :see...]
  3. Use tuples is more idiomatic elixir instead of fixed sized lists e.g. in def get(grid, [:red, x, y])
Hal9000

Hal9000 OP

Agreed and committed. Thank you!

Hl

johnkelly

johnkelly

I think you can refactor the show_cell function to remove the conditional and assignments.

   defmodule Grid do
      def show_cell(grid, xx, yy) do
        grid
        |> Grid.get({:red, xx, yy})
        |> Bot.to_string
        |> IO.write
      end
    end

defmodule Bot do
  def to_string(nil), do: "-"
end
Hal9000

Hal9000 OP

Also excellent ideas. Committed.

romul

romul

I think, defender, fighter, scout, flag and related behavior are good to demonstrate how to work with Elixir protocols.

Eiji

Eiji

Created first small PR. I will help you more today or/and in next days. This will depend on your response times and my free time :smile:

Hal9000

Hal9000 OP

That is a good idea. I don’t think I’ll introduce protocols here at first, but I
could always refer back to the code later and show changes.

Hal

Hal9000

Hal9000 OP

Merged. Appreciated. Just remember we may be in different time zones. :wink:

By the way The Ruby version is not “ideal” either. The non-threaded version is
easier to watch/understand, but the threaded one is a massive free-for-all, and I
am not sure how I want to fix it.

Hal

Eiji

Eiji

Yes I mean I will send PR if I find some time in same day you merged previous.
What does mean:

FIXME pieces[team] << bot

?
I do not see a pieces declaration in this file …
And this comment:

line 22

:smile:

Eiji

Eiji

Tip: here you have a tutorial about creating a command line application in Elixir.
I will create a next PR in current week (first version of this app that works from command line).

Where Next? Top

Trending in Discussions Top

cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
515 12931 101
New
wmnnd
Hey folks, I wanted to share with you a project I’ve been working on for a while: It’s an Open Source (AGPLv3) newsletter tool. Think Ma...
New
raa-ziq
Hi everyone :waving_hand: I wanted to share something I’ve been building — NowBlind, a random chat app designed to help people discover ...
New
axelson
Hi there! :wave: @frigidcode and I (but mostly him) have been running an Elixir Book club, we’re almost done with Designing Elixir Syste...
New
alexslade
Fly’s CEO posted this recently - Turn And Face The Strange · The Fly Blog It says that Fly is going all-in on sprites, which is a worry ...
New
sntran
In my third year of college, around 2010, I found Erlang. A few years later, I found Elixir. I liked the ideas at once: many small proces...
New
Ganna
Hi everyone, I have 8 years of production experience with Erlang/OTP and I’m just starting to get to know Elixir. What would you learn f...
New

Other Trending Topics Top

dominicletz
Hey there, I haven’t seen a list of useful Elixir specific skills for the popular AI tools yet so I’m starting one here with my first. ...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
OndrejValenta
(I just needed to vent somewhere and LinkedIn is full of hope, or hype, I’m not sure which exactly) AI dream has many faces, but general...
New
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New
kip
In 2021 I started a new library called Tempo with the objective of modelling time as a set of intervals - not as instants. In 2022 I gave...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews