画面を出して、文字を表示するようにしたいのですが、startを実行しても、文字が表示されません。
ほかの画面では表示することができているのになぜできないのでしょうか。
エラー文も出ていないので、今の自分の知識では、どうしたらいいのかわかりません。
どなたかわかる方教えていただけないでしょうか。
ruby
1#!ruby -Ks 2require "sdl" 3require "./color.rb" 4 5 6def yomikomi() 7 i = 0 8 j = 0 9 $moji =[] 10 f = open("./dat/mondai1.dat","r") 11 while text = f.gets do 12 $moji[i] = text.chomp 13 i += 1 14 end 15 f.close 16 $mondaisu = i/8 17 while j <= i/8 18 eval("$q#{j} = [ $moji[j*8+0],$moji[j*8+1],$moji[j*8+2], $moji[j*8+3],$moji[j*8+4],$moji[j*8+5],$moji[j*8+6],$moji[j*8+7 ] ]") 19 j += 1 20 end 21end 22 23def mondai 24 $q = [] 25 eval("$q = $q#{rand($mondaisu)}.clone") 26 $mondai = $q[0] 27 $sentakusi1 = $q[1] 28 $sentakusi2 = $q[2] 29 $sentakusi3 = $q[3] 30 $sentakusi4 = $q[4] 31 $sentakusi5 = $q[5] 32 $kotae = $q[6] 33 $score = $q[7] 34end 35 36 37class Gmen 38 WINDOW_YOKO = 750 39 WINDOW_TATE = 550 40 BITPIKUSERU = 0 41 42 43 def initialize 44 SDL.init(SDL::INIT_EVERYTHING) 45 @screen2 = SDL.set_video_mode(WINDOW_YOKO,WINDOW_TATE,BITPIKUSERU,SDL::SWSURFACE) 46 SDL::TTF.init 47 @font = SDL::Kanji.open("font/jiskan24.bdf",24) 48 @font.set_coding_system(SDL::Kanji::SJIS) 49 end 50 51 def drawBack 52 @screen2.fill_rect(0,0,WINDOW_YOKO,WINDOW_TATE,Color::WHITE) 53 end 54 55 def refresh 56 @screen2.update_rect(0,0,0,0) 57 end 58 59 def start 60 @font.put(@screen2,"今から問題が出てきます。問題によって、スコアが異なります。",50,30,0,0,0) 61 @font.put(@screen2,"正解だと思う選択肢の番号のキーボードを押してください。",50,70,0,0,0) 62 @font.put(@screen2,"始めるにはスペースキーを押してください。",50,120,0,0,0) 63 while true do 64 while event = SDL::Event2.poll # (1) 65 case event # (2) 66 when SDL::Event2::Quit 67 exit 68 when SDL::Event2::KeyDown 69 if event.sym == SDL::Key::SPACE then # (4) 70 puts "ok" 71 end 72 end 73 end 74 end 75 end 76 end 77 78 def mondaihyouji 79 @font.put(@screen2,"#{$mondai}",200,300,0,0,0) 80 @font.put(@screen2,"#{$sentaku1}", 450,300,0,0,0) 81 @font.put(@screen2,"#{$sentaku2}", 480,300,0,0,0) 82 @font.put(@screen2,"#{$sentaku3}", 510,300,0,0,0) 83 @font.put(@screen2,"#{$sentaku4}", 540,300,0,0,0) 84 @font.put(@screen2,"#{$sentaku5}", 570,300,0,0,0) 85 end 86 87 88 89 90 91def hajime 92 g = Gmen.new 93 g.drawBack 94 g.refresh 95 g.start 96 g.kaisi 97end
hajimeは別のファイルで実行しています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/11 08:09
2016/07/11 08:25
2016/07/11 09:15
2016/07/11 10:39 編集
2016/07/12 07:25