マドノマグラの初心者自作ゲーム制作日誌 迷走モード
プログラミング初心者が自作ゲームを作成してみようとする動きを記す。現在迷走中。
ブログ履歴
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ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
「初めてのプログラミング」練習問題9.4の1問目を解いてみた
初めてのプログラミングの練習問題9.4の1問目を解いてみる。
p85に載っているものをちょっといじるくらいのもの。
askquestion0.rb では、def ask 内のwhile 部分の while の次の条件部分を書かなかった状態。
この状態で実行すると、文字列がずらっと表示されただけで、nil を返して終わってしまった。
どうやら、puts question 部分は実行されているものの、その後の reply = gets.chomp.downcase がスルーされてしまっている模様。なんでこういうことが起こったのかはまだよくわからない。要研究。
20080906追記:
この挙動の理由を考察した。
「初めてのプログラミング」練習問題9.4の1問目の失敗の考察
にてどうぞ。
追記終わり
そして、askquestion1.rb にて、while の条件を true にして実行。内部に return があるので、無限ループにはならず、無事動いた。
※追記部分のプログラム部分をpreタグで囲むことで、字下げが表示できるようになった。
オライリー・ジャパン
売り上げランキング: 161616




「初めてのプログラミング」練習問題8.3の2問目を解いてみた
初めてのプログラミングの練習問題8.3の2問目を解いてみる。
「初めてのプログラミング」練習問題6.2の2問目を解くの改訂版といったところか。
配列を使った後、.eachを使用するという考え方でいいと思うけれど、果たしてこれでいいのかわからん。
一応、実行したらちゃんと表示されたんだけどね。
※追記部分の作成文は字下げがされていませんが、実際作成したものは、ちゃんと字下げされています。
オライリー・ジャパン
売り上げランキング: 161616




「初めてのプログラミング」練習問題8.3の1問目を解いてみた
初めてのプログラミングの練習問題8.3の1問目を解いてみる。
配列に対して、どんどん .push していって、最後に .sort すればいいようだ。
ただ、word = gets.chomp が2つ書かれてしまっているのは、なんとなく気持ち悪さを感じる。でも、どうすりゃいいのかわからんので、このままにした。
※追記部分の作成文は字下げがされていませんが、実際作成したものは、ちゃんと字下げされています。
オライリー・ジャパン
売り上げランキング: 161616




「初めてのプログラミング」練習問題7.5の4問目を考えてみた
初めてのプログラミングの練習問題7.5の4問目を解いてみる。
うるう年の条件は以下のとおり
(4の倍数であり、100の倍数ではない年)または(400の倍数の年)
これさえ押さえておけばなんとかなるだろう。
実行するとちゃんと動いた。
※追記部分の作成文は字下げがされていませんが、実際作成したものは、ちゃんと字下げされていますのでご了承ください。
オライリー・ジャパン
売り上げランキング: 161616




「初めてのプログラミング」練習問題7.5の3問目を考えてみた
初めてのプログラミングの練習問題7.5の3問目を解いてみよう。
「初めてのプログラミング」練習問題7.5の2問目を考えてみたに、さらに、BYEを3連続させないと終わらないという要素をプラス。
そこで、bye変数を作り、BYEが来た時に bye をプラス1させ、他の言葉がきたときに、bye を 0 にさせ、bye が3以上になったところで、ループから出るという方針にした。
ただ、フラグ変数を使う手法は、あまり良くない気もするんだよなあ。
とりあえず、実行して色々試したけれど、ちゃんと動いていた。
※追記部分の作成文は字下げがされていませんが、実際作成したものは、ちゃんと字下げされていますのでご了承ください。
オライリー・ジャパン
売り上げランキング: 161616




「初めてのプログラミング」練習問題7.5の2問目を考えてみた
初めてのプログラミングの練習問題7.5の2問目を解くことを考えてみた。
インプットした言葉が、BYEかどうかを調べたり、ループ構造にしたり、大文字かどうかチェックするために使う.upcaseを使ったり、というぐらいしか思いつかなかった。
実行するとうまくいった。
ちなみに追記部分の作成文は字下げがされていませんが、実際作成したものは、ちゃんと字下げされていますのでご了承ください。
オライリー・ジャパン
売り上げランキング: 161616




「初めてのプログラミング」練習問題7.5の1問目を考えてみた
初めてのプログラミングの練習問題7.5の1問目を解くために考えてみた。
マザーグースの歌を表示させろという問題なんだけれど、面倒な点があった。
1行目:99 Bottles ~
2行目:99 Bottles ~
3行目:Take ~
4行目:98 Bottles ~
という4行のかたまりが、ボトルがゼロになるまでループさせるものなのだけれど、この段階では、まだメソッド定義などをならっていない状況、そして配列・イテレータを習っていないというハンデがある。
さらに、ボトル数が1と0のときには、それぞれ、1 Bottle、No Bottles としなければいけないという面倒がかさなる。
その上、1行目がNo Bottles の際は、3行目は There ~ という別の文章で、4行目も、No Bottles としなければならないということになっている。
そこで、やり方としては綺麗じゃないかも知れないが、
1行目:99 Bottles ~
2行目:99 Bottles ~
を最初に出しておいて、
{
3行目:Take ~
4行目:98 Bottles ~
改行
1行目:98 Bottles ~
2行目:98 Bottles ~
}
以下、数字を1ずつ減らしてループ、1、0のときは、部分的に例外処理。
3行目:Take ~
4行目:No Bottles ~
という手を使って表示させてみることにした。
一応、実行するとうまくいったけれど、プログラムとしてはいいのかどうか?よくわからない。
オライリー・ジャパン
売り上げランキング: 161616




「初めてのプログラミング」練習問題6.2の2問目を解く
初めてのプログラミングの練習問題6.2の2問目を解いてみた。
.center() .ljust() .rjust() を用いるための問題。ただし配列などはまだ習っていないので、かなり冗長な文になっていると思う。
なお、今回は、全体の長さを50文字、左は10文字、中央は35文字、右は5文字に収まるようにした。とりあえず、キレイに成型されたのでこれでいいのだろう。
オライリー・ジャパン
売り上げランキング: 161616




「初めてのプログラミング」練習問題6.2の1問目を解いてみる
初めてのプログラミングの練習問題6.2の1問目を解いてみることにした。
この問題は、puts の入れ子の中における " の出し方を覚えてねという意味合いがあるのだろう。
とりあえず、実行してうまくいったのでこれでいいのだろう。
オライリー・ジャパン
売り上げランキング: 161616




「初めてのプログラミング」練習問題5.4の2問目を考える
初めてのプログラミングの練習問題5.4の2問目を考えてみることにした。
多分、数字と数、つまり .to_s と .to_i について、考える問題なのだろうと解釈。
実行した時に数を入れたら、すんなりいったのでこれでいいのだろう。
オライリー・ジャパン
売り上げランキング: 161616



