忍者ブログ
[2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]

 Geocities.jpには、なんと250万ものページがあるそうです。
今回、2005/01/20〆切でHPコンテストが開かれることから、
一応参加してみた。

 まあ、でも参加といっても、賞をなどをGETしたいという大それた為ではなく、
雰囲気を味わうということで、それにブログネタにもなるしで。。。
ということで、余り目立たなくして参加することに。^^)

 一応、参加してみないと、どういう事をやっているのかが
わからないのでね。

HPは、Geocitiesの先頭ぺージを登録。
紹介文は、
  「横浜ベイスターズを応援してます。ファンの方、見てね。」

3/3:結果は、得票は3票。まあ、宣伝なしだし、よく3票も。
  で、この3票はどうもアクセス解析からして、HPバトルという
 2つのHPを比較し、どちらかに投票するというとこからの投票みたい。
 結局、約3500ページぐらいの参加があり、
 これを4リーグ(プラチナ、ゴールド、シルバー、ブロンズ)に分け、
 それそれ均等に約880ページを位置させて、競わせ、
 結果、プラチナリーグ内の上位50ページを算出するというものでした。

 結局、自分のHPは、初めはブロンズリーグで、得票が3票入った
 時は、ゴールドリーグで、最終的にシルバーリーグでした。

 ということで趣味部門では、
 プラチナリーグ以外は、多分投票数は、0〜4票ぐらいか?
 プラチナリーグは、かなり投票数に差があり、6000票も取ったHPも
 あったようです。

拍手[0回]

PR

 借りる目的は、直リンクしたいのだけど、
どうせHP作るなら、自分の為にもなるものでないとね。
さらに、直リンクのみは問題なので、新規HPでも直リンク
したものを使用するという前提で。

 ということで、まあ、今まで作成してきたJavaScriptを
後世に残す意味で、その解説・紹介的なもの、その他に、
どうせなら、皆さんへの提供を行うようなHPにしたい。

 HPタイトルは、「JavaScript Tool」とか「JavaScriptツール」は、
同じようなタイトルありますね。
ということで、もっとHP内容を明確に表現するということで

「7maru JavaScript ツール」は。。。

なんか、そのままじゃない。。。。どうも芸がない気が。。^^);;
ただし、先頭が数字だとディレクトリで並べた時に始めの方に
出てくるので有利でも有るけどね。

 で、内容なんだけど。。
先頭ページは、いろいろなツールを各ジャンル毎にまとめるような
構成になると思うので、BayStars Skierの先頭と同じ感じで。
いや芸がないので、もっとカッコええページにしたい。
じゃ、無料素材とかで飾るかで、探したけどピンときたものがない。

で、やはりページ全体を統一したいので、
いっそのことブログと同じにしよう。
カラオケのがいいので、これを1ページ物に変えて行こう。

ということで、まずは目次を、

【Freeツール】
  ●ブログツール
     ●スライド表示
     ●階層(折り畳み)メニュー
     ●カテゴリ毎のスタイルシート自動切替
     ●ソフト(ポップアップ)メニュー
  ○ホームページツール
     ○スライド表示
     ○ソフト(ポップアップ)メニュー
     ○勝敗表グラフ
     ○碁盤
     ○ゲーム(クリックもぐら等)
  ●ホームページ作成支援ツール
     ●ファイル参照時、ローカル・サーバ両方使用可能にする。
     ●表示参照文字変換
     ○打撃表作成
  ●クイズツール
     ●クイズ
     ●xxx度チェック
  ○OTD掲示板ツール
     ○midi切替
     ○イラスト浮遊
     ○荒し対策
     ○順位予想掲示板
     ○リアルタイムクイズ掲示板
【作成アプリ】
  ●ゲーム一覧
     ●クリックもぐら
     ●クリックもぐら画像版
     ●1000本ノック
     ●ペナント競争
     ●スキー回転競技
  ○その他
     ・クイズ:タイムショット
     ・カラオケ応援歌
【おまけ】
  ●デバッグ方法
     ●レイアウトが崩れる原因
     ●管理人のJavaScriptデバッグ方法。
  ●世の中の情勢
     ●Mozilla が何とdoument.allをサポートした!!
     ●最近、ブログは置いといて、SNSにハマってます!!
