マドノマグラの初心者自作ゲーム制作日誌 迷走モード
プログラミング初心者が自作ゲームを作成してみようとする動きを記す。現在迷走中。
ブログ履歴
2010/11/06:
HSP3.22の環境を整えてみる
2009/11/09: Rubyで適当版自分用関連記事リンク作成プログラムを作る
2009/06/04: Visual C++(DXライブラリ使用)の環境を整えてみるも休止状態に
2009/03/17: ActionScript勉強の環境を整えるも結局休止状態に
2006/07/15: とりあえず分岐型ゲームを作る グリーンタワーVer1.2 ダウンロード(zip)
2006/07/02: ブログスタート。NScripterで何かを作ろうとする
2009/11/09: Rubyで適当版自分用関連記事リンク作成プログラムを作る
2009/06/04: Visual C++(DXライブラリ使用)の環境を整えてみるも休止状態に
2009/03/17: ActionScript勉強の環境を整えるも結局休止状態に
2006/07/15: とりあえず分岐型ゲームを作る グリーンタワーVer1.2 ダウンロード(zip)
2006/07/02: ブログスタート。NScripterで何かを作ろうとする
[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
プレイリスト出力のシャッフル「初めてのプログラミング」11.6練習問題2問目後半戦
初めてのプログラミングの11.6練習問題2問目後半戦、プレイリスト出力のシャッフルを考えてみる。
音楽プレイリスト作成「初めてのプログラミング」11.6練習問題2問目前半戦と配列変化時に連続単語判定の入れ込み「初めてのプログラミング」10.3練習問題1問目リターンズ2をベースに改良…というよりは、ほとんど流用して完成させた。
初めてのプログラミング
posted with amazlet at 08.09.02
Chris Pine
オライリー・ジャパン
売り上げランキング: 161616
オライリー・ジャパン
売り上げランキング: 161616
おすすめ度の平均:
Rubyを使ってHello, Worldから丁寧な解説
Ruby
playshuffle0.rb
def threewords_match original, shuffler, n, m
while n <= (original.length - 3)
if original[n] == shuffler[m-2] && original[n+1] == shuffler[m-1] && original[n+2] == shuffler[m]
temp = shuffler[m-1]
shuffler[m-1] = shuffler[m]
shuffler[m] = temp
end
n += 1
end
shuffler
end
def preshuffle some_array,final_array,original
shuffle some_array,final_array,[],original
end
def shuffle unshuffled,final_array,shuffle_next,original
seed = unshuffled.length
num = rand(seed)
plus = 0
while plus < seed
if num == plus
final_array.push unshuffled[num]
else
shuffle_next.push unshuffled[plus]
end
plus += 1
end
index = final_array.length
if index >= 3
final_array = threewords_match(original, final_array, 0, index-1)
end
if shuffle_next != []
preshuffle shuffle_next,final_array,original
end
final_array
end
def plus_escape_n music_count,data
n = 0
while n< music_count
data[n] += "\n"
n += 1
end
data
end
def original_contents_change origin_cont, origindata
if origin_cont <= 1
shuffled = origindata
elsif origin_cont == 2
shuffled = [origindata[1],origindata[0]]
else
shuffled = preshuffle origindata,[],origindata
end
plus_escape_n(origin_cont,shuffled)
end
Dir.chdir 'c:/techno/testbox'
pic_music = Dir['c:/Documents and Settings/Owner/My Documents/My Music/**/*.wma']
music_count = pic_music.length
puts "探してきた wma ファイルからプレイリストを作ります"
puts
puts "Finding " + music_count.to_s + " files"
shuffled = original_contents_change(music_count, pic_music)
filename = 'playshuf.m3u'
File.open filename, 'w' do |f|
f.write shuffled
end
puts "終了"
PR
この記事にコメントする
PR
カテゴリー
最新記事
(04/22)
(11/20)
(11/11)
(11/11)
(11/09)
(11/07)
(11/07)
(11/07)
(11/07)
(11/06)
アーカイブ
プロフィール
HN:
マドノマグラ
HP:
性別:
非公開
職業:
謎
趣味:
駄文書き
自己紹介:
ゲームを作ろうとしているうちに、言語学習に飽きていく。典型的なダメな人パターンに陥るアホな人