├── backend ├── __init__.py ├── api │ ├── __init__.py │ ├── migrations │ │ ├── __init__.py │ │ ├── 0010_team_score.py │ │ ├── 0007_league_game_released.py │ │ ├── 0012_scrimmage_tournament_id.py │ │ ├── 0011_auto_20200110_0821.py │ │ ├── 0009_auto_20191215_2044.py │ │ ├── 0008_auto_20191110_0252.py │ │ ├── 0002_auto_20190811_1452.py │ │ ├── 0013_auto_20200118_2249.py │ │ ├── 0015_auto_20200122_0135.py │ │ ├── 0014_auto_20200119_0609.py │ │ └── 0016_auto_20200122_0201.py │ ├── apps.py │ └── urls.py ├── uwsgi-dev.ini ├── templates │ ├── email │ │ ├── password_reset.html │ │ └── verification.html │ ├── base.html │ └── view.html ├── uwsgi.ini ├── resumes │ ├── notes.txt │ └── sql.txt ├── wsgi.py ├── manage.py ├── Dockerfile ├── requirements.txt └── tournament.sql ├── frontend ├── public │ ├── version.txt │ ├── javadoc │ │ ├── package-list │ │ └── script.js │ ├── favicon.png │ ├── assets │ │ ├── img │ │ │ ├── castle.png │ │ │ ├── church.png │ │ │ ├── crusader.png │ │ │ ├── pilgrim.png │ │ │ ├── preacher.png │ │ │ ├── prophet.png │ │ │ ├── s_castle.png │ │ │ ├── s_church.png │ │ │ ├── s_crusader.png │ │ │ ├── s_pilgrim.png │ │ │ ├── s_preacher.png │ │ │ ├── s_prophet.png │ │ │ └── voyager_vision.png │ │ └── fonts │ │ │ ├── Pe-icon-7-stroke.eot │ │ │ ├── Pe-icon-7-stroke.ttf │ │ │ └── Pe-icon-7-stroke.woff │ ├── bc20 │ │ ├── speedscope │ │ │ ├── release.txt │ │ │ ├── favicon-16x16.d02bd490.png │ │ │ ├── favicon-32x32.c68a0a43.png │ │ │ ├── index.html │ │ │ └── reset.7ae984ff.css │ │ ├── tiled_1-3eMNULX.jpg │ │ ├── yellow_star-1n2ECJB.png │ │ └── profiler.js │ └── visualizer.html ├── screenshot.png ├── .env.development ├── .env.production ├── .eslintrc.js ├── Dockerfile.dev ├── src │ ├── views │ │ ├── countdown.css │ │ ├── VerifyUser.jsx │ │ ├── not_found.js │ │ └── staff.js │ ├── components │ │ ├── userCard.js │ │ ├── updateCard.js │ │ └── paginationControl.js │ └── footer.js ├── deploy.sh └── package.json ├── infrastructure ├── worker │ └── box │ │ ├── settings.gradle │ │ ├── version.txt │ │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ └── src │ │ └── Helloworld.java ├── tournament-util │ ├── util.py │ ├── config.py │ ├── bracketlib.py │ ├── .gitignore │ ├── data │ │ └── 0-example │ │ │ ├── team_names │ │ │ ├── team_pk │ │ │ └── maps.json │ ├── scrim_ranks.sql │ ├── csv_to_files.py │ ├── match_list.py │ ├── scrim_ranks_verified.sql │ ├── pull_seeding.py │ └── finals_seeds.py ├── .gitignore ├── compile.Dockerfile ├── env.Dockerfile ├── game.Dockerfile ├── scrimmage.Dockerfile ├── tournament.Dockerfile ├── worker.Dockerfile ├── matcher │ ├── config.py │ ├── util.py │ └── scrimmage.py └── Makefile ├── schema ├── .gitignore ├── ts │ └── index.ts ├── package-lock.json ├── java │ └── battlecode │ │ └── schema │ │ ├── Vec.java │ │ ├── GameFooter.java │ │ ├── Event.java │ │ └── EventWrapper.java └── package.json ├── engine ├── settings.gradle ├── circle.yml ├── src │ ├── main │ │ └── battlecode │ │ │ ├── server │ │ │ ├── GameState.java │ │ │ ├── ServerState.java │ │ │ └── Version.java │ │ │ ├── world │ │ │ ├── resources │ │ │ │ ├── Egg.map20 │ │ │ │ ├── GSF.map20 │ │ │ │ ├── NoU.map20 │ │ │ │ ├── AMaze.map20 │ │ │ │ ├── Climb.map20 │ │ │ │ ├── Hills.map20 │ │ │ │ ├── Maze.map20 │ │ │ │ ├── Soup.map20 │ │ │ │ ├── Swirl.map20 │ │ │ │ ├── CowFarm.map20 │ │ │ │ ├── Europe.map20 │ │ │ │ ├── IceCream.map20 │ │ │ │ ├── InADitch.map20 │ │ │ │ ├── Infinity.map20 │ │ │ │ ├── Islands.map20 │ │ │ │ ├── Islands2.map20 │ │ │ │ ├── MtDoom.map20 │ │ │ │ ├── Prison.map20 │ │ │ │ ├── RealArt.map20 │ │ │ │ ├── Sheet4.map20 │ │ │ │ ├── Spiral.map20 │ │ │ │ ├── Squares.map20 │ │ │ │ ├── Volcano.map20 │ │ │ │ ├── WaterBot.map20 │ │ │ │ ├── Hourglass.map20 │ │ │ │ ├── Showerhead.map20 │ │ │ │ ├── Toothpaste.map20 │ │ │ │ ├── ALandDivided.map20 │ │ │ │ ├── CentralLake.map20 │ │ │ │ ├── CentralSoup.map20 │ │ │ │ ├── Constriction.map20 │ │ │ │ ├── DoesNotExist.map20 │ │ │ │ ├── FourLakeLand.map20 │ │ │ │ ├── MoreCowbell.map20 │ │ │ │ ├── RandomSoup1.map20 │ │ │ │ ├── RandomSoup2.map20 │ │ │ │ ├── SoupOnTheSide.map20 │ │ │ │ ├── TheHighGround.map20 │ │ │ │ ├── TwoLakeLand.map20 │ │ │ │ ├── WateredDown.map20 │ │ │ │ ├── maptestsmall.map20 │ │ │ │ ├── ChristmasInJuly.map20 │ │ │ │ ├── BeachFrontProperty.map20 │ │ │ │ ├── DidAMonkeyMakeThis.map20 │ │ │ │ ├── IsThisProcedural.map20 │ │ │ │ ├── OmgThisIsProcedural.map20 │ │ │ │ ├── ProceduralConfirmed.map20 │ │ │ │ ├── TwoForOneAndTwoForAll.map20 │ │ │ │ ├── WhyDidntTheyUseEagles.map20 │ │ │ │ ├── CosmicBackgroundRadiation.map20 │ │ │ │ ├── ClearlyTwelveHorsesInASalad.map20 │ │ │ │ └── DisproportionatelySmallGap.map20 │ │ │ ├── DominationFactor.java │ │ │ ├── GameStats.java │ │ │ └── control │ │ │ │ └── NullControlProvider.java │ │ │ ├── instrumenter │ │ │ ├── profiler │ │ │ │ ├── ProfilerEventType.java │ │ │ │ ├── ProfilerEvent.java │ │ │ │ └── ProfilerCollection.java │ │ │ ├── stream │ │ │ │ └── EOFInputStream.java │ │ │ ├── bytecode │ │ │ │ └── resources │ │ │ │ │ ├── AllowedPackages.txt │ │ │ │ │ └── DisallowedClasses.txt │ │ │ ├── inject │ │ │ │ ├── Unsafe.java │ │ │ │ ├── AtomicInteger.java │ │ │ │ ├── AtomicLong.java │ │ │ │ ├── Thread.java │ │ │ │ ├── AtomicReference.java │ │ │ │ └── ConcurrentHashMap.java │ │ │ ├── RobotDeathException.java │ │ │ └── InstrumentationException.java │ │ │ ├── common │ │ │ ├── BodyInfo.java │ │ │ ├── Team.java │ │ │ ├── Clock.java │ │ │ ├── GameActionExceptionType.java │ │ │ └── GameActionException.java │ │ │ ├── schema │ │ │ ├── Vec.java │ │ │ ├── GameFooter.java │ │ │ ├── Event.java │ │ │ ├── EventWrapper.java │ │ │ └── BodyType.java │ │ │ └── util │ │ │ └── TeamMapping.java │ └── test │ │ └── battlecode │ │ ├── world │ │ ├── resources │ │ │ └── clearMap.map20 │ │ ├── IDGeneratorTest.java │ │ ├── GenerateMaps.java │ │ └── GameMapIOTest.java │ │ ├── instrumenter │ │ ├── sample │ │ │ ├── instrumentertest │ │ │ │ ├── Nothing.java │ │ │ │ ├── DoesntOverrideToString.java │ │ │ │ ├── CallsMathRandom.java │ │ │ │ ├── Reflection.java │ │ │ │ ├── StringFormat.java │ │ │ │ ├── UsesThrowable.java │ │ │ │ ├── Outer.java │ │ │ │ ├── OverridesToString.java │ │ │ │ ├── OverridesHashCode.java │ │ │ │ ├── IllegalMethodReference.java │ │ │ │ ├── DoesntOverrideHashCode.java │ │ │ │ ├── LegalMethodReference.java │ │ │ │ ├── UsesEnumMap.java │ │ │ │ ├── UsesLambda.java │ │ │ │ └── CallsIllegalMethods.java │ │ │ ├── shared │ │ │ │ └── SharedUtility.java │ │ │ ├── testplayerloopforever │ │ │ │ └── RobotPlayer.java │ │ │ ├── testplayerbytecodekotlin │ │ │ │ └── RobotPlayer.kt │ │ │ ├── testplayerbytecode │ │ │ │ └── RobotPlayer.java │ │ │ ├── testplayerempty │ │ │ │ └── RobotPlayer.java │ │ │ ├── testplayerstatic │ │ │ │ └── RobotPlayer.java │ │ │ ├── testplayerclock │ │ │ │ └── RobotPlayer.java │ │ │ ├── testplayerusesshared │ │ │ │ └── RobotPlayer.java │ │ │ ├── testplayersystemout │ │ │ │ └── RobotPlayer.java │ │ │ ├── testplayerarray │ │ │ │ └── RobotPlayer.java │ │ │ ├── testplayeractions │ │ │ │ └── RobotPlayer.java │ │ │ ├── testplayerarraybytecode │ │ │ │ └── RobotPlayer.java │ │ │ ├── testplayerdebug │ │ │ │ └── RobotPlayer.java │ │ │ ├── testplayersystem │ │ │ │ └── RobotPlayer.java │ │ │ ├── testplayermultiarraybytecode │ │ │ │ └── RobotPlayer.java │ │ │ └── testplayernodebug │ │ │ │ └── RobotPlayer.java │ │ ├── resources │ │ │ ├── ValueA.class │ │ │ ├── ValueB.class │ │ │ └── java.lang.Double.class │ │ └── README.weirdtests │ │ ├── common │ │ ├── MapLocationTest.java │ │ └── DirectionTest.java │ │ └── util │ │ └── SquareArrayTest.java ├── .gitignore └── AUTHORS ├── example-bots ├── settings.gradle ├── .gitignore ├── README.md ├── src │ └── test │ │ └── nothingbot │ │ └── Sanity.java └── build.gradle ├── client ├── package-lock.json ├── bc20 │ ├── tiled_1-3eMNULX.jpg │ ├── tree_bullets-1wQTwL-.png │ ├── tree_robots-3eqYfGf.png │ └── yellow_star-1n2ECJB.png ├── visualizer │ ├── build │ │ └── icon.png │ ├── src │ │ ├── static │ │ │ ├── img │ │ │ │ ├── soup.png │ │ │ │ ├── map │ │ │ │ │ ├── sapling.png │ │ │ │ │ ├── tiled_1.jpg │ │ │ │ │ ├── tree_robots.png │ │ │ │ │ ├── tree_bullets.png │ │ │ │ │ ├── full_health_tree.png │ │ │ │ │ └── low_health_tree.png │ │ │ │ ├── sprites │ │ │ │ │ ├── Cow.png │ │ │ │ │ ├── HQ_blue.png │ │ │ │ │ ├── HQ_red.png │ │ │ │ │ ├── unknown.png │ │ │ │ │ ├── Drone_red.png │ │ │ │ │ ├── Miner_red.png │ │ │ │ │ ├── scout_red.png │ │ │ │ │ ├── tank_blue.png │ │ │ │ │ ├── tank_red.png │ │ │ │ │ ├── Drone_blue.png │ │ │ │ │ ├── Miner_blue.png │ │ │ │ │ ├── Net_gun_blue.png │ │ │ │ │ ├── Net_gun_red.png │ │ │ │ │ ├── Refinery_red.png │ │ │ │ │ ├── SOUPER_blue.png │ │ │ │ │ ├── SOUPER_red.png │ │ │ │ │ ├── archon_blue.png │ │ │ │ │ ├── archon_red.png │ │ │ │ │ ├── gardener_red.png │ │ │ │ │ ├── recruit_blue.png │ │ │ │ │ ├── recruit_red.png │ │ │ │ │ ├── scout_blue.png │ │ │ │ │ ├── soldier_blue.png │ │ │ │ │ ├── soldier_red.png │ │ │ │ │ ├── tank_neutral.png │ │ │ │ │ ├── Landscaper_red.png │ │ │ │ │ ├── Refinery_blue.png │ │ │ │ │ ├── Vaporator_blue.png │ │ │ │ │ ├── Vaporator_red.png │ │ │ │ │ ├── archon_neutral.png │ │ │ │ │ ├── gardener_blue.png │ │ │ │ │ ├── lumberjack_red.png │ │ │ │ │ ├── scout_neutral.png │ │ │ │ │ ├── Drone_blue_carry.png │ │ │ │ │ ├── Drone_red_carry.png │ │ │ │ │ ├── Fulfillment_blue.png │ │ │ │ │ ├── Fulfillment_red.png │ │ │ │ │ ├── Landscaper_blue.png │ │ │ │ │ ├── bullet_tree_blue.png │ │ │ │ │ ├── bullet_tree_red.png │ │ │ │ │ ├── gardener_neutral.png │ │ │ │ │ ├── lumberjack_blue.png │ │ │ │ │ ├── recruit_neutral.png │ │ │ │ │ ├── soldier_neutral.png │ │ │ │ │ ├── bullet_tree_neutral.png │ │ │ │ │ └── lumberjack_neutral.png │ │ │ │ ├── yellow_star.png │ │ │ │ ├── controls │ │ │ │ │ ├── upload.png │ │ │ │ │ ├── go-next.png │ │ │ │ │ ├── reverse.png │ │ │ │ │ ├── go-previous.png │ │ │ │ │ ├── green-next.png │ │ │ │ │ ├── Legacy │ │ │ │ │ │ ├── upload.png │ │ │ │ │ │ ├── go-next.png │ │ │ │ │ │ ├── go-previous.png │ │ │ │ │ │ ├── playback-pause.png │ │ │ │ │ │ ├── playback-start.png │ │ │ │ │ │ ├── playback-stop.png │ │ │ │ │ │ ├── seek-backward.png │ │ │ │ │ │ ├── seek-forward.png │ │ │ │ │ │ ├── skip-backward.png │ │ │ │ │ │ └── skip-forward.png │ │ │ │ │ ├── playback-stop.png │ │ │ │ │ ├── skip-backward.png │ │ │ │ │ ├── skip-forward.png │ │ │ │ │ ├── green-previous.png │ │ │ │ │ ├── playback-pause.png │ │ │ │ │ └── playback-start.png │ │ │ │ └── bullets │ │ │ │ │ ├── bullet_fast.png │ │ │ │ │ ├── bullet_slow.png │ │ │ │ │ └── bullet_medium.png │ │ │ └── css │ │ │ │ └── tournament.css │ │ ├── game │ │ │ ├── index.ts │ │ │ ├── fps.ts │ │ │ └── nextstep.ts │ │ ├── mapeditor │ │ │ └── index.ts │ │ └── electron-modules.ts │ ├── tsconfig.json │ └── index.html ├── playback │ ├── src │ │ ├── legacy │ │ │ ├── bench │ │ │ │ ├── run.ts │ │ │ │ └── runTimeline.ts │ │ │ ├── simulator.ts │ │ │ └── test │ │ │ │ └── game.ts │ │ ├── gen │ │ │ └── tsconfig.json │ │ ├── tsconfig.json │ │ └── index.ts │ ├── out │ │ ├── simulator.d.ts │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── simulator.js │ │ ├── game.d.ts │ │ └── metadata.d.ts │ └── package.json ├── .gitignore ├── .editorconfig ├── README.md └── package.json ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── install_all.sh ├── specs ├── fonts │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.ttf │ ├── glyphicons-halflings-regular.woff │ └── glyphicons-halflings-regular.woff2 ├── README.md ├── css │ └── ie10-viewport-bug-workaround.css └── js │ └── ie10-viewport-bug-workaround.js ├── settings.gradle ├── gradle.properties ├── .gitignore ├── docker-compose-b.yml ├── docker-compose.yml └── post_release.py /backend/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/api/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/api/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/public/version.txt: -------------------------------------------------------------------------------- 1 | 2020.2.0.3 -------------------------------------------------------------------------------- /infrastructure/worker/box/settings.gradle: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /infrastructure/worker/box/version.txt: -------------------------------------------------------------------------------- 1 | 2020.1.0.0 -------------------------------------------------------------------------------- /schema/.gitignore: -------------------------------------------------------------------------------- 1 | typings 2 | .idea 3 | *.iml -------------------------------------------------------------------------------- /engine/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'engine' 2 | -------------------------------------------------------------------------------- /frontend/public/javadoc/package-list: -------------------------------------------------------------------------------- 1 | battlecode.common 2 | -------------------------------------------------------------------------------- /infrastructure/tournament-util/util.py: -------------------------------------------------------------------------------- 1 | ../matcher/util.py -------------------------------------------------------------------------------- /infrastructure/tournament-util/config.py: -------------------------------------------------------------------------------- 1 | ../matcher/config.py -------------------------------------------------------------------------------- /example-bots/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'example-bots' 2 | -------------------------------------------------------------------------------- /infrastructure/tournament-util/bracketlib.py: -------------------------------------------------------------------------------- 1 | ../matcher/bracketlib.py -------------------------------------------------------------------------------- /infrastructure/.gitignore: -------------------------------------------------------------------------------- 1 | dist/* 2 | .vscode/* 3 | build/* 4 | matches/* -------------------------------------------------------------------------------- /infrastructure/tournament-util/.gitignore: -------------------------------------------------------------------------------- 1 | /data/* 2 | !/data/0-example 3 | -------------------------------------------------------------------------------- /infrastructure/tournament-util/data/0-example/team_names: -------------------------------------------------------------------------------- 1 | 914 2 | 917 3 | 919 4 | 920 5 | -------------------------------------------------------------------------------- /frontend/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/screenshot.png -------------------------------------------------------------------------------- /infrastructure/tournament-util/data/0-example/team_pk: -------------------------------------------------------------------------------- 1 | arvid 2 | 2:40 AM 3 | teh devs 4 | database_team 5 | -------------------------------------------------------------------------------- /frontend/public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/favicon.png -------------------------------------------------------------------------------- /client/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bc20-client", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1 5 | } 6 | -------------------------------------------------------------------------------- /example-bots/.gitignore: -------------------------------------------------------------------------------- 1 | /lib 2 | /build 3 | /battlecode-player.jar 4 | .DS_Store 5 | /proguard 6 | *~ 7 | .gradle 8 | -------------------------------------------------------------------------------- /client/bc20/tiled_1-3eMNULX.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/bc20/tiled_1-3eMNULX.jpg -------------------------------------------------------------------------------- /client/visualizer/build/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/build/icon.png -------------------------------------------------------------------------------- /frontend/.env.development: -------------------------------------------------------------------------------- 1 | REACT_APP_BACKEND_URL=http://localhost:8000 2 | REACT_APP_REPLAY_URL=https://2020.battlecode.org -------------------------------------------------------------------------------- /frontend/.env.production: -------------------------------------------------------------------------------- 1 | REACT_APP_BACKEND_URL=https://2020.battlecode.org 2 | REACT_APP_REPLAY_URL=https://2020.battlecode.org -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /infrastructure/compile.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM bc20-worker 2 | 3 | COPY app/compile_server.py app/ 4 | CMD /app/compile_server.py 5 | -------------------------------------------------------------------------------- /client/bc20/tree_bullets-1wQTwL-.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/bc20/tree_bullets-1wQTwL-.png -------------------------------------------------------------------------------- /client/bc20/tree_robots-3eqYfGf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/bc20/tree_robots-3eqYfGf.png -------------------------------------------------------------------------------- /client/bc20/yellow_star-1n2ECJB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/bc20/yellow_star-1n2ECJB.png -------------------------------------------------------------------------------- /engine/circle.yml: -------------------------------------------------------------------------------- 1 | # Configuration for CircleCI. 2 | 3 | machine: 4 | java: 5 | version: 6 | oraclejdk8 7 | -------------------------------------------------------------------------------- /frontend/public/assets/img/castle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/assets/img/castle.png -------------------------------------------------------------------------------- /frontend/public/assets/img/church.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/assets/img/church.png -------------------------------------------------------------------------------- /frontend/public/assets/img/crusader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/assets/img/crusader.png -------------------------------------------------------------------------------- /frontend/public/assets/img/pilgrim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/assets/img/pilgrim.png -------------------------------------------------------------------------------- /frontend/public/assets/img/preacher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/assets/img/preacher.png -------------------------------------------------------------------------------- /frontend/public/assets/img/prophet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/assets/img/prophet.png -------------------------------------------------------------------------------- /frontend/public/assets/img/s_castle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/assets/img/s_castle.png -------------------------------------------------------------------------------- /frontend/public/assets/img/s_church.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/assets/img/s_church.png -------------------------------------------------------------------------------- /infrastructure/env.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:3.8.1-alpine3.11 2 | 3 | ENV BC20_DB_USERNAME database_admin 4 | ENV BC20_DB_PASSWORD ??? 5 | -------------------------------------------------------------------------------- /install_all.sh: -------------------------------------------------------------------------------- 1 | cd schema && npm install && cd .. 2 | cd client && npm run install_all && cd .. 3 | cd frontend && npm install && cd .. 4 | -------------------------------------------------------------------------------- /backend/api/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class APIConfig(AppConfig): 5 | name = 'api' 6 | label = 'api' 7 | -------------------------------------------------------------------------------- /client/visualizer/src/static/img/soup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/soup.png -------------------------------------------------------------------------------- /frontend/public/assets/img/s_crusader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/assets/img/s_crusader.png -------------------------------------------------------------------------------- /frontend/public/assets/img/s_pilgrim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/assets/img/s_pilgrim.png -------------------------------------------------------------------------------- /frontend/public/assets/img/s_preacher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/assets/img/s_preacher.png -------------------------------------------------------------------------------- /frontend/public/assets/img/s_prophet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/assets/img/s_prophet.png -------------------------------------------------------------------------------- /frontend/public/bc20/speedscope/release.txt: -------------------------------------------------------------------------------- 1 | speedscope@1.5.2 2 | Thu Oct 10 18:34:24 PDT 2019 3 | c3074b73436eddc789b96d0142c6ee56b34ff399 4 | -------------------------------------------------------------------------------- /frontend/public/bc20/tiled_1-3eMNULX.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/bc20/tiled_1-3eMNULX.jpg -------------------------------------------------------------------------------- /infrastructure/game.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM bc20-worker 2 | 3 | COPY app/game_server.py app/ 4 | COPY maps box/maps/ 5 | CMD /app/game_server.py 6 | -------------------------------------------------------------------------------- /frontend/public/bc20/yellow_star-1n2ECJB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/bc20/yellow_star-1n2ECJB.png -------------------------------------------------------------------------------- /specs/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/specs/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /specs/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/specs/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /frontend/public/assets/img/voyager_vision.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/assets/img/voyager_vision.png -------------------------------------------------------------------------------- /specs/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/specs/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /specs/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/specs/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /client/visualizer/src/static/img/map/sapling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/map/sapling.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/map/tiled_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/map/tiled_1.jpg -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/Cow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/Cow.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/yellow_star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/yellow_star.png -------------------------------------------------------------------------------- /engine/src/main/battlecode/server/GameState.java: -------------------------------------------------------------------------------- 1 | package battlecode.server; 2 | 3 | public enum GameState { 4 | RUNNING, 5 | DONE 6 | } 7 | -------------------------------------------------------------------------------- /frontend/public/assets/fonts/Pe-icon-7-stroke.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/assets/fonts/Pe-icon-7-stroke.eot -------------------------------------------------------------------------------- /frontend/public/assets/fonts/Pe-icon-7-stroke.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/assets/fonts/Pe-icon-7-stroke.ttf -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/upload.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/map/tree_robots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/map/tree_robots.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/HQ_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/HQ_blue.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/HQ_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/HQ_red.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/unknown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/unknown.png -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/Egg.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/Egg.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/GSF.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/GSF.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/NoU.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/NoU.map20 -------------------------------------------------------------------------------- /frontend/public/assets/fonts/Pe-icon-7-stroke.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/assets/fonts/Pe-icon-7-stroke.woff -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/go-next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/go-next.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/reverse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/reverse.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/map/tree_bullets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/map/tree_bullets.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/Drone_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/Drone_red.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/Miner_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/Miner_red.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/scout_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/scout_red.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/tank_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/tank_blue.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/tank_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/tank_red.png -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/AMaze.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/AMaze.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/Climb.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/Climb.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/Hills.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/Hills.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/Maze.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/Maze.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/Soup.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/Soup.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/Swirl.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/Swirl.map20 -------------------------------------------------------------------------------- /client/visualizer/src/static/img/bullets/bullet_fast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/bullets/bullet_fast.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/bullets/bullet_slow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/bullets/bullet_slow.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/go-previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/go-previous.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/green-next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/green-next.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/map/full_health_tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/map/full_health_tree.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/map/low_health_tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/map/low_health_tree.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/Drone_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/Drone_blue.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/Miner_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/Miner_blue.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/Net_gun_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/Net_gun_blue.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/Net_gun_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/Net_gun_red.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/Refinery_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/Refinery_red.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/SOUPER_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/SOUPER_blue.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/SOUPER_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/SOUPER_red.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/archon_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/archon_blue.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/archon_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/archon_red.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/gardener_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/gardener_red.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/recruit_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/recruit_blue.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/recruit_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/recruit_red.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/scout_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/scout_blue.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/soldier_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/soldier_blue.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/soldier_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/soldier_red.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/tank_neutral.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/tank_neutral.png -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/CowFarm.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/CowFarm.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/Europe.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/Europe.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/IceCream.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/IceCream.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/InADitch.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/InADitch.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/Infinity.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/Infinity.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/Islands.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/Islands.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/Islands2.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/Islands2.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/MtDoom.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/MtDoom.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/Prison.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/Prison.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/RealArt.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/RealArt.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/Sheet4.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/Sheet4.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/Spiral.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/Spiral.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/Squares.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/Squares.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/Volcano.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/Volcano.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/WaterBot.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/WaterBot.map20 -------------------------------------------------------------------------------- /engine/src/test/battlecode/world/resources/clearMap.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/test/battlecode/world/resources/clearMap.map20 -------------------------------------------------------------------------------- /client/visualizer/src/static/img/bullets/bullet_medium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/bullets/bullet_medium.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/Legacy/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/Legacy/upload.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/playback-stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/playback-stop.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/skip-backward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/skip-backward.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/skip-forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/skip-forward.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/Landscaper_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/Landscaper_red.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/Refinery_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/Refinery_blue.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/Vaporator_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/Vaporator_blue.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/Vaporator_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/Vaporator_red.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/archon_neutral.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/archon_neutral.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/gardener_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/gardener_blue.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/lumberjack_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/lumberjack_red.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/scout_neutral.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/scout_neutral.png -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/Hourglass.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/Hourglass.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/Showerhead.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/Showerhead.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/Toothpaste.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/Toothpaste.map20 -------------------------------------------------------------------------------- /engine/src/test/battlecode/instrumenter/sample/instrumentertest/Nothing.java: -------------------------------------------------------------------------------- 1 | package instrumentertest; 2 | 3 | /** 4 | * @author james 5 | */ 6 | public class Nothing {} 7 | -------------------------------------------------------------------------------- /frontend/public/bc20/speedscope/favicon-16x16.d02bd490.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/bc20/speedscope/favicon-16x16.d02bd490.png -------------------------------------------------------------------------------- /frontend/public/bc20/speedscope/favicon-32x32.c68a0a43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/frontend/public/bc20/speedscope/favicon-32x32.c68a0a43.png -------------------------------------------------------------------------------- /infrastructure/worker/box/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/infrastructure/worker/box/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/Legacy/go-next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/Legacy/go-next.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/green-previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/green-previous.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/playback-pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/playback-pause.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/playback-start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/playback-start.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/Drone_blue_carry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/Drone_blue_carry.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/Drone_red_carry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/Drone_red_carry.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/Fulfillment_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/Fulfillment_blue.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/Fulfillment_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/Fulfillment_red.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/Landscaper_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/Landscaper_blue.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/bullet_tree_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/bullet_tree_blue.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/bullet_tree_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/bullet_tree_red.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/gardener_neutral.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/gardener_neutral.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/lumberjack_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/lumberjack_blue.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/recruit_neutral.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/recruit_neutral.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/soldier_neutral.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/soldier_neutral.png -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/ALandDivided.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/ALandDivided.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/CentralLake.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/CentralLake.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/CentralSoup.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/CentralSoup.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/Constriction.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/Constriction.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/DoesNotExist.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/DoesNotExist.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/FourLakeLand.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/FourLakeLand.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/MoreCowbell.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/MoreCowbell.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/RandomSoup1.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/RandomSoup1.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/RandomSoup2.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/RandomSoup2.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/SoupOnTheSide.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/SoupOnTheSide.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/TheHighGround.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/TheHighGround.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/TwoLakeLand.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/TwoLakeLand.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/WateredDown.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/WateredDown.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/maptestsmall.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/maptestsmall.map20 -------------------------------------------------------------------------------- /engine/src/test/battlecode/instrumenter/resources/ValueA.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/test/battlecode/instrumenter/resources/ValueA.class -------------------------------------------------------------------------------- /engine/src/test/battlecode/instrumenter/resources/ValueB.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/test/battlecode/instrumenter/resources/ValueB.class -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/Legacy/go-previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/Legacy/go-previous.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/bullet_tree_neutral.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/bullet_tree_neutral.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/sprites/lumberjack_neutral.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/sprites/lumberjack_neutral.png -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/ChristmasInJuly.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/ChristmasInJuly.map20 -------------------------------------------------------------------------------- /backend/uwsgi-dev.ini: -------------------------------------------------------------------------------- 1 | [uwsgi] 2 | module=wsgi:application 3 | master=True 4 | home=venv 5 | vacuum=True 6 | max-requests=5000 7 | http-socket=:80 8 | processes=3 9 | harakiri=20 10 | -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/Legacy/playback-pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/Legacy/playback-pause.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/Legacy/playback-start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/Legacy/playback-start.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/Legacy/playback-stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/Legacy/playback-stop.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/Legacy/seek-backward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/Legacy/seek-backward.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/Legacy/seek-forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/Legacy/seek-forward.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/Legacy/skip-backward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/Legacy/skip-backward.png -------------------------------------------------------------------------------- /client/visualizer/src/static/img/controls/Legacy/skip-forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/client/visualizer/src/static/img/controls/Legacy/skip-forward.png -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/BeachFrontProperty.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/BeachFrontProperty.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/DidAMonkeyMakeThis.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/DidAMonkeyMakeThis.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/IsThisProcedural.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/IsThisProcedural.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/OmgThisIsProcedural.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/OmgThisIsProcedural.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/ProceduralConfirmed.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/ProceduralConfirmed.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/TwoForOneAndTwoForAll.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/TwoForOneAndTwoForAll.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/WhyDidntTheyUseEagles.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/WhyDidntTheyUseEagles.map20 -------------------------------------------------------------------------------- /engine/src/test/battlecode/instrumenter/resources/java.lang.Double.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/test/battlecode/instrumenter/resources/java.lang.Double.class -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/CosmicBackgroundRadiation.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/CosmicBackgroundRadiation.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/ClearlyTwelveHorsesInASalad.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/ClearlyTwelveHorsesInASalad.map20 -------------------------------------------------------------------------------- /engine/src/main/battlecode/world/resources/DisproportionatelySmallGap.map20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/battlecode/battlecode20/HEAD/engine/src/main/battlecode/world/resources/DisproportionatelySmallGap.map20 -------------------------------------------------------------------------------- /backend/templates/email/password_reset.html: -------------------------------------------------------------------------------- 1 |
Hello, {{ username|safe }}!
2 | 3 |4 | Click here to reset your password. Link 5 | expires in 24 hours. 6 |
7 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'battlecode-release' 2 | 3 | include 'engine', 'example-bots' 4 | include ":internal-test-bots" 5 | project(":internal-test-bots").projectDir = file("battlecode20-internal-test-bots") 6 | -------------------------------------------------------------------------------- /backend/uwsgi.ini: -------------------------------------------------------------------------------- 1 | [uwsgi] 2 | module=wsgi:application 3 | chdir=/code 4 | master=True 5 | pidfile=/tmp/project-master.pid 6 | vacuum=True 7 | max-requests=5000 8 | http-socket=:80 9 | processes=3 10 | harakiri=20 11 | -------------------------------------------------------------------------------- /backend/templates/email/verification.html: -------------------------------------------------------------------------------- 1 |Hello, {{ username|safe }}!
2 | 3 |Your password verification key is {{ verification_key }}.
4 |You can click here to verify your email.
5 | -------------------------------------------------------------------------------- /engine/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /lib 3 | /javadoc 4 | /common-javadoc 5 | /src/battlecode-server.iml 6 | *.rms 7 | *.jar 8 | *.swp 9 | *.DS_Store 10 | /testreport 11 | *~ 12 | /instrumented 13 | .gradle 14 | \#.profile# 15 | .idea -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # modify this file to change project properties 2 | teamA=examplefuncsplayer 3 | teamB=examplefuncsplayer 4 | maps=maptestsmall 5 | profilerEnabled=false 6 | source=src 7 | mapLocation=maps 8 | release_version=2020.2.0.3 9 | -------------------------------------------------------------------------------- /infrastructure/scrimmage.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM bc20-env 2 | 3 | # Install software dependencies 4 | RUN pip3 install --upgrade \ 5 | apscheduler \ 6 | requests 7 | 8 | COPY config.py util.py scrimmage.py app/ 9 | CMD /app/scrimmage.py 10 | -------------------------------------------------------------------------------- /engine/src/test/battlecode/instrumenter/sample/shared/SharedUtility.java: -------------------------------------------------------------------------------- 1 | package shared; 2 | 3 | /** 4 | * @author james 5 | */ 6 | public class SharedUtility { 7 | public static int theNumberSeven() { 8 | return 7; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /frontend/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: "airbnb", 3 | parser: "babel-eslint", 4 | 5 | env: { 6 | browser: true 7 | }, 8 | rules: { 9 | "react/jsx-filename-extension": [1, { extensions: [".js", ".jsx"] }] 10 | } 11 | }; 12 | -------------------------------------------------------------------------------- /schema/ts/index.ts: -------------------------------------------------------------------------------- 1 | import { battlecode as bc } from "./battlecode_generated"; 2 | import schema = bc.schema; 3 | export { schema }; 4 | 5 | export { flatbuffers } from 'flatbuffers'; 6 | 7 | // export { battlecode.schema as schema } from './battlecode_generated'; 8 | -------------------------------------------------------------------------------- /engine/src/test/battlecode/instrumenter/sample/instrumentertest/DoesntOverrideToString.java: -------------------------------------------------------------------------------- 1 | package instrumentertest; 2 | 3 | @SuppressWarnings("unused") 4 | public class DoesntOverrideToString { 5 | public String getToString() { 6 | return this.toString(); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /engine/src/test/battlecode/instrumenter/sample/instrumentertest/CallsMathRandom.java: -------------------------------------------------------------------------------- 1 | package instrumentertest; 2 | 3 | /** 4 | * @author james 5 | */ 6 | @SuppressWarnings("unused") 7 | public class CallsMathRandom { 8 | private static final double d = Math.random(); 9 | } 10 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Dec 07 21:59:50 EST 2019 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-bin.zip 7 | -------------------------------------------------------------------------------- /engine/src/test/battlecode/instrumenter/sample/instrumentertest/Reflection.java: -------------------------------------------------------------------------------- 1 | package instrumentertest; 2 | 3 | /** 4 | * @author james 5 | */ 6 | @SuppressWarnings("unused") 7 | public class Reflection { 8 | static { 9 | Reflection.class.getClassLoader(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /infrastructure/worker/box/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Dec 07 21:59:50 EST 2019 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-bin.zip 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /engine/src/test/battlecode/instrumenter/sample/instrumentertest/StringFormat.java: -------------------------------------------------------------------------------- 1 | package instrumentertest; 2 | 3 | /** 4 | * @author james 5 | */ 6 | @SuppressWarnings("unused") 7 | public class StringFormat { 8 | public static void run() { 9 | String s = String.format("Test %d", 1); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /infrastructure/worker/box/gradle.properties: -------------------------------------------------------------------------------- 1 | # modify this file to change project properties 2 | teamA=examplefuncsplayer 3 | teamB=examplefuncsplayer 4 | packageNameA=examplefuncsplayer 5 | packageNameB=examplefuncsplayer 6 | maps=maptestsmall 7 | source=src 8 | version=2020.0.1.2 9 | gpr.user=battlecodedownloadpackage 10 | -------------------------------------------------------------------------------- /infrastructure/tournament.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM bc20-env 2 | 3 | # Install software dependencies 4 | RUN pip3 install --upgrade \ 5 | requests 6 | 7 | COPY config.py util.py bracketlib.py team_pk team_names maps.json tournament_server.py app/ 8 | 9 | WORKDIR app 10 | CMD ./tournament_server.py 7 team_pk team_names maps.json 11 | -------------------------------------------------------------------------------- /engine/src/test/battlecode/instrumenter/sample/testplayerloopforever/RobotPlayer.java: -------------------------------------------------------------------------------- 1 | package testplayerloopforever; 2 | 3 | import battlecode.common.RobotController; 4 | 5 | /** 6 | * @author james 7 | */ 8 | public class RobotPlayer { 9 | public static void run(RobotController rc) { 10 | while (true) {} 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /client/playback/src/legacy/bench/run.ts: -------------------------------------------------------------------------------- 1 | import {readFileSync} from 'fs'; 2 | import {crunch} from '../simulator'; 3 | import {schema, flatbuffers} from 'battlecode-schema'; 4 | 5 | const wrapper = schema.GameWrapper.getRootAsGameWrapper( 6 | new flatbuffers.ByteBuffer(new Uint8Array(readFileSync('test.bc20'))) 7 | ); 8 | 9 | crunch(wrapper); 10 | -------------------------------------------------------------------------------- /engine/src/test/battlecode/instrumenter/sample/instrumentertest/UsesThrowable.java: -------------------------------------------------------------------------------- 1 | package instrumentertest; 2 | 3 | /** 4 | * @author james 5 | */ 6 | @SuppressWarnings("unused") 7 | public class UsesThrowable { 8 | public static void run() { 9 | Throwable t = new Exception(); 10 | t.printStackTrace(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /engine/src/test/battlecode/instrumenter/sample/instrumentertest/Outer.java: -------------------------------------------------------------------------------- 1 | // Javac will move this into the correct package in the build output 2 | package instrumentertest; 3 | 4 | /** 5 | * Test loading of inner classes. 6 | * @author james 7 | */ 8 | @SuppressWarnings("unused") 9 | public class Outer { 10 | public static class Inner {} 11 | } 12 | -------------------------------------------------------------------------------- /example-bots/README.md: -------------------------------------------------------------------------------- 1 | # Example Bots 2 | 3 | These bots are example bots for testing the game implementation. There should be lots of bots for different edge cases here. 4 | 5 | Note that this is NOT where we will do internal playtesting — anything in here will be open for all competitors to see, and we don't want them to see our really good internal test bots. 6 | -------------------------------------------------------------------------------- /client/playback/src/gen/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "moduleResolution": "node", 5 | "outDir": "../../out", 6 | "target": "es6", 7 | "typeRoots": [ 8 | "../../node_modules/@types" 9 | ], 10 | "lib": [ "es2016", "dom" ], 11 | }, 12 | "include": [ 13 | "**/*.ts", 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /engine/src/test/battlecode/instrumenter/sample/testplayerbytecodekotlin/RobotPlayer.kt: -------------------------------------------------------------------------------- 1 | @file:JvmName("RobotPlayer") 2 | @file:Suppress("PackageDirectoryMismatch") 3 | 4 | package testplayerbytecodekotlin 5 | 6 | import battlecode.common.RobotController 7 | 8 | fun run(@Suppress("UNUSED_PARAMETER") rc: RobotController) { 9 | 10 | (1..1000).toList() 11 | 12 | } -------------------------------------------------------------------------------- /engine/src/test/battlecode/instrumenter/sample/instrumentertest/OverridesToString.java: -------------------------------------------------------------------------------- 1 | package instrumentertest; 2 | 3 | @SuppressWarnings("unused") 4 | public class OverridesToString { 5 | public String getToString() { 6 | return this.toString(); 7 | } 8 | @Override 9 | public String toString() { 10 | return "foo"; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /client/visualizer/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | // TODO: is it really a good idea to have es5 as target and es2016 in the lib section?? 4 | "target": "es5", 5 | "strictNullChecks": true, 6 | "sourceMap": true, 7 | "lib": ["es2016", "dom"], 8 | "types": ["node"] 9 | }, 10 | "exclude": [ 11 | "node_modules" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /client/playback/out/simulator.d.ts: -------------------------------------------------------------------------------- 1 | import GameWorld from './gameworld'; 2 | import { schema } from 'battlecode-schema'; 3 | /** 4 | * A function that runs through a GameWrapper containing a single match, and 5 | * returns the state of the world at the end of the game. 6 | * 7 | * Intended for testing. 8 | */ 9 | export declare function crunch(game: schema.GameWrapper): GameWorld; 10 | -------------------------------------------------------------------------------- /specs/README.md: -------------------------------------------------------------------------------- 1 | # Specs 2 | 3 | Game specs are in `specs.md`, which is the source of truth. 4 | 5 | We're using `pandoc` to generate a pretty HTML version of the specs: 6 | 7 | ``` 8 | pandoc specs.md --self-contained --template template.html --toc -o specs.html --metadata pagetitle="Battlecode 2020 Specs" 9 | ``` 10 | 11 | You can install `pandoc` using your favorite package manager. 12 | -------------------------------------------------------------------------------- /engine/src/test/battlecode/instrumenter/sample/instrumentertest/OverridesHashCode.java: -------------------------------------------------------------------------------- 1 | package instrumentertest; 2 | 3 | /** 4 | * @author james 5 | */ 6 | @SuppressWarnings("unused") 7 | public class OverridesHashCode { 8 | public int getHashCode() { 9 | return this.hashCode(); 10 | } 11 | @Override 12 | public int hashCode() { 13 | return 57; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /engine/src/main/battlecode/instrumenter/profiler/ProfilerEventType.java: -------------------------------------------------------------------------------- 1 | package battlecode.instrumenter.profiler; 2 | 3 | public enum ProfilerEventType { 4 | OPEN("O"), CLOSE("C"); 5 | 6 | private final String value; 7 | 8 | ProfilerEventType(String value) { 9 | this.value = value; 10 | } 11 | 12 | public String getValue() { 13 | return value; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /client/.gitignore: -------------------------------------------------------------------------------- 1 | # .gitignore file for visualizer and playback 2 | # feel free to add additional local paths with brief explanation 3 | 4 | # installed npm modules 5 | */node_modules/ 6 | 7 | # bundled visualizer 8 | visualizer/bc20/ 9 | # built client 10 | dist/ 11 | 12 | # Generated test bc20 files 13 | examples/ 14 | 15 | # any battlecode files 16 | *.bc20 17 | 18 | # for mac users? 19 | **/.DS_Store -------------------------------------------------------------------------------- /example-bots/src/test/nothingbot/Sanity.java: -------------------------------------------------------------------------------- 1 | package nothingbot; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.assertEquals; 6 | 7 | /** 8 | * Test that the testing infrastructure works. 9 | * 10 | * Hooraaay. 11 | * 12 | * @author james 13 | */ 14 | public class Sanity { 15 | @Test 16 | public void testSanity() { 17 | assertEquals(1, 1); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /engine/src/main/battlecode/instrumenter/stream/EOFInputStream.java: -------------------------------------------------------------------------------- 1 | package battlecode.instrumenter.stream; 2 | 3 | import java.io.IOException; 4 | import java.io.InputStream; 5 | 6 | /** 7 | * Boring input stream. 8 | */ 9 | public class EOFInputStream extends InputStream { 10 | @Override 11 | public int read() throws IOException { 12 | throw new java.io.EOFException(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /client/playback/src/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "moduleResolution": "node", 5 | "outDir": "../out", 6 | "target": "es6", 7 | "declaration": true, 8 | "typeRoots": [ 9 | "../../node_modules/@types" 10 | ], 11 | "lib": [ "es2016", "dom" ], 12 | }, 13 | "include": [ 14 | "*.ts", 15 | ], 16 | "exclude": [ 17 | "legacy/**" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /engine/src/test/battlecode/instrumenter/sample/testplayerbytecode/RobotPlayer.java: -------------------------------------------------------------------------------- 1 | package testplayerbytecode; 2 | 3 | import battlecode.common.RobotController; 4 | 5 | /** 6 | * @author james 7 | */ 8 | public class RobotPlayer { 9 | @SuppressWarnings("unused") 10 | public static void run(RobotController rc) { 11 | byte[] b = new byte[1000]; 12 | System.arraycopy(b, 0, b, 0, 1000); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /engine/src/test/battlecode/instrumenter/sample/instrumentertest/IllegalMethodReference.java: -------------------------------------------------------------------------------- 1 | package instrumentertest; 2 | 3 | import java.util.Random; 4 | import java.util.function.Supplier; 5 | 6 | /** 7 | * @author james 8 | */ 9 | @SuppressWarnings("unused") 10 | public class IllegalMethodReference { 11 | // This is not allowed, since we can't currently implement it. 12 | Supplier