【サイト情報】
  ●当サイトについて
     ●利用規約
     ●リンクについて
     ●更新履歴
  ●FAQ
    ●DOCTYPE指定での注意
     以下を参考にしてみてください。
        ●正確に記述しないとしっぺ返しを食らう。
        ●DOCTYPE宣言でデザインが崩れる?(枠線はどっち側)!!
    ●CSSのバグですか?
     ・http://cssbug.at.infoseek.co.jp/index.html:CSSバグリスト@CSSバグ辞典スレッド
     ここは、2ちゃんねる掲示板内のCSS/DHTMLのバグを扱うスレッドをまとめたサイトです。
     これ非常に助かりますね。
    ●CSS変更したらおかしくなった。
     まず次の入力ミスをチェックしましょう。管理人もミスります。^^);;
        ・「:」を書き忘れた。     →left 20px;
        ・色の指定で「#」を書き忘れた。→”00ff00”
  ●お助け掲示板
  ○カスタマイズ掲示板
  ●ゲストブック
  ●管理人について
     ・サイト運営ポリシー
     ・他運営サイト
     ・お世話になっているリンク集


 内部PCのディレクトリ構成は、js7からぶら下げる。

 まずは、公開などせずに、作っていくことを優先。
ある程度できたら、公開等する。

したがって、まずは直リンク可能にするのが先決。
そこでブログツールから作る。

●BLOCKBLOGツールは、BLOCKBLOGページ構成は同じで、内容簡略化して作る。
 ●各カテゴリ毎(HP,カラオケ、ボーリング、てんてん丸、MY、
  このブログ、BLOCKBLOG)に1個のみのindex.htmlを作る。
 ●バックナンバー等のリンクには、この7個のindex.htmlを割当てる。
 ●CSSファイルは、BLOCKBLOGと同じものとする。
 ●各カテゴリのhtml内容は、作成容易性のため先頭のカテゴリ名以外はすべて同じにする。
 ●html内でツール説明には不要なもの(RSS関連、BLOCKBLOG関連等)は全部削除。
 ○てんてん丸のタイトル画像を変更しよう。→後でやろう。
