学籍番号:C106XXXX 氏名:XXXXXXXX 系列:XXXX系 語学クラス:XXXX語XX 1.解答に至る過程もつけて答えよ。 A. 0x11 + 0x22 = 0x?? まず、16進数を10進数に変換する。 16**1 * 1 + 16**0 * 1 = 16 + 1 = 17 16**1 * 2 + 16**0 * 2 = 32 + 2 = 34 0d17 + 0d34 = 0d51 0b51と出た10進数を2進数に変換する。 2)51 … 1 ---- 2)25 … 1 ---- 2)12 … 0 ---- 2) 6 … 0 ---- 2) 3 … 1 ---- 1 0b51 = 0d110011 これを右から箱にいれて、16進数の表に当てはめて変換すると… 11 0011 ↓ ↓ 3 3 となる。 よって、0x11 + 0x22 の答えは… 0x11 + 0x22 = 0x33 A. 0x33 --------- B.0x11 + 0xee = 0x?? これもAと同様に10進数に変換する。 0x11 = 16**1 * 1 + 16**0 * 1 = 16 + 1 = 17 0xee = 14 * 16 + 14 = 238 0d17 + 0d238 = 0d255 出た答えを、16進数へ変換するために16で割る。 16) 255 … 15 ------- 15 出た余りを、16進数表を使い変換する。 15 = f よって、0x11 + 0xee の答えは… 0x11 + 0xee = 0xff A. 0xff --------- C.0xaa - 0x11 = 0x?? これも、A、Bと同様に10進数へ変換する。 0xaa = 16 * 10 + 10 = 170 0x11 = 16**1 * 1 + 16**0 * 1 = 16 + 1 = 17 となる。 0d170 - 0d17 = 0d153 出た答えを16進数へ変換するために16で割る。 16) 153 … 9 ----- 9 出た余りを16進数の表に当てはめて計算すると… 9 = 9 となる。よって 0xaa - 0x11 の答えは… 0xaa - 0x11 = 0x99 A. 0x99 -------- <参考> http://roy/~madoka/2007/r1/04/04-12-binary2.html −16進数のまとめ− 2.ホームページに最高傑作を公開する。 <エントリー部門> ゲームプログラム部門にエントリーします。 <企画書> 企画書 基礎プログラミングでは様々なプログラム方法を学んだ。 それらの技術を使い、今回はゲームを作成したい。 <開発前> プログラムは、冒険RPGを土台に作成する。 トレジャーハンターとその仲間のあなた。 とある村の古びた洋館へ宝探しにでかける。 洋館を進んで行くと3つのドアが目の前に現れる。 選択肢を用意し、右・真ん中・左のドアを選択させる。 選択した通り進んで行くと、2つはGAME OVER。 1つは宝箱のある部屋に行く。 宝箱を開けるか、開けないか選択させる。 開けると選択すると、レアアイテムが手に入る。 開けないで帰ると、GAME OVER。 大体こんな感じで作っていきたい。 本物のゲームも、もとをたどればこんな感じで作成されているような気がする。 全体的に出来るだけ本物のゲームのように制作できたら良いと思う。 <開発後> if文を使って分岐点を作った。 今後できればモンスター相手に戦闘をしたりさせてみたい。 まだまだ改良出来るところはたくさんある。 今後も、もっと様々なプログラムを応用してクオリティーの高いゲームにしたい。 <取り扱い説明書> ☆.。.:*・°☆.。.:*・Treasure Hunt 〜2人は名コンビ??〜☆.。.:*・°☆.。.:*・ 制作日:2007/6/15 制作者:MIHO HARADA Treasure Huntとは、選択式のRPGゲームです! トレジャーハンターの主人公になりきり、罠や間違い部屋をくぐり抜け、貴重なアイテムを探しにいきましょう★ *-*-*-*-*Download Files (ファイルのダウンロード)-*-*-*-*-* ダウンロードしていただきたいファイルは 00readme treasure.rb プログラムファイル plan.txt 企画書 の 3 つです。データファイルをダウンロードしないと、遊ぶことができません。 必ずダウンロードして下さいね(*^▽^*) 同じディレクトリに保存して下さい、そうしないと正しく起動しません( TдT ) ♪♪♪♪♪How to play (遊び方)♪♪♪♪♪ 遊び方はとっても簡単です★ kterm で % chmod +x treasure.rb でゲームの準備ができます。 開始するには % ./treasure.rb とします。 選択肢がいくつか出てくるので、指示にしたがって遊んで下さい!! ★〓★〓★〓★〓Copyright 2007(著作権)★〓★〓★〓★ このプログラムは 東北公益文科大学2006年度生 [ 原田 美穂 ] が著作権を保有しています。 このプログラムの入手・実行・改変・再配布は、いずれも無料で自由に行なうことができます。 ただしこのプログラムを取り扱うことで生じたいかなる結果に対しても著作権者は責任を負いません。 このプログラムに対する、感想・助言・要望など教えていただけると嬉しいです(*´▽`*) メッセージを下記のアドレスまでお送り下さい! c106164@f.koeki-u.ac.jp お待ちしてますm(_ _)m <プログラム本体> #!/usr/koeki/bin/ruby printf("あなたはトレジャーハンターと一緒に旅をする仲間です! とある村の古い洋館に宝探しにはいりました☆\n\n") sleep 1 print("ハンター:この古い洋館にとっても貴重なアイテムがあると言う噂を聞いて来てみたが…\n\n") sleep 2 print("あなた:すごく不気味…ホコリだらけで真っ暗だし…\n\n") sleep 2 print("ハンター:むっ!? 何だか怪しいドアがあるぞ!!\n\n") sleep 2 print("あなた:お宝のに・お・い(人 ̄▽ ̄*)アハ\n\n") sleep 2 print("ハンター:よし!どれか1つにはいってみよう…\n\n") sleep 2 print("3つのドアがあります。よく観察すると、どのドアも特長があるようです。どれをあけますか? \n\n") sleep 2 print(" 1: 左の手垢で薄汚れた金のドア \n\n") sleep 2 print(" 2 真ん中のちょこっと血のついた銀のドア \n\n") sleep 2 print(" 3 右の立派な装飾のされている銅のドア\n\n") input_value = gets.chomp.to_i # input_value から getsしてこい。 if input_value == 1 # もしも変数 = 1だったら scene = "left" # leftへ elsif input_value == 2 # 変数 = 2だったら scene = "center" # centerへ else input_value == 3 # 変数 = 3だったら scene = "right" # rightへ end # ifの終り if scene == "left" # もしもleftだったら printf( "ハンター:あっ!しまった!!!!\n\n") sleep 1 print( "あなた:うそでしょおぉぉぉぉぉぉぉ!!!!\n\n") sleep 1 print("ハンターとあなたは部屋にはいたっとたんに落し穴へ真っ逆さま…果して2人は無事に生還できるのか…??\n\n") sleep 1 print("つづく…のか?\n\n") sleep 2 print("いや…つづかないよ…\n\n") sleep 2 print("ハンター:むっ無念………パタリ…\n\n") sleep 2 print("あなた:なんじゃこりゃぁぁぁぁぁぁぁぁ!!!!!!!!!!!\n\n") sleep 2 print(`banner "GAME OVER!"`) exit # プログラム終了 elsif scene == "center" # もしもcenterだったら printf("血のついた真ん中のドアを開けると…\n\n") sleep 2 print( "部屋の隅に宝箱をみつけました!\n\n") sleep 2 print( "どうやらカギは掛かってないようです。\n\n") sleep 2 print("どうしますか?\n\n") sleep 2 print(" 1 なんだか怪しいぞ。モンスターかもしれないから開けないで帰ろう…\n\n") sleep 1 print(" 2 お・た・か・ら(人 ̄▽ ̄*) もちろん開けるに決ってるじゃん!! \n\n") input_valeu = gets.chomp.to_i if input_valeu == 1 # もしも変数が1だったら scene = "leave" # leaveへ else input_value == 2 # もしも変数が2だったら scene = "ending" # endingへ end # ifの終り else # 変数がそれ以外だったら printf("迷路が現れて、進んで行くとどこから来たかわからなくなりました。どうやら迷子になってしまったようです。\n\n") sleep 2 print("ハンター:困ったなぁ…果してどうしたものか…\n\n") sleep 2 print("あなた:仕方ないですねぇ…「携帯」で村の救助隊に連絡します\n\n") sleep 3 print("ハンター:どうしてそんな文明の機器がこの時代に…\n\n") sleep 2 print("3日後、連絡した村の救助隊が捜索してくれ2人は無事に生還をはたした。\n\n") sleep 2 print("少しの謎を残し…この冒険は終了するのであった…\n\n") sleep 2 print(`banner "GAME OVER!"`) exit end # ifの終り if scene == "leave" # もしもscene == "leave"だったら print("宝箱がモンスターかもしれないと思い、開けずに宿に帰りました。\n\n") sleep 2 print("村では意気地無しのハンターとその仲間として有名になりました…悲しいですね…\n\n") sleep 2 print("あなた:どうしてこうなるのよぉぉぉぉぉぉぉ!!こんなことなら開ければよかった!!\n\n") sleep 2 print("ハンター:わめくな!! 次があるさ!!ここには、恥しくていれないな…。さぁ、次の村へ探しに行くぞ!!\n\n") sleep 2 print("あなた:あんたが悪いんでしょーが!!責任取れぇぇぇぇ!!\n\n") sleep 2 print("こうして2人は仲間割れしながら、次の村へと旅立ちました…\n\n") sleep 2 print(`banner "GAME OVER!"`) exit # プログラム終了 else scene == "ending" # それ以外の scene == "ending"だったら print("パカッ…チャラララッタラ−!!\n\n") sleep 1 print("まばゆい光があふれだす…\n\n") sleep 1 print("レアアイテム「不死鳥の羽」を手に入れました!\n\n") sleep 2 print("あなた:やりましたね!!これこそトレジャーハンターの醍醐味!!\n\n") sleep 2 print("ハンター:うむ。これは本当に貴重なアイテムだ!さっそく俺の懐へ…\n\n") sleep 2 print("あなた:なにやってるんですかぁぁぁぁぁぁ!!これはもちろん街に行って高く売るに決ってるでしょ!!それでなくさえ、ギリギリで生活してるのに!!\n\n") sleep 2 print("こうして2人は手に入れた「不死鳥の羽」を奪い合いながら街へと帰って行きました\n\n") sleep 3 print("果してアイテムはどのくらいの値段で売れるのか…2人の関係はどんな関係なのか…謎は多いがこれにて冒険は終了☆\n\n") sleep 3 print("あなた: 返しなさいって!! ……ボカッ(殴る)!!\n\n") sleep 2 print("ハンター: イテッ!!\n\n") sleep 2 print( `banner "!finish!"`) sleep 2 print(" シナリオ MIHO HARADA\n\n") sleep 2 print("プログラム MIHO HARADA\n\n") sleep 2 print(`banner "!!END!!"`) end # ifの終り <広告ホームページのソース>
基礎プログラミング I 個人プログラム広告ページ
エントリー:ゲーム部門
☆.。.:*・°☆Treasure Hunt 〜2人は名コンビ??〜☆.。.:*・°☆
冒険RPG 「Treasure Hunt 〜2人は名コンビ??〜」はトレジャーハンターとあなたが一緒に宝探しをする選択式RPGです★
(*゜▽゜)b☆・゜:*☆ 企画書へGO ☆・゜:*☆d(゜▽゜*) ・‥…━━━★取り扱い説明書★━━━・‥… ♪♪♪♪♪プログラム本体♪♪♪♪♪
とある時代に2人のトレジャーハンターが…
2人の関係は不明…たぶん仲間?? そ れとも夫婦漫才コ ンビ??
ハンターとあなたが織りなす冒険RPG「Treasure Hunt 〜2人は名コンビ??〜」
2人の辿り着くEnding とは??
さぁ、宝探しの旅に出掛けよう!!
3.プログラムのいつものレポート部分 <プログラム> #!/usr/koeki/bin/ruby printf("あなたはトレジャーハンターと一緒に旅をする仲間です! とある村の古い洋館に宝探しにはいりました☆\n\n") sleep 1 print("ハンター:この古い洋館にとっても貴重なアイテムがあると言う噂を聞いて来てみたが…\n\n") sleep 2 print("あなた:すごく不気味…ホコリだらけで真っ暗だし…\n\n") sleep 2 print("ハンター:むっ!? 何だか怪しいドアがあるぞ!!\n\n") sleep 2 print("あなた:お宝のに・お・い(人 ̄▽ ̄*)アハ\n\n") sleep 2 print("ハンター:よし!どれか1つにはいってみよう…\n\n") sleep 2 print("3つのドアがあります。よく観察すると、どのドアも特長があるようです。どれをあけますか? \n\n") sleep 2 print(" 1: 左の手垢で薄汚れた金のドア \n\n") sleep 2 print(" 2 真ん中のちょこっと血のついた銀のドア \n\n") sleep 2 print(" 3 右の立派な装飾のされている銅のドア\n\n") input_value = gets.chomp.to_i # input_value から getsしてこい。 if input_value == 1 # もしも変数 = 1だったら scene = "left" # leftへ elsif input_value == 2 # 変数 = 2だったら scene = "center" # centerへ else input_value == 3 # 変数 = 3だったら scene = "right" # rightへ end # ifの終り if scene == "left" # もしもleftだったら printf( "ハンター:あっ!しまった!!!!\n\n") sleep 1 print( "あなた:うそでしょおぉぉぉぉぉぉぉ!!!!\n\n") sleep 1 print("ハンターとあなたは部屋にはいたっとたんに落し穴へ真っ逆さま…果して2人は無事に生還できるのか…??\n\n") sleep 1 print("つづく…のか?\n\n") sleep 2 print("いや…つづかないよ…\n\n") sleep 2 print("ハンター:むっ無念………パタリ…\n\n") sleep 2 print("あなた:なんじゃこりゃぁぁぁぁぁぁぁぁ!!!!!!!!!!!\n\n") sleep 2 print(`banner "GAME OVER!"`) exit # プログラム終了 elsif scene == "center" # もしもcenterだったら printf("血のついた真ん中のドアを開けると…\n\n") sleep 2 print( "部屋の隅に宝箱をみつけました!\n\n") sleep 2 print( "どうやらカギは掛かってないようです。\n\n") sleep 2 print("どうしますか?\n\n") sleep 2 print(" 1 なんだか怪しいぞ。モンスターかもしれないから開けないで帰ろう…\n\n") sleep 1 print(" 2 お・た・か・ら(人 ̄▽ ̄*) もちろん開けるに決ってるじゃん!! \n\n") input_valeu = gets.chomp.to_i if input_valeu == 1 # もしも変数が1だったら scene = "leave" # leaveへ else input_value == 2 # もしも変数が2だったら scene = "ending" # endingへ end # ifの終り else # 変数がそれ以外だったら printf("迷路が現れて、進んで行くとどこから来たかわからなくなりました。どうやら迷子になってしまったようです。\n\n") sleep 2 print("ハンター:困ったなぁ…果してどうしたものか…\n\n") sleep 2 print("あなた:仕方ないですねぇ…「携帯」で村の救助隊に連絡します\n\n") sleep 3 print("ハンター:どうしてそんな文明の機器がこの時代に…\n\n") sleep 2 print("3日後、連絡した村の救助隊が捜索してくれ2人は無事に生還をはたした。\n\n") sleep 2 print("少しの謎を残し…この冒険は終了するのであった…\n\n") sleep 2 print(`banner "GAME OVER!"`) exit end # ifの終り if scene == "leave" # もしもscene == "leave"だったら print("宝箱がモンスターかもしれないと思い、開けずに宿に帰りました。\n\n") sleep 2 print("村では意気地無しのハンターとその仲間として有名になりました…悲しいですね…\n\n") sleep 2 print("あなた:どうしてこうなるのよぉぉぉぉぉぉぉ!!こんなことなら開ければよかった!!\n\n") sleep 2 print("ハンター:わめくな!! 次があるさ!!ここには、恥しくていれないな…。さぁ、次の村へ探しに行くぞ!!\n\n") sleep 2 print("あなた:あんたが悪いんでしょーが!!責任取れぇぇぇぇ!!\n\n") sleep 2 print("こうして2人は仲間割れしながら、次の村へと旅立ちました…\n\n") sleep 2 print(`banner "GAME OVER!"`) exit # プログラム終了 else scene == "ending" # それ以外の scene == "ending"だったら print("パカッ…チャラララッタラ−!!\n\n") sleep 1 print("まばゆい光があふれだす…\n\n") sleep 1 print("レアアイテム「不死鳥の羽」を手に入れました!\n\n") sleep 2 print("あなた:やりましたね!!これこそトレジャーハンターの醍醐味!!\n\n") sleep 2 print("ハンター:うむ。これは本当に貴重なアイテムだ!さっそく俺の懐へ…\n\n") sleep 2 print("あなた:なにやってるんですかぁぁぁぁぁぁ!!これはもちろん街に行って高く売るに決ってるでしょ!!それでなくさえ、ギリギリで生活してるのに!!\n\n") sleep 2 print("こうして2人は手に入れた「不死鳥の羽」を奪い合いながら街へと帰って行きました\n\n") sleep 3 print("果してアイテムはどのくらいの値段で売れるのか…2人の関係はどんな関係なのか…謎は多いがこれにて冒険は終了☆\n\n") sleep 3 print("あなた: 返しなさいって!! ……ボカッ(殴る)!!\n\n") sleep 2 print("ハンター: イテッ!!\n\n") sleep 2 print( `banner "!finish!"`) sleep 2 print(" シナリオ MIHO HARADA\n\n") sleep 2 print("プログラム MIHO HARADA\n\n") sleep 2 print(`banner "!!END!!"`) end # ifの終り <結果表示> 1: 左の手垢で薄汚れた金のドアをあけると落し穴に落ちて… ハンター:あっ!しまった!!!! あなた:うそでしょおぉぉぉぉぉぉぉ!!!! ハンターとあなたは部屋にはいたっとたんに落し穴へ真っ逆さま…果して2人は無事に生還できるのか…?? つづく…のか?? いや…つづかないよ… ハンター:むっ無念………パタリ… あなた:なんじゃこりゃぁぁぁぁぁぁぁぁ!!!!!!!!!!! GAME OVER! と表示される。 2 真ん中のちょこっと血のついた銀のドアをあけると宝箱を見つける。 宝箱を開けると… パカッ…チャラララッタラ−!! まばゆい光があふれだす… レアアイテム「不死鳥の羽」を手に入れました! あなた:やりましたね!!これこそトレジャーハンターの醍醐味!! ハンター:うむ。これは本当に貴重なアイテムだ!さっそく俺の懐へ… あなた:なにやってるんですかぁぁぁぁぁぁ!!これはもちろん街に行って高く売るに決ってるでしょ!!それでなくさえ、ギリギリで生活してるのに!! こうして2人は手に入れた「不死鳥の羽」を奪い合いながら街へと帰って行きました 果してアイテムはどのくらいの値段で売れるのか…2人の関係はどんな関係なのか…謎は多いがこれにて冒険は終了☆ あなた: 返しなさいって!! ……ボカッ(殴る)!! ハンター: イテッ!? !finish! シナリオ MIHO HARADA プログラム MIHO HARADA !!END!! となる。 開けないと… 宝箱がモンスターかもしれないと思い、開けずに宿に帰りました。 村では意気地無しのハンターとその仲間として有名になりました…悲 しいですね… あなた:どうしてこうなるのよぉぉぉぉぉぉぉ!!こんなことなら開ければよかった!! ハンター:わめくな!! 次があるさ!!ここには、恥しくていれないな…。さぁ、次の村へ探しに行くぞ!! あなた:あんたが悪いんでしょーが!!責任取れぇぇぇぇ!! こうして2人は仲間割れしながら、次の村へと旅立ちました… GAME OVER! となる。 3 右の立派な装飾のされている銅のドアを選択すると… 迷路が現れて、進んで行くとどこから来たかわからなくなりました。どうやら迷子になってしまったようです。 ハンター:困ったなぁ…果してどうしたものか… あなた:仕方ないですねぇ…「携帯」で村の救助隊に連絡します ハンター:どうしてそんな文明の機器がこの時代に… 3日後、連絡した村の救助隊が捜索してくれ2人は無事に生還をはた した。 少しの謎を残し…この冒険は終了するのであった… GAME OVER! となる。 <考察> 今回は、if文を使い分岐点を制作した。 内容にも少しこだわり、笑いを採り入れた。 何度も失敗したが、正常に動いたときの喜びは大きかった。 因に、失敗していたのはifのendが足りないためだった…初歩的ミス。 4.感想 今回は、思いのほか時間がかかってしまった。プログラムの内容を考え、紙に その内容を書き出し、プログラムを作る。簡単に考えていたが、とても大変 だった。しかし、自分の考えたプログラムが動きだすととても誇らしい気持 ちになった。 自分でいちから考えたプログラム。Rubyを習うまでプログラムを作ることも 出来なかった自分がここまで出来るようになるとは思わなかった。 これからグループ制作にとりかかるが、今回のこのレポートを参考と出来る ようなプログラムを制作したい。