# クソコードグランプリ 2021地球祭 ###### tags: `プロ研` `地球祭` ## 目次 1. [イベント概要](#イベント概要) 2. [ルール](#ルール) 3. [参加方法](#参加方法) 4. [結果発表について](#結果発表について) 5. [当日のタイムテーブル](#当日のタイムテーブル) ## イベント概要 プログラム研究部は2021の地球祭にてプログラムのくだらなさを競うクソコードグランプリを開催します! 日時: 2021年12月17日(金) 9:15 〜 14:00 場所: 2302教室 主催: プログラム研究部 ## ルール 3つの部門に分かれてそれぞれでくだらなさを競います。好きな部門を1つ(または複数)選んで参加していただきます。それぞれの部門の優勝者・準優勝者には景品があります!また、参加してくださった方全員にうまい棒をお配りします! 以下はそれぞれの部門の説明です ### クソFizzBuzz部門 - [FizzBuzz問題](#FizzBazz問題の説明)を一番クソなコードで解いた人が優勝です! - 読みにくい・わかりにくいコード、くだらないコード、無駄に労力のかかるコードなどクソコードならなんでもOKです! - 使用言語は以下の中から選択してください。 - C・C++ - Java・Kotlin - JavaScript - PHP - Python - MySQL - Bash - コンパイルエラー、ランタイムエラーなどで動作しないプログラムは審査対象外です。 ### クソ使いにくいフォーム部門 - 一番使いにくい入力フォームを作った人が優勝です! - テキストボックやラジオボタンなどの小さな部品1つでも、ログインフォームのような部品の集まりでもOKです! - 使用言語はHTML, CSS, JavaScriptです。そのほかの言語や環境で作成した場合は当日審査員に実行画面を見せるか、UIが動作しているgifファイルなどを提出する事で参加が可能です。 - 使いにくければ使いにくいほど高得点ですが、フォームとして使用不能な場合は審査対象外です。 ### クソ企画部門 - 一番面白い技術の無駄遣いを考えた人が優勝です! - 近代的な技術をつかったすごそうなシステムなのによく考えたら何の役にも立たないクソ企画を募集します。 - こちらはプログラムが書けない方でも参加できる部門です!ソースコードの代わりに企画案を提出していただきます。 ## 参加方法 参加方法は3つあります。どの参加方法でも審査基準は同じなので、一番やりやすい方法で参加してください。 **方法 1: 事前に用意したコードをgoogleフォームに提出する** - ソースコードまたは企画書を[こちらのgoogleフォーム](https://docs.google.com/forms/d/e/1FAIpQLSewGSIptugSwQ9MJj830sN0tcSfivXVEP85tyLBgq80uVqsXQ/viewform)に提出してください。 - こだわりのクソポイントをソースコード内のコメントか、テキストファイルで教えていただけると審査員が嬉しくなります。 - ファイル数が多い、フォルダ構成が複雑などの理由でファイルの提出が難しい場合はGitHubなどのリンクを提出していただくか下の方法2で参加していただくことが可能です。 **方法 2: 事前に用意したコードを地球祭当日に開催教室にて審査員に見せる** - 当日開催教室にて審査員に直接ソースコード、実行結果などを見せてください。 **方法 3: 当日に開催教室でコーディングをする。** - 当日は開催教室に開発コーナーを用意しますのでそちらでコードを書いて、出来次第審査員に見せてください。 - コーディング中にバグを踏んだ時はプログラム研究部員に相談することもできますよ! ## 結果発表について 当日2302教室にて13時15分から結果発表を行います。結果発表では各部門の優勝者・準優勝者を発表すると同時に、提出されたクソコードの紹介する、クソコード共有会も行います。 結果発表に参加されなかった方が入賞した場合、景品は後日担任の先生を通してお渡しします。 ※応募の際にクラス・名前・担任の先生(またはよく会う先生)の名前をお訊きします。 ## 当日のタイムテーブル | 時間 | イベント | | ----- | --------------------------- | | 9:15 | 当日応募の受付開始 | | 13:00 | 受付終了 | | 13:15 | 結果発表 & クソコード共有会 | ## FizzBazz問題の説明 FizzBazz問題はよくあるプログラム問題の1つです。 ルール: 1から100の数字[^range]を順番に表示します。 その際、数字が3の倍数の時は数字の代わりに`Fizz`と表示します。 数字が5の倍数の時は数字の代わりに`Buzz`と表示します。 数字が3の倍数であり、5の倍数でもある時は`FizzBuzz`と表示します。 [^range]: 表示する数字は1から100じゃなくても構いませんが、今回は審査の都合上100前後までにしていただけるとありがたいです。 出力例: ``` 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 . . . ``` 今回のグランプリでは表示の形式は自由です。 ``` 1 2 3 Fizz 4 Buzz ``` の様に横に表示してもOKですし ``` 1 2 3 Fizz ``` の様に数字の後に`Fizz`, `Buzz`を表示しても構いません。