●JSの改良点。
  ●ユーザ定義テーブルの一部が未定義の場合でもエラーにさせず無視する。
  ●他のJavaScriptと同じにならないように、外部変数・関数の先頭にjs7を付ける。
  ●ソフトメニュー:
   ●現在moreがバックナンバーにだけ固定で設定できるけど。
    その他のカテゴリも沢山表示してる人いるので、
    他のカテゴリも対応し、さらに最新のトラバなどは3行で1組なので
    対象カテゴリ毎にmore表示個数を指定させる。
   ●なお、現在はmoreを含んだ個数なので、これでは3行1組とは
    いかないので、指定する値は、moreを除いた個数とする。

   ●さらに階層メニューで[+][-]をカテゴリ名の先頭に指定させたので
    これがあれば、削除する。
    ●このために従来のmenu幅が120pxだとIE/operaでは右側にはみ出し、
     縦に隙間が開いてしまう。
     ということで、挿入は、いろいろ問題発生するので、
     absolute指定のみに変えよう。
    ●CSS含めたサンプル作る。
      →画像が指定してあるエリアのpadding-topをメニュー幅増やす。

   ●現在、ソフトメニューの書式は、プログラムで設定しているが、
    これだとカスタマイズが大変なので、
    CSSファイル内でカスタマイズ出来るように変える。

   ●その為メニューのdt/dd領域の書式をCSSファイル内に
    記述してもらうようにする。
      ●マウス乗り色をCSSファイルから取得する
          → 仮のDIV領域を生成して取得。
      ●現在はソフトメニュー色がシルバーであるが、
       他の色でないとデザイン的にまずいのも当然あるので
       色変更の解説必要かも。
        →CSSで指定するので詳細説明は不要でサンプル記載。
      ●ただし、ピンク系、薄茶色系を作り実際に使う。

   ●現在はbox領域を下にずらし、その間にソフトメニューを配置てるけど、
    これだと、上下に繋がった背景画像の間に隙間が開いてしまうので
    デザイン的にまずいのもあるため、どうなるか調べとこ。
      ●contentをabsolute指定しているCSSだと、
       IE,Mozzila,operaともに、
       box領域をabsolute設定した時点で、
       contentの配置がおかしくなり、
       なおかつそれぞれ異なる表示形態に。
        IE:box領域内でtop位置が下に150pxぐらいずれてる?
        Mozz:box領域の下に配置される。
        oper:box領域内でtop位置が150pxぐらいずれる?
           さらにbox領域の横サイズが小さくなる。
   ●ということで、box領域を下にずらすのは、
    デザイン次第で問題が発生するので、box領域はずらさず、
    ソフトメニューの幅は、CSSでユーザに指定させる方法も作る。
      →やっぱ、ずらす方式は、かなり問題発生し混乱しそうだし、
       CSSで空きを作る方法だと、デザインには影響がないし、
       さらにどこでも配置可能で、ユーザの自由度も増すので、
       この際、こちらの方式に変えてしまおう。
    配置位置は、例えばbox領域の左上とか、content領域の左上とかを
    指定可能にするために、ブロック領域のid名で指定させる。
    このブロック領域の左上位置を取得して、
    topとlefに設定させることで、位置指定に柔軟性を持たせる。
    さらに微調整の為にtop,leftに調整値をプラスしてあげる。

   ●現在は、ソフトメニューを横に配置する方式のみだが、
    ユーザが位置を自由に指定でき、書式も自由に設定できるので、
    横配置の他に、縦配置を作ってしまおう。
    ●考え方は、dtとかddを取り出してdivに流し込む方式を
     まず考えたが、これだと現在のプログラムを大きく変えなければ
     ならず、ちょっとややこしいので、
     dl領域をもうひとつコピーし、片方は、dtのみ使い、
     もう片方はddのみ使うようにして、それぞれで位置を変えれば
     いいのではという考えで作る。
    ●注意点は、dt領域を見えなくすると、dt領域がなくなるので、
     dd領域が先頭に移動する点。
    ●カーソルがメニューに乗ると、色を変えているが、
     元のデザインがCSSで変えられるので、この色を固定に
     するのは問題なので、やはりCSSファイルで指定させるように
     しないといけないが、では、どうやってその値を取得するか。
     これは、DOM2(Views)DOM2(style)に書いてあるので、
     すなわち、CSSで指定された値が、実際にレンダリングされた
     ときに、その値が取得できる以下のプロパティがあるようだ。
     ・外部cssファイル中の書式が反映された後の読み込み:
      Mozilla/opera:
        document.defaultView.getComputedStyle(obj,null).
              getPropertyValue('background-color')で可能
      IEは未対応なので、IE独自の以下で対応:
        obj.currentStyle.backgroundColorで可能
      Safariだと、document.defaultViewはOKだが、
      .getComputedStyle以降が付くとエラーになる。バグ?
      ということでいろいろ調べたら、ここのサイトに各ブラウザの
      DOM2(CSS)対応調査一覧が載ってたので、
        document.getElementById(id).style.
          getPropertyValue('background-color')はエラーにならない
      でSafariは、上記はnullを返す。Mozilla/opreaはnull以外を返すので、
      これで切り分け、Safariは、nullを返すようにした。
     ということで、仮のid名をCSSファイル内で指定させ、
     それを仮のdiv領域を作成して、その反映値を取得し、
     仮のdiv領域は隠しておく。
    ●ここで、ソフトメニューのタイプをユーザに指定してもらうが、
     この指定がCSSファイル内で出来ればベスト。
     で、どうすればよいか考えてみた。
     考え方としては、CSSファイル内に仮のid要素名を
     横配置用か、もしくは縦配置用のどちらかを指定しておいて、
     このid要素名を取得できれば、JSファイル内に記載しなくても
     指定できる。
     で、これは、DOM2(style)に書いてあるので
     すなわち、CSSファイル内で指定する
     セレクタ(書式要素の識別値:#id名、.クラス名、タグ名とか)を
     以下で取得可能である。
     ・外部cssファイル中のセレクタ名読込
      Mozilla:
        document.styleSheets[0].cssRules[i].selectorText;
      IE 5.x以上:
        document.styleSheets[0].rules[i].selectorText;
      opera7.23:
        document.styleSheetsはOpera7.23では、undefinedです。
     というこで、Operaが未対応ということで、この方式は見送った。
     いや、タイプだけ指定しても位置を指定しないと意味無いので、
     この方式は結局ボツ。
     変りに、CSS自動切換えのjsファイル内で
     ソフトメニュータイプと位置を指定させる。
    ●Windowsが出来たので、safariで見てみたら、おかしい。^^);;
     ●マウスを乗せた色が、マウスが離れても消えない。
      obj.style.backgroundがnullを返すため。
      →対策:nullならマウス背景描画は行わないこととした。
      →対策:CSS側でa:hoverで背景色を指定してもらうこととした。
     ●moreが動かない。
      (more)文字部分では反応しない。それより右はOK。
      →対策:対策分からない為、背景色は変化させないこととした。
     ●てんてん丸、カラオケ、MY日記の書式が反映されない。
      →URLの問題と同じ
     ●階層メニューのクリック範囲が文字部分だけ対象外。
      →対策:対策分からず。
     ●スライダー表示の画像が表示されない。
      URLがトンでもないところになっている/../../../../../
      MACだと、ディレクトリ名が英小文字は英大文字になる。
      →大文字変換したものとも比較してあげる。
    ●ここで右メニューってのがあるみたい。
     ということは、右メニューに縦型を配置すると、
     プルダウンは、右側でなく左側に表示させないといけない。
     これは、画面の残りの横幅を見て自動的に変える方法もあるが、
     それだと、項目横幅が小さいのや大きいのがあると、
     これは右、これは左と分けが分からなくなるので、
     やはり、ユーザにどっちなのと指定させよう。
     ●で、右メニューを作るには、
      単純にCSSのfloat要素でmenu領域とcontent領域を
      左右逆に指定すればいいし、
      ソフトメニュー位置は、menu領域の左上を指定した。
      そしたらなんと、IEがなぜか画面の上の方に表示される。
      Mozilla,operaはOK。
      類推するに、IEは、親のDIV領域(box)からの相対位置を
      offsetTop,offsetLeftに返してるんじゃないかと。
      でIEのHP見たら、しっかりと、親座標を基準とした座標値を
      返すと。ああああーーーー、なんなのIEさんは。。。。
      いろいろ試してみたけど、ちょっと諦めた。
      で、結局、box領域からの相対位置のみ指定させることにした。
      でも、既に色んな領域を指定させるように作っちゃったので、
      これ今更変えるの面倒なので、
      BLOCKBLOGの場合は、必ず"box"を指定してよ、で行くことに。
     ●で、縦置きの左側配置は、dd項目の横幅を求め、
      その幅分左側に寄せればよい。
   ●機能説明:を書く。
    ●動作条件、利用可能な方の条件
    ●テーブル説明。
    ●注意:ddが無ければ、ソフトメニューには表示されない。
    ●トラックバックは、ddが3行がひとつの組なので、
     more表示する場合は、more最大数は3の倍数で指定する。
  ●階層メニュー:
    一番いいのは、
    カテゴリ名に[+][-]を指定させるやり方に変更すること。
    現在は、テーブルで対象カテゴリ名を設定しているので、
    そこを、対象領域id名(menu等)をテーブルで持ち、
     これが存在するものについて、
     その子ノードでnodeNameがDLのOBJの
     DTの中身の先頭が[+]か[-]のobjに対して
       [-]なら、そのままで、イベントを登録する。
       [+]なら、DDを隠し、イベントを登録する。
    ●BLOCKBLOG関係のjs変更。
    ●index.htmlも変更
    ●UP後にBLOCKBLOGのカテゴリ名に[-][+]追加
  ●スライダー:現在画像を表示しているだけだが、
   各画像をAタグで括り、リンク可能に改良する。
  ●単機能でjsをメニューブロックに配置し、
   配置したブロックを消す機能。
    →これは、スタイルシートで対応してもらう。
       追加する「どこのもブロック」の名前をxxxxとすると、
       スタイルシートに以下を追加する。
           #xxxx {
              display: none;
           }
       注)id名の先頭文字は半角英字のみ許され、
         半角数字は許されないので注意。^^);;
       ●BLOCKBLOGで許可か否かを調べてみたが、出来ちゃいますね。
    ●bayski.jsを単機能に分け、
     ●index.htmlをjsカテゴリ分けし、
     ●各cssに追加し、
     ○BLOCKBLOGにjsカテゴリを登録する。→面倒なのでやめた。^^);;
      この結果、条件は、
       ・js7Libは、一番最初に配置すること。
       ・js7ChangeCssはフッターに登録すること。
      ●BLOCKBLOGには、bayski.jsとjs7ChangeDss.jsで登録しとこ。
     ●説明時は、jsファイルと、機能の表で、
      何が必要で、直さなければ行けないのはどれを明示。
  ●ホスト・ローカル切替は、対象となるjsファイルには、
   必ず先頭でgetRootURLでURLをゲットさせるようにする。
   注)これをやると、js7Lib.jsにこの関数を入れたので、
     これがその行で実行されるので、その行以前に7maruLib.jsを
     配置しないといけない。→困ったが、御願いする。
