8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ElixirAdvent Calendar 2024

Day 12

Elixirで作る「DDJ-FLX4のジョグ対応ブロックくずし」 その1 プロジェクト作成からライブラリ追加まで

Last updated at Posted at 2024-12-11

ジョグとは

DJコントローラーにある写真の円盤です
本来は、スクラッチや曲の再生位置を調整する為に使います

p_20241211_172127_720.jpg

これから作るゲームの仕様

 ■ ■ ■ ■ ■ ■ ■ ■ ← ブロック
 ■ ■ ■ ■ ■ ■ ■ ■ 
 ■ ■ ■ ■ ■ ■ ■ ■ 

         ● ← 玉

        ■■■ ←プレイヤー 

  • プレイヤーは左右に動けます
  • は、当たると跳ね返る
  • プロックに当たると消えます
  • は、プレイヤーより下に行くとゲームオーバーです

「DDJ-FLX4のジョグ対応ブロックくずし」とはジョグの回転でプレイヤーの操作します

コラム作成者は音楽のセンスが無いためDDJ-FLX4はゲームコントローラーに見えてしまいました

コラム作成者にDDJ-FLX4の使い方が違うと突っ込まないでください
これはコラム作成者の仕様です

DDJ-FLX4は入院中に頂きました
ありがとうごさいました
1年前退院まで我慢できなくて病院に持ち込んでしまいました

環境

  • OS Ubuntu 22.04
  • DJコントローラー PioneerDj DDJ-FLX4
  • Elixir (1.17.2)
  • Erlang/OTP 26
  • ライブラリ
    • portmidi
    • Rayex

前提知識

下記の僕が書いたコラム、ここで生かされます

まずはプロジェクトを生成する

$ mix new ddj_block
$ cd ddj_block
$ mix test

ライブラリの追加

mix.exs
defmodule DdjBlock.MixProject do
  use Mix.Project

  def project do
    [
      app: :ddj_block,
      version: "0.1.0",
      elixir: "~> 1.17",
      start_permanent: Mix.env() == :prod,
      deps: deps()
    ]
  end

  # Run "mix help compile.app" to learn about applications.
  def application do
    [
-     extra_applications: [:logger]
+     extra_applications: [:logger, :portmidi]
    ]
  end

  # Run "mix help deps" to learn about dependencies.
  defp deps do
    [
+     {:rayex, "~> 0.0.3"},
+     {:portmidi, "~> 5.0"}
      # {:dep_from_hexpm, "~> 0.3.0"},
      # {:dep_from_git, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"}
    ]
  end
end
$ mix deps.get

ソース

今回はここまで
つづく

8
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?