こちら、列車の走行位置のプログラムを作っています。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
えっぴ~

こちら、列車の走行位置のプログラムを作っています。

#1

投稿記事 by えっぴ~ » 1年前

こちら、列車の走行位置のプログラムを作っています。
そこで気になるのが、日付ごとに、ダイヤを変更することは不可能かということです。
例えば、2022年の例ですと、1月1~3日は、Aダイヤで運行し、1月10日は、Bダイヤ、一般の日はCダイヤというように、
3パターンのダイヤパターンを作りたいのですが、
現状のflagで、やろうとしたところ、これが要するにonとoffの切り替えしかできず、
すなわち、AかBかというのしか作れないのです。
つまり、flagに代わる新たなパターンを作りたいのです。
自分は触り程度しかjavascriptが扱えません。
省略なしにご教授いただければ幸いです。
以下はおおもとのソースです。

コード:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0051)http://r113.web.fc2.com/p/viewer/oc-port/index.html -->
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta name="author" content="">
<meta name="description" content="">
<meta name="keywords" content="">
<title>大阪市営地下鉄 ニュートラム(南港ポートタウン線) (コスモスクエア?住之江公園) 列車在線ビューア</title>

<!--スタイルシート-->
<link rel="stylesheet" href="./大阪市営地下鉄 ニュートラム(南港ポートタウン線) (コスモスクエア?住之江公園) 列車在線ビューア_files/style.css" type="text/css">

<!--JavaScript-->
<script type="text/javascript" src="./大阪市営地下鉄 ニュートラム(南港ポートタウン線) (コスモスクエア?住之江公園) 列車在線ビューア_files/main.js.ダウンロード" charset="UTF-8"></script>
<script type="text/javascript" src="./大阪市営地下鉄 ニュートラム(南港ポートタウン線) (コスモスクエア?住之江公園) 列車在線ビューア_files/diaTypeJudge.js.ダウンロード" charset="UTF-8"></script>

<script type="text/javascript" src="./大阪市営地下鉄 ニュートラム(南港ポートタウン線) (コスモスクエア?住之江公園) 列車在線ビューア_files/dia-20130323.js.ダウンロード" charset="UTF-8"></script>
<script type="text/javascript" src="./大阪市営地下鉄 ニュートラム(南港ポートタウン線) (コスモスクエア?住之江公園) 列車在線ビューア_files/meta.js.ダウンロード" charset="UTF-8"></script>
<script type="text/javascript" src="./大阪市営地下鉄 ニュートラム(南港ポートタウン線) (コスモスクエア?住之江公園) 列車在線ビューア_files/track.js.ダウンロード" charset="UTF-8"></script>


<script type="text/javascript">
</script>

<style type="text/css">
</style>

</head>

<body onresize="setDisplayArea()">

<a href="http://r113.web.fc2.com/index.htm">TOP</a> &gt; <a href="http://r113.web.fc2.com/p/viewer/index.html">列車在線ビューア</a> &gt; 大阪市営地下鉄 ニュートラム(南港ポートタウン線) (コスモスクエア?住之江公園) 2013年3月23日改正


<!--JavaScript読み込み-->
<script type="text/javascript">
writeBasicHTMLSet();
main();
</script><form name="form1"><div style="position:relative;">  <div id="drawAreaDiv" style="width: 1890px; height: 470px; background-color: rgb(174, 200, 252); overflow: scroll hidden; border: 1px solid rgb(0, 0, 0); position: relative; z-index: 1;">    <div id="routeMapDiv" style="position:relative;"><div id="stationFlameDiv9" style="position: absolute; background-color: rgb(255, 255, 255); text-align: center; vertical-align: middle; opacity: 0.4; zoom: 1; top: 55px; left: 515px; width: 18px; height: 320px;"></div>
<div id="stationFlameDiv8" style="position: absolute; background-color: rgb(255, 255, 255); text-align: center; vertical-align: middle; opacity: 0.4; zoom: 1; top: 55px; left: 443px; width: 18px; height: 320px;"></div>
以下は、ダイヤの種類設定に関するソースです。

コード:

//平日ダイヤか土・休日ダイヤかを判定する
function dayJudge(year, month, date, day)
{
	//alert(year +" "+ month +" "+ date +" "+ day)
	//フラグ
	var weekdayFlag = true;
	
	//月?金なら立てる
	if(day >= 1 && day <= 5)
		weekdayFlag = day >= 1 && day <= 5;
  else if(day==6)
        weekdayFlag2 = day == 6
	else
		weekdayFlag = false;
	
	//祝日ならたおす
	if(year == 2013 && month == 1 && date == 1)
		weekdayFlag = false;
この間省略
	else if(year == 2015 && month == 3 && date == 21)
		weekdayFlag = false;
	
	return weekdayFlag;
}
後ちなみに、

コード:

function dayJudge(year, month, date, day)
{
	//alert(year +" "+ month +" "+ date +" "+ day)
は、
運行パターンにかかわると思われますが、
flag形式をやめた場合、
これは、存置のままでも可能ですか。
それとも書き換える必要がありますか。

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: こちら、列車の走行位置のプログラムを作っています。

#2

投稿記事 by みけCAT » 1年前

dayJudge は種類の情報を返すだけで、その種類に基づいた動作をするのは他の部分のようなので、
・dayJudge が真偽値ではなく(例えば)整数を返すようにする
・dayJudge が返した種類に基づいた動作をする部分を新しい種類に対応させる
とするといいと思います。

コード:

function dayJudge(year, month, date, day)
{
	//alert(year +" "+ month +" "+ date +" "+ day)
の部分はそのまま使えそうだと思います。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

返信

“C言語何でも質問掲示板” へ戻る