Closed13
Deno 製 ロボコンスコアリングサーバーを改造
ゴール
岸和田ロボコンのルールにそった、スコアリングサーバーにしたい
コース
ルール
予選と決勝
とりあえず、リソース中の文字列置換。
static % grep -R かに * | awk -F: '{ print $1 }' | sort | uniq | xargs sed -i "" -e "s/かにロボ/岸和田ロボ/g"
static % grep -R 越前がにロボ * | awk -F: '{ print $1 }' | sort | uniq | xargs sed -i "" -e "s/越前がにロボ/岸和田ロボ/g"
score.html
- 地球 -> 山
- 惑星 -> 海
- などなど
TODO : 変更
- 部門数の変更1:2から1に → data/entry.csv
- 部門数の変更2:2から1に → match1 などの各種コードへの反映も必要
- 予選リーグの振り分け : 同じステージ(リーグ)で左右やる → match1.html
- スコア計算ロジック 各要素の加点スコアの違いの反映など → score.html
TODO : 新規?
- 参加者ごとに所属リーグの決定 → data/entry.csv
- 現在 : T は AステージとBステージ。K は Cステージ
data/entry.csv
- id
- category ... T : エントリー部門(旧: 低学年) , K : 歩行部門(旧:高学年)
- teamname
- name1,kana1,school1
- name2,kana2,school2
- club
設定
- Settings.js
- getTitle
- getGroup
- getNumberOfMatch : 部門別の決勝進出チーム数がでる (デフォルト : 8)
フロー
- エントリー受付 , entry.html
- entry.csv の一覧を読み込み、来場してエントリーしたかをチェック
- 予選対戦表 → 試合(予選), match1.html
- エントリー受付したゼッケン番号と部門分けをして、予選リーグを作成する
- <各予選を行う> → 各チームのポイントが入る
- 予選結果 → 決勝トーナメント生成 , result1.html
- エントリー、歩行部門別に規定数が揃うと作成が可能
- 決勝対戦表 → 試合(決勝), match2.html
- 決勝を行う
- <決勝を行う> → 各チームのポイントが入る
- エキシビジョンマッチ, score.html
- スコアボード
- タイマーを押すと、カウントダウンが開始
- 各種チェックボックスを押して、スコア加算
エキシビジョンマッチ, score.html
- 要素のフォーマット
p1c0
- p1 ... プレイヤー1, p2 ... プレイヤー2
- 要素の参照
get(p + "c" + j)
- 要素の数を設定
var lastpnt
- 要素の配点は関数で実装
var init2 = function()
得点:かに 本戦最大14(行って帰って 6 + 先ゴール 1 + レア 4 + 激レア 1 + 歩行2)
c0. 地球をでた 1
c1. ミルキーウェイ 1
c2. 惑星ゾーン 1
c3. たまご 1
c4. 地球ゾーン帰還 2
c5. ゴール 1 本線のみ、予選ではタイム表示、スコア加算なし?
c6. レアメタル +1 x 2, +2 x1(奥)
c7. 激レアメタル 1 本線のみ
c8. 歩行タイプボーナス 2 ゴール時
得点:岸和田 本戦最大16(行って帰って 10 + 先ゴール 1 + レア 3 + 激レア 2)
c0. 山ゾーンをでた 1
c1. 26号線をぬけた 3
c2. 海ゾーンにはいった 1
c3. 再び26号線をぬけた 3
c4. 山ゾーン帰還 2
c5. ゴール 1 本線のみ、予選ではタイム表示、スコア加算なし?
c6 - c8. レアボール +1 x 3
c9. 激レアボール 2 本線のみ
部門数の変更2:2から1に → match1 などの各種コードへの反映も必要
予選リーグの振り分け : 同じステージ(リーグ)で左右やる → match1.html
次は、このあたり?
※最終的に、今回は予選リーグで利用しなかったので、修正いれない。
決勝対戦表 → 試合(決勝), match2.html
決勝対戦表を出すためには、各部門最低4チームが必要
歩行部門は仮として存在させてみた。できれば、歩行部門はゼロが設定できるといいのだけれども。
エントリー部門のみを利用することにした。
公開する方法
VPS
nginx をリバースプロキシにして公開。今回は手抜きしてIPアドレス上にホストした。
Deno Deploy
使ってみた。うーん、各種ライブラリが古い? or 利用制限があるライブラリがあるようで、うまく動作せず。。。
当日使ったもの
- 内部用
- エントリー受付
- 予選結果 → 決勝トーナメント生成
- 公開用
- 決勝トーナメント(エントリー部門)
リポジトリ
kishiwadaブランチ 0a8f4c0 にて本番利用
このスクラップは2022/12/04にクローズされました