○BLOCKBLOGの文書構造依存記述を非依存記述に変える。
 すなわち、DT,DD,カテゴリ名とかは、変数にして、
 変数を変えれば、他の同一の階層構造なら動作するように変える。
 →BLOCKBLOGはこのままで、他のブログでいいとこあれば、その時考える。

●BLOCKBLOGで使用しているjsファイルは、新規HPでも使用するし、
 他のBLOGでも使用可能なためjsファイルを共通で使用したい。
 そのためには、ユーザ定義データとプログラム部分を別のjsファイルに
 分割する必要がある。
 ユーザ定義データは、jsファイル毎に該当する定義データjsファイルを
 作っていては数が多すぎて大変なので、ひとつにまとめる。
 さらに、jsファイルが共通で使用できることから、
 jsフォルダを作り、そこで管理する。
   ・js7Lib.js
   ・js7ImageLink.js
   ・js7SoftMenu.js
   ・js7FolderMenu.js
   ・js7SliderMenu.js
   ・js7ChangeCss.js
 ●ただし、以下は非共通とし、該当ディレクトリに置く。
   ■js7Wakeup.js
    →自分のHPだけ非該当で、Freeツールは全部入るので共通。
   ●js7UserData.js
 このことから、js7UserDataは、js7Libの関数を使用しているので、
 js7Libより後ろで定義すればよい。


