PCインストラクターmeguの日常と忘備録

人、コンピュータ、仕事が大好き
学びが趣味のへんてこりんインストラクター

DXRuby インストール方法の覚書

2022-02-06 17:42:38 | プログラミング

Rubyでゲームを作成できるgem DXRuby

受講生の方からインストールしても

ウィンドウが表示されない

irbでrequire 'dxruby' としてもtrueが返ってこず

エラーが表示されるとのご質問を頂いた

https://qiita.com/noanoa07/items/7df5886c619781d8d2ee

こちらのURLを参考にさせて頂いて

>DXRuby 1.4.7からは、64bit版Ruby("x64"と書いてある版)に対応しま

>した。Devkit(MSYS2)付きでなくても、DXRubyはかまいません。

とかかれていたので インストールを試みるも

Ruby3.0.2 64bitではうまくいかなかった

そこで

私の操作1

Ruby3.0.2 64bitでうまくいかなかったので32bit版で再挑戦

Ruby+devkit2.6.9-1(x86)をダウンロード

https://rubyinstaller.org/downloads/

Ruby+Devkit 2.6.9-1 (x86)

DLしてダブルクリック→I accept the Licence →C:¥Ruby26→次へと進む

本体のインストールが終わるとMSYS2のインストール画面が自動で立ち上がる

私は1,2,3と入力してエンターキーを押した(2はアップデートなので1,3でもよかったと思う)

インストールが結構時間がかかった(ウィルスバスターが3つのファイルをブロックしたが許可をして進んだ)

スタートメニューからRuby2.6.9がインストールされたのを確認

私の操作2 Microsoftのサイトから

DirectX End-User Runtimes(June 2010)をダウンロードする。
https://www.microsoft.com/en-us/download/details.aspx?id=8109

https://qiita.com/noanoa07/items/7df5886c619781d8d2ee

↑のURLを参考にさせて頂いて順に進み

(解凍は新しいフォルダを作成してその中にきちんと解凍した方が良い、デスクトップなどは×)

32bit版Ruby(x86、i386);Nov2008_d3dx9_40_x86.cabを

をダブルクリックする。

中の d3dx9_40.dllをダブルクリックして、新しいフォルダを作成してその中に解凍する。

解凍先のフォルダに d3dx9_40.dllができる。

できた d3dx9_40.dllをコピーして

インストールしているRubyのフォルダの中の、binフォルダつまり

C:\Ruby26\binの中で貼り付け

貼り付けただけではだめだったので、DXSETUP.exeをダブルクリックしてインストール

ウィザードが起動するので次へ次へと進み、インストールを完了させる

(Ruby2.6.9のインストール前に3.0で挑戦時にC:\System32にd3dx9_40.dllは貼り付け済み)

私の操作3 

スタートメニューからRuby2.6.9を開き、一覧から

Start Command Prompt With Rubyをクリック

>gem install dxrubyでジェムをインストール

>gem listと打って一覧にdxrubyがあることを確認

私の操作4

Irbで>require ‘dxruby’と打って

=>true が返ってくるのを確認できました

追記:DXRubyの一部のファイルをウィルスバスターがブロックしたので、許可をする。又

C\Ruby26のフォルダをウィルスバスターの例外フォルダとして登録した。

これをしないと実際にプログラムを実行した時にブロックされた。

まとめ:

Rubyは32bit版が良い気がする

DirectXはd3dx9_40.dllファイルをC:¥Ruby26のbinフォルダにコピーしたものを貼り付けするだけでなく

DXSETUP.exeをダブルクリックしてインストールした

ウィルスバスターが一部のファイルをブロックしたので許可

ウィするバスターの例外フォルダにC:\Ruby26を追加

これでDXRubyを使えるようになった

 

 


Ruby 繰り返し処理を中断 ループを脱出

2022-02-06 17:12:22 | プログラミング

Ruby の繰り返し処理には

色々な方法がある

for

while

times

loop

each

upto

downto

これらの繰り返し処理の中で

ifで条件判断を行い

繰り返しから脱出するためには

break

を使う

loop do #無限ループ

    n = rand(100) #0~99までの整数をランダムに一つ取り出してnに代入

    puts n    #nを出力

    if n % 10 == 0 #もしnを10で割った余りが0と等しければ

        break    #ループを脱出する

    end

end

実行結果は0~99までの整数が

10で割った余りが0になるまで

出力されつづけ

10で割った余りが0になったら

そこでループを脱出して

終了

 

 


Ruby プログラムを途中で終了させる

2022-02-06 16:53:24 | プログラミング

Rubyでプログラムを途中で終了させたい時

exit と記述すると

それ以降のプログラムを実行せずに

プログラムを終了させることができる

irbもexitで終了することができる

 

注意:exit以降に例外処理がある場合

rescue節でこのエラーをキャッチされると

exit実行後の例外処理は実行される

そして、exitによるプログラム終了処理が中断され

その後のプログラムが実行されることがある