# -*- encoding: utf-8 -*-
# コメント行を無視して1行ずつ時間割データを読み込む
# この段階では1次元配列
linearray = []
open("class.txt") do |file|
	i = 0
	while line = file.gets
		if /^\/\// !~ line
			linearray[i] = line
			i += 1
		end
	end
end


# 2次元配列にして各コマの情報を分ける
# 科目分類から色を選ぶ
# まだ順番は変えてないけど、各コマのフォーマットを書いてしまう。
tablearray = []
(0..29).each do |cell|
	# わける
	linearray[cell] = linearray[cell].split("\t")
	
	if linearray[cell][3] == "共通\n"
		color = "66e" # 水色
	elsif linearray[cell][3] == "専門基礎(必修)\n"
		color = "000" # 黒
	elsif linearray[cell][3] == "専門基礎(選択)\n"
		color = "d33" # 赤
	elsif linearray[cell][3] == "専門(必修)\n"
		color = "f77" # ピンク
	elsif linearray[cell][3] == "専門(選択)\n"
		color = "11a" # 濃い青
	elsif linearray[cell][3] == "自由\n"
		color = "f93" # オレンジ
	elsif linearray[cell][3] == "課外活動\n"
		color = "6a6" # きみどり
	elsif linearray[cell][3] == "その他\n"
		color = "888" # グレー
	else
		color = "色選択エラー"
	end

	if linearray[cell][0] != "\n"
		tablearray[cell] = "&color(#" + "#{color}" + "){" + "#{linearray[cell][0]}" + "&br;" + "#{linearray[cell][1]}" + "&br;" + "#{linearray[cell][2]}" + "};"
	else
		tablearray[cell] = ""
	end
end



# Wikiの表を書く順番に合わせて配列の順番を入れ替えるだけ
finalarray = []
(0..5).each do |hour|
	(0..4).each do |day|
		finalarray[hour * 5 + day] = tablearray[hour + day * 6]
	end
end



# 実際に表を出力する
puts "| | 月 | 火 | 水 | 木 | 金 |h"
(0..5).each do |hour|
	printf "|~" + "#{hour + 1}" + "|"
	(0..4).each do |day|
		printf finalarray[hour * 5 + day]
		printf "|"
	end
	printf "\n"
end