●各ブラウザで最終確認する。
 ●Mozilla/safariでソフトメニューの左端でソフトキー閉じない
  →マウスが対象領域のmore内にある時に、moreクリックでmore領域が
   消えてしまい、マウスが対象領域外に出てしまう場合に、
   mouseoutメッセージが来ないので、プルダウンを消すタイマを
   起動できないのが原因。
  →IEは、消えても、その領域からマウスを出せば、
   mouseoutが来る。
  →これは、仕様不良ですよね。
   本来なら、消えた時点でmouseoutが来なくちゃ。
   Mozillaに要望として報告しておこう。
  →で、どうしよう・・・
  →まあ、もう一度プルダウンに入れば問題ないし、
   他のソフトメニューに移しても問題ないので、
   このまま放っておこう。^^)
 ●Mozilla/safariで右縦メニューの横幅合わない(IE/operaはOK)
  →Mozilla,safariではDD幅(obj,offsetWidth)を、
   求めると、最後のDD以外は、なぜか最大幅になる。
   最後のDDだけは合っているが、
  →これは、よく分からんが、バグなの???
   どうもonLoad時に見てしまうと、おかしいので、
   でもmore表示時はOKみたい。
  →原因らしき:サンプルでは、全角英字をdd項目に書いているが
   これだと表示時に半角英字で表示されるため、
   offsetWidthで取得するサイズは全角英字のサイズで、でも表示は
   半角英字なので、おかしくなっているようだ。
  →プルダウンを開くときに位置を合わせてやるように替えてみた。
   そしたら、最初だけ位置が合わない。
   ということで、onLoad時は、一応位置が合わなくてもLeft位置は
   セットしておけば、OK。
   ということで、解決策が分かるまで、かなり苦労した。^^);;;
  ●と思ったら、今度はsafariで、ほんのちょっとだけずれている。
   →調べると、DTを配置後に、なぜかレイアウトがずれてる。
    これがスライダー表示が起動するとずれるようだ。
   →いろいろ調べたが、スライダ表示でスライドする画像の高さを設定
    すると、content領域が右にちょっとだけすれる。
    なぜだかは不明。
   →ということで、ギブアップ。仕方なく発想を変えて、
    レイアウトがずれるなら、それに合わせてDTもずらしてやればいい。
    ということで、何とか解決。
   ●なお、more表示をする際にDD項目をずらしながら表示しているが
    これがDD項目の文字の長さにより、DD項目の幅が変わる。
    これもついでに対処した。
 ●Safariの縦メニューで、プルダウンの動作がおかしい。
  →「バックナンバー」をプルダウン表示し、プルダウン上で、
   下にマウスをずらして行くと、次の「カテゴリ」の位置に来ると
   「カテゴリ」のプルダウンに切り替わる。
   他は、「最新のトラックバック」の位置に来ると、
   「最新のトラックバック」のプルダウンに切り替わる。
  →IE,Mozilla,operaはOK。
  →右縦メニューはOKなんだよね、これが。。。。
  →なんじゃこれは???
  →イベントの発生状況をモニタしたところ、
   safariは、問題となるところで、DLからイベントが発生していた。
   それに伴い、プルダウンが切り替わっている。
   DLでイベントが来たときに、処理するようになっていたのを
   処理しないように替えてOK。
 ●operaで別ウィンドウ開くと、クイズが表示しない。
   新規ウィンドウのHTMLのBODY部のscriptタグで
   2行以上に渡る(多分jsファイルはOKなんだろう)場合に、
   それ以降のタグが無視される。バグなんでしょうか??
  →クイズだけ別ウィンドウにしないで、同じ画面に表示しちゃおうか。
   いや、面倒なので、別ウィンドウ用とオペラ用のリンクを付けて
   使う方に判断任せちゃおう。
 ●operaがサンプルで動作しない
  →上記理由に同じ。

