マドノマグラの初心者自作ゲーム制作日誌 迷走モード
プログラミング初心者が自作ゲームを作成してみようとする動きを記す。現在迷走中。
ブログ履歴
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ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
「初めてのプログラミング」10.3練習問題の1問目前半戦、shuffleメソッドでシャッフルするまで
初めてのプログラミングの10.3練習問題の1問目のshuffleメソッドを作るまでを考えた。
「初めてのプログラミング」10.2のソート、再帰を使う場合に苦悩するで書いたプログラムをベースにして考える事にした。
配列の要素数を範囲とした乱数を得る
↓
各配列の乱数番目の要素をシャッフル済みの配列に入れ込み、その他を未シャッフル配列に入れ込む
これをループさせる手を使った。ただし、for文や、数字を追加していくイテレータは学んでいないので、while で代用した。
一応、空行と、(a,b,c,d,e)を入力したものでシャッフルをしたら、とりあえず、順番が変わった。
次は、シャッフルができているかどうかのテストするためのプログラムの作成である。
初めてのプログラミング
posted with amazlet at 08.09.02
Chris Pine
オライリー・ジャパン
売り上げランキング: 161616
オライリー・ジャパン
売り上げランキング: 161616
おすすめ度の平均:
Rubyを使ってHello, Worldから丁寧な解説
Ruby
shuffle0.rb
def preshuffle some_array,final_array
shuffle some_array,final_array,[]
end
def shuffle unshuffled,final_array,shuffle_next
seed = unshuffled.length
num = rand(seed)
plus = 0
# 内部データをしらべるため・
puts "seed"
puts seed
puts "num="
puts num
while plus < seed
if num == plus
final_array.push unshuffled[num]
else
shuffle_next.push unshuffled[plus]
end
plus += 1
end
# 内部データをしらべるため・
puts "unshuffled="
puts unshuffled
puts "shuffle_next="
puts shuffle_next
puts "final_array="
puts final_array
if shuffle_next != []
preshuffle shuffle_next,final_array
end
final_array
end
# プログラム開始
origindata = []
puts "半角英数で単語を打ってね、空行でおわり"
word = gets.chomp
while word != ""
origindata.push word
word = gets.chomp
end
puts "入れ込んだデータはこちら"
puts origindata
puts "プログラムによる shuffle を開始します"
unshuffled = origindata
shuffled = preshuffle unshuffled,[]
puts "最初に入れ込んだデータはこちら"
puts origindata
puts "shuffled はこちら"
puts shuffled
# とりあえず、前半戦はここまで。次のステップでシャッフルできているかを検討
puts "sort 結果が一緒かどうか判定してみます"
originsorted = origindata.sort
puts "最初に入れ込んだデータを、.sortでいじった結果はこちら"
puts originsorted
if originsorted == shuffled
puts "一緒です"
else
puts "あれれ?どこかでミスったかな?"
end
PR
この記事にコメントする
PR
カテゴリー
最新記事
(04/22)
(11/20)
(11/11)
(11/11)
(11/09)
(11/07)
(11/07)
(11/07)
(11/07)
(11/06)
アーカイブ
プロフィール
HN:
マドノマグラ
HP:
性別:
非公開
職業:
謎
趣味:
駄文書き
自己紹介:
ゲームを作ろうとしているうちに、言語学習に飽きていく。典型的なダメな人パターンに陥るアホな人