class SuperHacker::Hacker

Public Class Methods

new() click to toggle source
# File lib/super_hacker.rb, line 10
def initialize
  #codegeneratorを作成
  @cg = CodeGenerator.new()
end

Public Instance Methods

scene_faild() click to toggle source

失敗

# File lib/super_hacker.rb, line 51
def scene_faild
  @cg.read_csv(__dir__ + "/../csv/faild.csv",0.001,0.001)
end
scene_input_ip() click to toggle source

IPアドレスを入力するまでのシーン

# File lib/super_hacker.rb, line 16
def scene_input_ip
      ip = "192.168.#{rand(1..99)}.#{rand(1..99)}"
      @cg.type_word_code("You are get ip address #{ip}")
      @cg.type_word_code("Plz input ip address")
      print "[IP]> "
      user_input_ip = gets.chomp()
      #比較結果を返す
      user_input_ip == ip
end
scene_login() click to toggle source

loginするまでのシーン

# File lib/super_hacker.rb, line 27
def scene_login
  #ダウンロード成功、色々流れてくる。
  @cg.type_word_code("[CONNECTION SUCCESS]",0.02,0.01)
  @cg.type_word_code("Downloading..",0.02,0.01)
  @cg.print_progres()
  @cg.read_csv(__dir__ + "/../csv/download.csv",0.00001,0.00001)

  #パスワードを入力させる
  create_password = SecureRandom.base64(4)
  @cg.type_word_code("You are get password: #{create_password}")
  @cg.type_word_code("Plz input password")
  print "[Password]> "
  password = gets.chomp()

  #比較結果を返す
  create_password == password
end
scene_success() click to toggle source

成功

# File lib/super_hacker.rb, line 46
def scene_success
  @cg.read_csv(__dir__ + "/../csv/success.csv",0.001,0.001)
end
step() click to toggle source

実装部分

# File lib/super_hacker.rb, line 56
def step
  #初期化csvファイルの読み込み
  @cg.read_csv(__dir__ + "/../csv/init.csv",0.001,0.001)

  loop do
    #メニュー表示
    @cg.read_csv(__dir__ + "/../csv/menu.csv")

    print("(HACK_MENU)> ")
    input = gets.chomp

    if input == "hax"
      #haxコードの表示
      @cg.read_csv(__dir__ + '/../csv/hax.csv',0.002,0.0001)
      @cg.read_csv(__dir__ + '/../csv/log.csv',0.002,0.0001)

      #IPアドレスを入力させる
      if scene_input_ip == false
        @cg.type_word_code("You are input mistakes..")
        scene_faild
        next
      end

      #loginするまでのシーン
      if scene_login == false
        @cg.type_word_code("You are input mistakes..")
        scene_faild
        next
      end

      #クリア
      @cg.type_word_code("Infiltration succeeded")

      #成功
      scene_success

    elsif input == "exit" || input == "quit"
      #終了
      @cg.type_word_code("bye..")
      break
    else
      #入力ミス
      @cg.type_word_code("!!INPUT ERROR!!")
    end
  end
end