それと、ソース配布は、ダウンロードではなく、
ソース公開でコピペしてもらおう。
こうしておいた方が、誰にでも見れるので公知になるしね。
→ただし、現在のブログ形式画面だと、1行のソースがはみ出すので、
 新規ウィンドウを開いて見せることに。

そこで、HTML上で表示するには、表示参照で記号類を変換しないといけない。
この変換は、
 ●JavaScriptでツール作る。
 ●何を変換しなくては行けないのか調べる。
   ・<   : <
   ・>   : >
   ・&   : &
   ・”   : "
   ・’   : '
   ・半角空白:  

著作権法
 一応、著作権法も見たけど、いろいろな権利があるけど、
 今回のFreeツールは、一度作ったものには興味がないので、
 ここに書いてあるような権利は一切いらないから、どうぞですね。

●でサーバにUPしたら・・・・
 ●HP上の画像が表示されない。
   ●画像が表示されないのは、CSSファイル内でURL部分の表記が
    すべて小文字に変換されてる。
    →これは以前自分がCSSファイルの要素名等を小文字に変換した際に
     同時に変換されていたんですね。
     windowsでは大文字・小文字を意識してないが、
     サーバ上では違えてるのが原因。
     大文字混在に替えた。^^);;
 ●BLOCKBLOGは、CSSも解釈されない・・・
   ●こちらは、大文字変換はするとして、
    urlの指定を絶対アドレス指定にしないといけない。
    これ修正してOK

拍手[0回]

 プロ野球の公式戦の試合形式は、
毎年のようにいろいろ変えてるんだけど、
それに応じて、ゲームの方も対応していかないといけない。

しかし、以下に関しては、

     ・総試合数、
     ・延長戦の回数、
     ・再試合の有無

既に対応してあるので、どういう風に変更されても、ビクともしないが、

今回の交流戦に関しては、どこをどう直していいか、頭に出てこない。
というより、プログラムそのものを忘れているので、
思い出さなきゃならないけど、面倒だーーーー。。。

で、これを改良しないといけないが、
こういう改良点の内容をどこかに書いておかないと、
また次にとんでもない変更が決められると、
またプログラム変更するのに大変なことになる。

今までは、書いておくにも、ソースに長たらしく書けないし、
別に専用の設計書を書くなんてとても凹むし。

ということで、どこをどう直したかを、これからはブログに書いておこう。
これは、いい考えですね。^^)

