忍者ブログ
[1] [2] [3] [4] [5]

 HPの更新作業で一番大変なのが、試合結果とその総評を
書くこと。これ家に帰ってから1時間30分ぐらいは掛かる。

 1999年は、スコアと試合結果を主要なイニング毎に
書いていたが、これだと書くのが大変だし、覚えておく
のも大変ということで、

 2000年からは、イニング毎に書いていた打撃結果を、
新聞にあるような打撃結果表と同じような表を
CSSを用いて書くことに。これでかなり時間短縮できた。

 2001年からは、試合内容を書くのを、
基本フォームを決めて、それに沿って書くことに。
これは2000年は、行き当たりばったりで書いていたため、
書き始めるのに、どう書こうか悩んでいたため。

 さらに、打撃結果の表を手で入力していたが、
この作成に30分も掛かる為、この作業を効率化するために
JavaScriptで入力ツールを作り、帰りの電車の中で
JavaScriptが動作するPDA(ザウルス)で入力することにより、
HP更新作業が30分短縮した。

 このツールは、打者順に、その打者の打席結果を
名前、ポジション、イニング、打撃結果の順に入力し、
最後にTEXTで結果を出力する。

 ところが、PCでは上手く行ったが、
ザウルスだとメモリが不足し、途中で死んでしまう。^^);;
仕方なく、最終結果を出力するのではなく、
入力したデータをコマンド形式で出力し、
それをPCで最終形に変換することで対応した。

このPDAは、モバイルPCとかも考えたが、
値段と、大きさとかを考えて、最終的にシャープの
ザウルスに決めた。決めたきっかけは、日本語も入力
できるキーボードが引き出せて使える点。

やはり、総評を入力する関係上、ローマ字入力が出来るのが
慣れてるし、入力時間も速いし、ということで。

拍手[0回]

PR

 コンテストに登録して22日から公開されるけど、
なんとここに大問題が発生!!

昔、大量に掲示板に書き込んだ広告荒らしがやってきた!!
ななななななーーーなんと、1時間おきぐらいに違う種類の
広告を書き込んでくる。あっという間に掲示板が広告で
埋まってしまった。これには、さすがに焦った。
なにしろコンテストに応募してる掲示板に広告荒らしじゃね。

で、この掲示板にはIPアドレスを拒否できる機能があるので、
夜中にIPアドレスを拒否し、広告を削除してやった。

ところが、今度は違うIPアドレスで、再び大量に書き込んできた。
これじゃ、イタチゴッコなので、今度は掲示板に書き込む時に
その内容をJavaScriptで判断して、問題語を書き込もうとしていた場合は、
送信できないようにしてやった。

これで何とか静かになった。
でもサーバ側で拒否してくれればいいのにと思ったが、
まあ、一応できてるのでいいかなと思っていたら、

今度は、掲示板に直接書くのではなく、サーバにダイレクトに
送信しているようで、また大量に書き込みが。

いろいろネットで調べたら1500円ぐらいで、
自動掲示板書込用ソフトが通信販売されているようだ。
昔書き込んできた事があったが、
今度はこれが自動制御に発展し、このソフトを通信販売して
儲けてるやつが出てきたのか。。。。うっっっ。

これにはさすがに切れた。でも、どうするか考えたが
サーバに直接書き込んでては対処なし。

いや待てよ。表示するときに表示させなきゃいいんじゃないか。

ということで、まずはまじめにレイヤで表示ON・OFFを
制御するやり方を考えたが、それより単純にコメントに
してしまえば簡単じゃんということで、

禁止語が書き込んである書き込みに対しては、
表示するときにJavaScriptで判断し、
禁止語のある内容に関しては、コメントにして見えなくした

しかし、掲示板で広告が見えないにも関わらず、依然として
書き込んでくるが、その度にIPアドレスを変えてくる
まあ、書き込み日時とURLを指定して、あとは自動設定で
書き込んでくるのだろう。これでは削除する作業が大変。

やっぱ、OTDにサーバ側で対処してもらうようにお願い
するしかないか。。。。とほほ。

拍手[0回]

Mozillaで
document.allをサポートしたようだという噂を聞いたので調べてみた。

サポートしたMozillaのバージョンは、Mozilla 1.8a3のテストバージョン。
ですが、現在の最新版のMozilla 1.8a4を、ダウンロードして見てみた。

拍手[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回]

 このところ、メインの掲示板に依然あった広告荒らしとは違って、
順位予想掲示板の方に、出会い系広告の荒らしの書き込みがある。

 こちらは、2日に1回ぐらいのペースなので、そんなに悲惨な
状況ではないが、毎回異なるIPアドレスで、書き込み内容も
替えて書き込んでくる。それも深夜とか朝とか、夕方に。
なので、すぐ削除というのは対応できない。

 こちらの掲示板は、順位予想のため、必ず1位チームの勝ち数を
入力してもらう形態である。この勝ち数を、通常の掲示板を改造して
順位予想掲示板を作っている関係上、記事のタイトル(Subject)を
代用して、Subjectに記入してもらっている。

 荒らしは、掲示板を見ていないというか、単純にプログラムで
サーバ宛てに書き込んで来るため、
タイトル、email、内容を書き込んでくるようで、
勝ち数が、数字ではなく、文字列になっている。

ということで、順位掲示板に関しては、勝ち数項目に
数字以外が入力されていれば、対応する記事をコメントにする
ようにした。

 そうしたら、しばらくは書き込んできていたが、
3週間後にはあきらめてくれたようで。

拍手[0回]

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

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