LoginSignup
10
2

More than 5 years have passed since last update.

Googleスプレッドシート製AtCoder Virtual Contest作成シートの使い方

Last updated at Posted at 2018-08-20

世の中にはAtCoderのバーチャルコンテストを作成してくれるWebサービスが沢山ありますが、

  • 参加者ログをスプレットシートで管理して集計したい
  • バーチャルコンテスト情報をプライベートで管理したい

というニーズがあるんじゃないかと思います。

そんなニーズ向けにGoogleスプレッドシートのGASを使ったAtCoder Virtual Contest作成シートを作っており、N高等学校のコンピュータ部内で運用していましたので、そのシートと使い方およびソースコードを公開します。

スクリーンショット 2018-08-20 16.50.26.png
AtCoder Virtual Contest作成シートの見た目

コンテストの作り方

Googleアカウントにログインして

以上のURLにアクセスし、ファイル > コピーを作成を選択します。

スクリーンショット 2018-08-20 16.54.39.png
コピーを作成...を選択
  • コンテスト名
  • AtCoderコンテストID (大会URLの最後"/"以降のパス名)
  • 開始時刻
  • 終了時刻

以上を入力して、コンテスト作成ボタンを押します。

スクリーンショット 2018-08-20 16.58.29.png
「新しいコンテストの作成」ボタンをクリック

するとスクリプトの承認が求められますので、

スクリーンショット 2018-08-20 16.08.23.png
「続行」ボタンをクリック

「続行」ボタンを押します。

スクリーンショット 2018-08-20 16.59.15.png
「承認するアカウント」を選択
スクリーンショット 2018-08-20 17.01.06.png
「詳細」のリンクをクリック
スクリーンショット 2018-08-20 17.01.25.png
「Virtual Contest作成シート用スクリプト (安全ではないページ)に移動」のリンクをクリック
スクリーンショット 2018-08-20 17.02.04.png
「許可」ボタンをクリック

するとコンテストが作成されます。

スクリーンショット 2018-08-20 17.02.34.png
コンテストが作成された状態

これでコンテストの作成は完了です。同じシートで何個もコンテストを作成することができます。

次の他の人が参加できるように共有から、コンテストに参加させたい範囲の方に編集権を与えるように設定します。

スクリーンショット 2018-08-20 17.28.02.png
共有ボタンより「変更...」のリンククリック
スクリーンショット 2018-08-20 17.28.44.png
「リンクを知っている人全員」、「編集者」に設定

ここでは、リンクを知っている全員が参加できるように「編集者」に設定しました。なお、特定の人にだけ参加させたい場合には、特定のユーザーを選択して、メールアドレスで招待を送っていきます。

スクリーンショット 2018-08-20 17.31.43.png
参加者に共有するリンク

その後、共有するリンクを大会の参加者に共有するようにどこかにコピペしてメモをとっておき、「完了」ボタンをクリックして完了となります。あとは参加者にこのURLを共有しましょう。

作成したバーチャルコンテストへの参加

コンテストのシートを開いてもらい、「参加」ボタンを参加者本人に押してもらうと、参加者のGoogleアカウントのメールアドレスが参加者列に追加されます。

スクリーンショット 2018-08-20 17.33.30.png
参加ボタンを押すと参加者列に追加される

その後その参加者にAtCoder IDを記入してもらいます。

あとは問題のリンクから問題を指定時間内に解くだけです。

スクリーンショット 2018-08-20 17.58.54.png
「点数を更新」ボタンを押すと最新の状況が取得される

「点数を更新」ボタンをクリックすると、以上の用に点数、WA回数、AC時間が表示されます。あとはバーチャルコンテストを楽しみましょう。

ソースコードと不具合/要望の打ち上げ先

以上のシートのGoogle Apps Scriptのコードの管理と不具合管理は、

のGitHubのプロジェクトとなっています。ソースコードはISC Licenseで公開していますので自由に改変、利用してもらってかまいません。

また何か不具合/要望あればIssueを上げて貰えればと思います。もし良い機能ありましたらプルリクをお待ちしております。

10
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
2