ということで、ちょっとプログラムを眺めてみた感じでは、

【管理試合数の変更】

ポイントは、6チームのリーグ戦は、
管理上、「15」という数値を直接プログラムに記載して管理している。
プログラム上は、こういう直値を書くのは、改良する上で問題なので、
今回は、この直値部分を変数に変更する必要ありですね。^^)

この15という値は、
横浜戦は、5戦、中日戦は既に管理している横浜戦を除いて、4戦、
。。。。というように、6チームから2チームを抜き出す組合せの
数であり全部で15戦のためである。

これが交流戦だと、この15戦に、
セの各チームがパの各チームとホーム・ビジターで3戦ずつを戦うので、
結局、36戦が新しい組合せとして必要。
なので、交流戦では、15戦+36=51戦を管理しなくてはいけない。

ということで、セリーグのチーム数=Cとし、パリーグのチーム数=P
とすると、以下の式で求められる。

非交流戦モード時:

   管理戦数=C*(C−1)/2

交流戦モード時:

   管理戦数=C*(C−1)/2 + C*P

ということで、交流戦/非交流戦という区別は、Pの値で決めることに。
すなわち、P=0なら非交流戦とすればいい。

そこで、いろいろな変数をいじらないようにするために、
まずHTMLの一番最初で、
ゲーム対象リーグとゲーム非対象リーグの
チーム名1文字配列:MyLeageとnonMyLeageを定義してもらい、
これを元に、今回の変更を行う。

例えば、セリーグのペナント競争なら、チームIDを
交流戦モードなら、MyLeage="YDGSCT",nonMyLeage="hlfwmr"
非交流戦モードなら、MyLeage="YDGSCT",nonMyLeage=""
とすれば、上記管理戦数のC,Pは、その文字数を求めればよい。

ということで、管理戦数を変数=ALLgameNoとする。

したがって、いままで、15と書いてあったところをALLgameNoに置換する。

また、この管理戦数(対戦試合数)のカウントに際して、
このインデックス値として予め対戦相手が決められ、
これを文字変数のcnvvs変数で管理している。

そのため、このcnvvs変数を交流戦用に追加必要だが、
いちいち入力していてはバカらしいので、プログラムでデータ値設定する。
また、管理変数のteamcntは、1日に最大試合数で管理する。
さらにteamidも12球団管理するが、
これもMyLeageとnonMyLeageからプログラムで値を設定する。

【交流戦の場合の勝敗結果】

●勝敗の結果は、対象リーグの参加チームの結果のみを
集計すればいいので、

交流戦の場合には、相手方のチームの勝敗は、無視すればよい。

 これは、teamcnt[]で当日の対戦相手をチームIDで管理している。
setSiaiData()関数で、対象試合日の対戦相手のチームIDをセットし、
その試合結果をupdateSiaidata()関数で対応する変数にセットしているので、
この関数を変更すればいいみたい。

これは、、siai,make,kati等の変数で制御しているが、
これがMyLeageの球団数で管理しているので、その値を変えればよい。

【交流戦時の試合表示】

 ああーーーー、そうだ、
●交流戦時の試合数は、なんと6試合あるんですね。

今までは、6チームなので、3試合分だった。
画面表示も、3試合でしか考えてなかった。
というか、3試合しか表示は出来ないよね。

いや待て、スクロールしない状態では、3試合分しか表示できないが
スクロールしてしまえば、何試合でも表示可能かな。。。

でも、それだと、やっぱ不便だよね。
接戦の時は、やはり相手の経過が知りたい。

で、考えるより、実際に3試合分増やしてみようとプログラム見たら、
ループ回数を4→7に変えるだけで簡単に増やせそうだ。
ということで、増やして表示させたら、

出来ました!!特にスクロールする必要もない ^^)
ただし、下側に表示領域が増えたので、リンクボタンに勝敗表が
被ってしまったので、重ならないようにIEの場合はCSSを修正してOK。

あとは、ここにちゃんと表示させられるかだ。。

●この4、7という数字は、(3試合+1)、(6試合+1)なんだけど、
これも交流戦の有無で決まる直値なので、これも変数に変えないとね。
さらに、将来、球団数が6チームが7チームとか8チームになって
対応可能なようにしとかないと、また同じこと繰り返すので。。。。

ということで、1日の最大試合数を求める関数を作り、それで上記値を
求めることにした。

●交流戦の場合の予備日については、カッコ付であれば、
雨等で流れた試合の予備日としたが、これが実際に試合が必要な日か
それとも必要でない日かを判断しているが、
この判断のやり方を交流戦の場合は、変えなくちゃいけない。

すなわち、交流戦の各チームとの試合数は決まっていて、
もし雨等で流れれば、再度試合を行うので、
この判断は、MyLeageのチームとの試合数と別に判断する必要有り。

●最後にメインの試合が終了時に、その他球場の試合が終わってないと
強制的に終了させているが、ここはendFlag[]で管理しているが、
これもOnedayMaxGameNoに対応させないとね。

ということで、ペナント競争(2005年版)がやっと出来た。

拍手[0回]

 今後のためにも、主なものを月毎にまとめておこう。

 1月:
    ・ベイスターズクイズの新年度対応
    ・クイズ・タイムdeショットの新年度対応
    ・新年度の試合日程の開始時間記載
 2月:
    ・入場券情報の記載
    ・CS放送予定の更新
 3月〜9月:
    ・リアルタイムクイズ開始
    ・試合毎の試合結果&寸評の記載
    ・勝敗グラフ更新
    ・試合結果一覧の更新
10月:
    ・試合毎の試合結果&寸評の記載
    ・気になる成績への今年度記録を記載
    ・新年度へのリニューアル
    ・ストーブリーグ情報の記載開始
    ・ベイスターズ情報の記載開始
    ・背番号順・選手一覧の記載開始
11月:
    ・ファン感デー詳細の記載
12月:
    ・新年度の試合日程の記載
    ・ペナント競争の新年度対応

本来なら、12月に新ゲーム作成があるんだけど、
これ当分凍結状態かな。^^);;

今年は、これ以外に、やらなくてはならない大きな事が
あるので、頭が思いや。T T);;

拍手[0回]

 ジオが、突如、旧ジオから新ジオへの移行促進を強行したことから、
仕方なく新ジオへ移行したことに伴い、
以下のことが出来なくなってしまった。

  ?セリーグ順位予想掲示板での球団アイコン表示。
  ?掲示板の背景画像、Midi音楽、トナカイ動作と荒し対策。
  ?リアルタイムクイズ。

?,?は外部リンクの問題なので、こちらが悪いのですが ^^);;

【?について】は、
   どうするか考えた結果、
   CSSで同じように表示させようと考えた。

   で、いろいろ試行錯誤して、
   なんとか、見た目同じようなアイコン出来ました。

   でも、フォントの関係でWindows専用です。
   まあ、Windowsユーザが90%ぐらいなので、
   それ以外(特にMac)は、フォントが多分細くなるのかな?
   まあ、ごめんということで。。。^^);;

【?について】は、
   これは直リンク可能なサーバを見つけないと
   対処できないので、しばらくは放っておくしかない。^^);;

   でも12月になると、本来ならジングルベルが鳴って
   トナカイが飛び回るんだよね。でも。。。。。

   これの対処は、なにしろ無料を追求しつづけると、
   非常に難しい状況かな。。。

   無料を諦めれば、可能だけど、その辺が悩むところだわ。
   ブログとの兼ね合いもあるので、どうするか。^^);;

【?について】は、
   これは、来年2月末までになんとかすればいいんだけど。

   簡単に済ますには、OTD掲示板で同じことできるはずかな?
   でも、1ページに表示できる投稿数の制限(100個)があるので、
   もし、この数以上投稿されたら、まずいんだよね。

   でも、それなら、それ以上投稿出来なくしてしまえばいいかも。
   先着100名様までですと。

   今まで、最高でも30名ぐらいなので、いい考えかもね。^^)

拍手[0回]

忍者ブログ [PR]
カレンダー
03 2024/04 05
S M T W T F S
1
8 9 10 12
16
22 23 25 26 27
28 29 30
フリーエリア
[-]最新トラックバック
プロフィール
HN:
7maru
性別:
非公開
自己紹介:

バーコード
ブログ内検索
[+]アーカイブ
アクセス解析