This commit is contained in:
Scott Erickson 2014-04-04 14:57:55 -07:00
commit abaf32fc7a
33 changed files with 724 additions and 148 deletions

View file

@ -5,7 +5,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
sending: "Enviando..."
cancel: "Cancelar"
save: "Salvar"
# create: "Create"
create: "Criar"
delay_1_sec: "1 segundo"
delay_3_sec: "3 segundos"
delay_5_sec: "5 segundos"
@ -13,13 +13,13 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
fork: "Fork"
play: "Jogar"
# units:
# second: "second"
# seconds: "seconds"
# minute: "minute"
# minutes: "minutes"
# hour: "hour"
# hours: "hours"
unidades:
second: "segundo"
seconds: "segundos"
minute: "minuto"
minutes: "minutos"
hour: "hora"
hours: "horas"
modal:
close: "Fechar"
@ -53,7 +53,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
login:
sign_up: "Criar conta"
log_in: "Entrar"
# logging_in: "Logging In"
logging_in: "Entrando"
log_out: "Sair"
recover: "Recuperar sua conta"

View file

@ -226,8 +226,8 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
skip_tutorial: "Пропуск (Esc)"
editor_config: "Настройки редактора"
editor_config_title: "Настройки редактора"
# editor_config_language_label: "Programming Language"
# editor_config_language_description: "Define the programming language you want to code in."
editor_config_language_label: "Язык программирования"
editor_config_language_description: "Определяет язык, на котором вы хотите программировать."
editor_config_keybindings_label: "Сочетания клавиш"
editor_config_keybindings_default: "По умолчанию (Ace)"
editor_config_keybindings_description: "Добавляет дополнительные сочетания, известные из популярных редакторов."
@ -264,8 +264,8 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
tip_patience: "Терпением ты обладать должен, юный падаван. - Yoda"
tip_documented_bug: "Документированный баг не является багом; это фича."
tip_impossible: "Это всегда кажется невозможным, пока не сделано. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
tip_talk_is_cheap: "Слова ничего не стоят. Покажи мне код. - Linus Torvalds"
tip_first_language: "Наиболее катастрофическая вещь, которую вы можете выучить - ваш первый язык программирования. - Alan Kay"
time_current: "Текущее:"
time_total: "Максимальное:"
time_goto: "Перейти на:"

View file

@ -3,4 +3,40 @@
max-width: 150px
white-space: nowrap
overflow: hidden
text-overflow: ellipsis
text-overflow: ellipsis
.bar rect
fill: steelblue
shape-rendering: crispEdges
.bar text
fill: #fff
.specialbar rect
fill: #555555
.axis path, .axis line
fill: none
stroke: #555555
shape-rendering: crispEdges
.humans-bar
fill: #bf3f3f
shape-rendering: crispEdges
.ogres-bar
fill: #3f44bf
shape-rendering: crispEdges
text
fill: #555555
.rank-text
font-size: 15px
fill: #555555
.humans-rank-text
fill: #bf3f3f
.ogres-rank-text
fill: #3f44bf

View file

@ -1,7 +1,7 @@
#my-matches-tab-view
.axis path, .axis line
fill: none
stroke: #000
stroke: #555
shape-rendering: crispEdges
.x.axis.path
display: none
@ -10,4 +10,20 @@
fill: none
stroke: steelblue
stroke-width: 1.5px
.humans-line
fill: none
stroke: #bf3f3f
stroke-width: 1.5px
.ogres-line
fill: none
stroke: #3f44bf
stroke-width: 1.5px
.axis text
stroke: none
fill: #555555
shape-rendering: crispEdges

View file

@ -135,8 +135,21 @@ module.exports = class LadderTabView extends CocoView
@leaderboards[team.id]?.destroy()
teamSession = _.find @sessions.models, (session) -> session.get('team') is team.id
@leaderboards[team.id] = new LeaderboardData(@level, team.id, teamSession)
@addResourceToLoad @leaderboards[team.id], 'leaderboard', 3
render: ->
super()
@$el.find('.histogram-display').each (i, el) =>
histogramWrapper = $(el)
team = _.find @teams, name: histogramWrapper.data('team-name')
histogramData = null
$.when(
$.get("/db/level/#{@level.get('slug')}/histogram_data?team=#{team.name.toLowerCase()}", (data) -> histogramData = data)
).then =>
@generateHistogram(histogramWrapper, histogramData, team.name.toLowerCase())
getRenderData: ->
ctx = super()
ctx.level = @level
@ -149,6 +162,82 @@ module.exports = class LadderTabView extends CocoView
ctx.onGPlus = application.gplusHandler.loggedIn
ctx
generateHistogram: (histogramElement, histogramData, teamName) ->
#renders twice, hack fix
if $("#"+histogramElement.attr("id")).has("svg").length then return
histogramData = histogramData.map (d) -> d*100
margin =
top: 20
right: 20
bottom: 30
left: 0
width = 300 - margin.left - margin.right
height = 125 - margin.top - margin.bottom
formatCount = d3.format(",.0")
x = d3.scale.linear().domain([-3000,6000]).range([0,width])
data = d3.layout.histogram().bins(x.ticks(20))(histogramData)
y = d3.scale.linear().domain([0,d3.max(data, (d) -> d.y)]).range([height,0])
#create the x axis
xAxis = d3.svg.axis().scale(x).orient("bottom").ticks(5).outerTickSize(0)
svg = d3.select("#"+histogramElement.attr("id")).append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform","translate(#{margin.left},#{margin.top})")
barClass = "bar"
if teamName.toLowerCase() is "ogres" then barClass = "ogres-bar"
if teamName.toLowerCase() is "humans" then barClass = "humans-bar"
bar = svg.selectAll(".bar")
.data(data)
.enter().append("g")
.attr("class",barClass)
.attr("transform", (d) -> "translate(#{x(d.x)},#{y(d.y)})")
bar.append("rect")
.attr("x",1)
.attr("width",width/20)
.attr("height", (d) -> height - y(d.y))
if @leaderboards[teamName].session?
playerScore = @leaderboards[teamName].session.get('totalScore') * 100
scorebar = svg.selectAll(".specialbar")
.data([playerScore])
.enter().append("g")
.attr("class","specialbar")
.attr("transform", "translate(#{x(playerScore)},#{y(9001)})")
scorebar.append("rect")
.attr("x",1)
.attr("width",3)
.attr("height",height - y(9001))
rankClass = "rank-text"
if teamName.toLowerCase() is "ogres" then rankClass = "rank-text ogres-rank-text"
if teamName.toLowerCase() is "humans" then rankClass = "rank-text humans-rank-text"
message = "#{histogramData.length} players"
if @leaderboards[teamName].session? then message="#{@leaderboards[teamName].myRank}/#{histogramData.length}"
svg.append("g")
.append("text")
.attr("class",rankClass)
.attr("y",0)
.attr("text-anchor","end")
.attr("x",width)
.text(message)
#Translate the x-axis up
svg.append("g")
.attr("class", "x axis")
.attr("transform","translate(0," + height + ")")
.call(xAxis)
consolidateFriends: ->
allFriendSessions = (@facebookFriendSessions or []).concat(@gplusFriendSessions or [])
sessions = _.uniq allFriendSessions, false, (session) -> session._id
@ -213,4 +302,4 @@ class LeaderboardData extends CocoClass
allResources: ->
resources = [@topPlayers, @playersAbove, @playersBelow]
return (r for r in resources when r)
return (r for r in resources when r)

View file

@ -117,12 +117,10 @@ module.exports = class MyMatchesTabView extends CocoView
@$el.find('.score-chart-wrapper').each (i, el) =>
scoreWrapper = $(el)
team = _.find @teams, name: scoreWrapper.data('team-name')
@generateScoreLineChart(scoreWrapper.attr('id'), team.scoreHistory)
@generateScoreLineChart(scoreWrapper.attr('id'), team.scoreHistory, team.name)
generateScoreLineChart: (wrapperID, scoreHistory) =>
generateScoreLineChart: (wrapperID, scoreHistory,teamName) =>
margin =
top: 20
right: 20
@ -167,10 +165,12 @@ module.exports = class MyMatchesTabView extends CocoView
.attr("dy", ".75em")
.style("text-anchor","end")
.text("Score")
lineClass = "line"
if teamName.toLowerCase() is "ogres" then lineClass = "ogres-line"
if teamName.toLowerCase() is "humans" then lineClass = "humans-line"
svg.append("path")
.datum(data)
.attr("class","line")
.attr("class",lineClass)
.attr("d",line)

View file

@ -1,6 +1,8 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<variables>
<version>1.0</version>
<version>1.2</version>
<author>GlenDC</author>
<copyright>CodeCombat.com © 2013-2014</copyright>
<github_url>https://github.com/codecombat/codecombat.git</github_url>
<github_ssh>git@github.com:codecombat/codecombat.git</github_ssh>
</variables>

View file

@ -4,21 +4,35 @@
<b32>
<nodejs>http://nodejs.org/dist/v0.10.25/node-v0.10.25-x86.msi</nodejs>
<ruby>http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.0.0-p353.exe?direct</ruby>
<python>http://www.python.org/ftp/python/2.7.6/python-2.7.6.msi</python>
<python>http://s3.amazonaws.com/CodeCombatLargeFiles/python-32.msi</python>
<vs12redist>http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x86.exe</vs12redist>
</b32>
<b64>
<nodejs>http://nodejs.org/dist/v0.10.25/x64/node-v0.10.25-x64.msi</nodejs>
<ruby>http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.0.0-p353-x64.exe?direct</ruby>
<python>http://www.python.org/ftp/python/2.7.6/python-2.7.6.amd64.msi</python>
<python>http://s3.amazonaws.com/CodeCombatLargeFiles/python-64.msi</python>
<winsdk>http://download.microsoft.com/download/A/6/A/A6AC035D-DA3F-4F0C-ADA4-37C8E5D34E3D/winsdk_web.exe</winsdk>
<vs12redist>http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe</vs12redist>
</b64>
<gitbash>https://msysgit.googlecode.com/files/Git-1.8.5.2-preview20131230.exe</gitbash>
<general>
<gitbash>https://msysgit.googlecode.com/files/Git-1.8.5.2-preview20131230.exe</gitbash>
<vs10redist>http://download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe</vs10redist>
</general>
</general>
<win7>
<b32>mongodb=http://fastdl.mongodb.org/win32/mongodb-win32-i386-2.5.4.zip</b32>
<b64>mongodb=http://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-2.5.4.zip</b64>
</win7>
<vista>
<b32>mongodb=http://fastdl.mongodb.org/win32/mongodb-win32-i386-2.5.4.zip</b32>
<b64>mongodb=http://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2.5.4.zip</b64>
</vista>
<Win7>
<b32>
<mongodb>http://fastdl.mongodb.org/win32/mongodb-win32-i386-2.5.4.zip</mongodb>
</b32>
<b64>
<mongodb>http://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-2.5.4.zip</mongodb>
</b64>
</Win7>
<Vista>
<b32>
<mongodb>http://fastdl.mongodb.org/win32/mongodb-win32-i386-2.5.4.zip</mongodb>
</b32>
<b64>
<mongodb>http://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2.5.4.zip</mongodb>
</b64>
</Vista>
</variables>

View file

@ -4,4 +4,4 @@
4) Having questions/suggestions? Talk with us on HipChat via CodeCombat.com
You can find a step-by-step guide for this installation on our wiki.
https://github.com/codecombat/codecombat/wiki/<guide_path>
github.com/codecombat/codecombat/wiki/Setup-on-Windows:-a-step-by-step-guide

View file

@ -15,10 +15,11 @@
<sks>Sind die für CodeCombat benötigten Programme bereits installiert?</sks>
<skq>Wir empfehlen Ihnen, mit „Nein“ zu antorten, falls Sie unsicher sind.</skq>
<skc>Überspringe Installation der Programme...</skc>
<1>Ohne Software von Drittanbietern könnte CodeCombat nicht entwickelt werden.</1>
<2>Aus diesem Grund müssen Sie diese Software installieren,</2>
<3>um sich in der Community zu engagieren.</3>
<4>Wenn Sie ein Programm bereits installiert haben, brechen Sie die Installation bitte ab.</4>
<s1>Ohne Software von Drittanbietern könnte CodeCombat nicht entwickelt werden.</s1>
<s2>Aus diesem Grund müssen Sie diese Software installieren,</s2>
<s3>um sich in der Community zu engagieren.</s3>
<s4>Wenn Sie ein Programm bereits installiert haben, brechen Sie die Installation bitte ab.</s4>
<winpath>Make sure to select the option that adds the application to your Windows Path, if the option is available.</winpath>
<prefix>Haben Sie bereits die aktuellste Version von</prefix>
<sufix>installiert?</sufix>
<downloading>wird heruntergeladen...</downloading>
@ -30,16 +31,16 @@
</install>
<github>
<intro>
<opensource>Wie Du bereits weißt, ist CodeCombat Open Source.
<online>Unser Quellcode ist komplett auf Github.
<manual>Wenn Du möchtest, kannst du das komplette Git Repository selbst herunterladen und nach deinen wünschen einrichten.
<norec>Allerdings empfehlen wir, dass du den Prozess statt dessen uns überlässt.
<opensource>Wie Du bereits weißt, ist CodeCombat Open Source.</opensource>
<online>Unser Quellcode ist komplett auf Github.</online>
<manual>Wenn Du möchtest, kannst du das komplette Git Repository selbst herunterladen und nach deinen wünschen einrichten.</manual>
<norec>Allerdings empfehlen wir, dass du den Prozess statt dessen uns überlässt.</norec>
</intro>
<skip>
<question>Willst du das lokale Git Setup selbst vornehmen?
<consequence>Bit vergewissere dich, dass das Repository korrekt heruntergeladen wurde, bevor du fortfährst.
<donotclose>Bitte schließe dieses Fenster nicht.
<wait>Wenn du fertig bist, drücke eine beliebige Taste zum Fortfahren...
<question>Willst du das lokale Git Setup selbst vornehmen?</question>
<consequence>Bit vergewissere dich, dass das Repository korrekt heruntergeladen wurde, bevor du fortfährst.</consequence>
<donotclose>Bitte schließe dieses Fenster nicht.</donotclose>
<wait>Wenn du fertig bist, drücke eine beliebige Taste zum Fortfahren...</wait>
</skip>
<process>
<path>Gebe bitte den kompletten Pfad zu deinem CodeCombat Git Repository ein: </path>
@ -62,7 +63,7 @@
<script>Preparing the automatic startup script for you...</script>
</npm>
<error>
<path>Dieser Pfad existiert bereits. Willst du ihn wirklich überschreiben?<path>
<path>Dieser Pfad existiert bereits. Willst du ihn wirklich überschreiben?</path>
<exist>Dieser Pfad exisitert nicht. Bitte versuche es erneut...</exist>
</error>
<end>
@ -71,11 +72,11 @@
<readme>Willst du das README lesen, um weitere Informationen zu erhalten?</readme>
</end>
<start>
<1>Von nun an kannst du die Entwicklungsumgebung starten unter</1>
<2>einmal mit der Maus klicken.</2>
<3> 1) Einfach Doppelklicken</3>
<4>und warten bis die Entwicklungsumgebung fertig geladen hat.</4>
<5> 2) Jetzt 'localhost:3000' in deinem bevorzugten Browser aufrufen.</5>
<6>Fertig. Du bist nun bereit, bei CodeCombat mitzuarbeiten!</6>
<s1>Von nun an kannst du die Entwicklungsumgebung starten unter</s1>
<s2>einmal mit der Maus klicken.</s2>
<s3> 1) Einfach Doppelklicken</s3>
<s4>und warten bis die Entwicklungsumgebung fertig geladen hat.</s4>
<s5> 2) Jetzt 'localhost:3000' in deinem bevorzugten Browser aufrufen.</s5>
<s6>Fertig. Du bist nun bereit, bei CodeCombat mitzuarbeiten!</s6>
</start>
</variables>

View file

@ -15,10 +15,11 @@
<sks>Have you already installed all the software needed for CodeCombat?</sks>
<skq>We recommand that you reply negative in case you're not sure.</skq>
<skc>Skipping the installation of the software...</skc>
<1>CodeCombat couldn't be developed without third-party software.</1>
<2>That's why you'll need to install this software,</2>
<3>in order to start contributing to our community.</3>
<4>Cancel the installation if you already have the application.</4>
<s1>CodeCombat couldn't be developed without third-party software.</s1>
<s2>That's why you'll need to install this software,</s2>
<s3>in order to start contributing to our community.</s3>
<s4>Cancel the installation if you already have the application.</s4>
<winpath>Make sure to select the option that adds the application to your Windows Path, if the option is available.</winpath>
<prefix>Do you already have the latest version of</prefix>
<sufix>installed?</sufix>
<downloading>is downloading...</downloading>
@ -71,11 +72,11 @@
<readme>Do you want to read the README for more information?</readme>
</end>
<start>
<1>From now on you can start the dev. environment at</1>
<2>the touch of a single mouse click.</2>
<3> 1) Just double click</3>
<4> and let the environment start up.</4>
<5> 2) Now just open 'localhost:3000' in your prefered browser.</5>
<6>That's it, you're now ready to start working on CodeCombat!</6>
<s1>From now on you can start the dev. environment at</s1>
<s2>the touch of a single mouse click.</s2>
<s3> 1) Just double click</s3>
<s4> and let the environment start up.</s4>
<s5> 2) Now just open 'localhost:3000' in your prefered browser.</s5>
<s6>That's it, you're now ready to start working on CodeCombat!</s6>
</start>
</variables>

View file

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<variables>
<global>
<native>français</native>
<intro>From now on we'll send our feedback in English!</intro>
</global>
<install>
<system>
<bit>-bit computer detected.</bit>
<prefix>The operating system</prefix>
<sufix>was detected.</sufix>
<xp>We don't support Windows XP, installation cancelled.</xp>
</system>
<process>
<sks>Have you already installed all the software needed for CodeCombat?</sks>
<skq>We recommand that you reply negative in case you're not sure.</skq>
<skc>Skipping the installation of the software...</skc>
<s1>CodeCombat couldn't be developed without third-party software.</s1>
<s2>That's why you'll need to install this software,</s2>
<s3>in order to start contributing to our community.</s3>
<s4>Cancel the installation if you already have the application.</s4>
<winpath>Make sure to select the option that adds the application to your Windows Path, if the option is available.</winpath>
<prefix>Do you already have the latest version of</prefix>
<sufix>installed?</sufix>
<downloading>is downloading...</downloading>
<installing>is installing...</installing>
<unzipping>is unzipping...</unzipping>
<cleaning>is cleaning...</cleaning>
<mongodbpath>Please define the full path where mongodb should be installed</mongodbpath>
</process>
</install>
<github>
<intro>
<opensource>CodeCombat is opensource, like you already know.</opensource>
<online>All our sourcecode can be found online at Github.</online>
<manual>You can choose to do the entire Git setup yourself.</manual>
<norec>However we recommend that you instead let us handle it instead.</norec>
</intro>
<skip>
<question>Do you want to do the Local Git setup manually yourself?</question>
<consequence>Make sure you have correctly setup your repository before processing.</consequence>
<donotclose>Do not close this window please.</donotclose>
<wait>When you're ready, press any key to continue...</wait>
</skip>
<process>
<path>Please give the full path of your CodeCombat git repository: </path>
<checkout>Please enter the full path where you want to install your CodeCombat environment</checkout>
<bashi>This installation requires Git Bash.</bashi>
<bashp64>Git bash is by default installed at 'C:\Program Files (x86)\Git'.</bashp64>
<bashp32>Git bash is by default installed at 'C:\Program Files\Git'.</bashp32>
<bashq>Please enter the full path where git bash is installed or just press enter if it's in the default location</bashq>
<ssh>Do you want to checkout the repository via ssh?</ssh>
</process>
</github>
<npm>
<install>Installing bower, brunch, nodemon and sendwithus...</install>
<binstall>Installing bower packages...</binstall>
<sass>Installing sass...</sass>
<npm>Installing npm...</npm>
<brnch>Starting brunch....</brnch>
<mongodb>Setting up a MongoDB database for you...</mongodb>
<db>Downloading the last version of the CodeCombat database...</db>
<script>Preparing the automatic startup script for you...</script>
</npm>
<error>
<path>That path already exists, are you sure you want to overwrite it?</path>
<exist>That path doesn't exist. Please try again...</exist>
</error>
<end>
<succesfull>The setup of the CodeCombat Dev. Environment was succesfull.</succesfull>
<thankyou>Thank you already for your contribution and see you soon.</thankyou>
<readme>Do you want to read the README for more information?</readme>
</end>
<start>
<s1>From now on you can start the dev. environment at</s1>
<s2>the touch of a single mouse click.</s2>
<s3> 1) Just double click</s3>
<s4> and let the environment start up.</s4>
<s5> 2) Now just open 'localhost:3000' in your prefered browser.</s5>
<s6>That's it, you're now ready to start working on CodeCombat!</s6>
</start>
</variables>

View file

@ -1,3 +1,7 @@
en
nl
de
de
fr
zh
zh-HANT
zh-HANS

View file

@ -15,10 +15,11 @@
<sks>Heb je alle benodige software al geinstalleerd?</sks>
<skq>We raden aan dat je negatief antwoord indien je niet zeker bent.</skq>
<skc>De installatie van software wordt geanulleerd...</skc>
<1>CodeCombat kon niet worden ontwikkeld zonder third-party software.</1>
<2>Dat is waarom je deze software moet installeren,</2>
<3>zodat je je kan beginnen met het bijdragen tot onze gemeenschap.</3>
<4>Annuleer de installatie als je de applicatie al hebt.</4>
<s1>CodeCombat kon niet worden ontwikkeld zonder third-party software.</s1>
<s2>Dat is waarom je deze software moet installeren,</s2>
<s3>zodat je je kan beginnen met het bijdragen tot onze gemeenschap.</s3>
<s4>Annuleer de installatie als je de applicatie al hebt.</s4>
<winpath>Zorg er zeker voor dat je de optie selecteert dat de applicatie aan je Windows Path toevoegt, als de optie beschikbaar is.</winpath>
<prefix>Heb je al de laatste versie van</prefix>
<sufix>geinstalleerd?</sufix>
<downloading>is aan het downloaden...</downloading>
@ -71,11 +72,11 @@
<readme>Wil je de LEESMIJ lezen voor meer informatie?</readme>
</end>
<start>
<1>Vanaf nu kan je de ontwikkelings omgeving opstarten</1>
<2>met het gemak van een enkele muisklik.</2>
<3> 1) Dubbelklik op</3>
<4>en laat de omgeving opstarten.</4>
<5> 2) Nu kan je 'localhost:3000' openen in je browser naar voorkeur.</5>
<6>Dat is het, je bent nu klaar om te starten met je werk aan CodeCombat.</6>
<s1>Vanaf nu kan je de ontwikkelings omgeving opstarten</s1>
<s2>met het gemak van een enkele muisklik.</s2>
<s3> 1) Dubbelklik op</s3>
<s4>en laat de omgeving opstarten.</s4>
<s5> 2) Nu kan je 'localhost:3000' openen in je browser naar voorkeur.</s5>
<s6>Dat is het, je bent nu klaar om te starten met je werk aan CodeCombat.</s6>
</start>
</variables>

View file

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<variables>
<global>
<native>简体中文</native>
<intro>From now on we'll send our feedback in English!</intro>
</global>
<install>
<system>
<bit>-bit computer detected.</bit>
<prefix>The operating system</prefix>
<sufix>was detected.</sufix>
<xp>We don't support Windows XP, installation cancelled.</xp>
</system>
<process>
<sks>Have you already installed all the software needed for CodeCombat?</sks>
<skq>We recommand that you reply negative in case you're not sure.</skq>
<skc>Skipping the installation of the software...</skc>
<s1>CodeCombat couldn't be developed without third-party software.</s1>
<s2>That's why you'll need to install this software,</s2>
<s3>in order to start contributing to our community.</s3>
<s4>Cancel the installation if you already have the application.</s4>
<winpath>Make sure to select the option that adds the application to your Windows Path, if the option is available.</winpath>
<prefix>Do you already have the latest version of</prefix>
<sufix>installed?</sufix>
<downloading>is downloading...</downloading>
<installing>is installing...</installing>
<unzipping>is unzipping...</unzipping>
<cleaning>is cleaning...</cleaning>
<mongodbpath>Please define the full path where mongodb should be installed</mongodbpath>
</process>
</install>
<github>
<intro>
<opensource>CodeCombat is opensource, like you already know.</opensource>
<online>All our sourcecode can be found online at Github.</online>
<manual>You can choose to do the entire Git setup yourself.</manual>
<norec>However we recommend that you instead let us handle it instead.</norec>
</intro>
<skip>
<question>Do you want to do the Local Git setup manually yourself?</question>
<consequence>Make sure you have correctly setup your repository before processing.</consequence>
<donotclose>Do not close this window please.</donotclose>
<wait>When you're ready, press any key to continue...</wait>
</skip>
<process>
<path>Please give the full path of your CodeCombat git repository: </path>
<checkout>Please enter the full path where you want to install your CodeCombat environment</checkout>
<bashi>This installation requires Git Bash.</bashi>
<bashp64>Git bash is by default installed at 'C:\Program Files (x86)\Git'.</bashp64>
<bashp32>Git bash is by default installed at 'C:\Program Files\Git'.</bashp32>
<bashq>Please enter the full path where git bash is installed or just press enter if it's in the default location</bashq>
<ssh>Do you want to checkout the repository via ssh?</ssh>
</process>
</github>
<npm>
<install>Installing bower, brunch, nodemon and sendwithus...</install>
<binstall>Installing bower packages...</binstall>
<sass>Installing sass...</sass>
<npm>Installing npm...</npm>
<brnch>Starting brunch....</brnch>
<mongodb>Setting up a MongoDB database for you...</mongodb>
<db>Downloading the last version of the CodeCombat database...</db>
<script>Preparing the automatic startup script for you...</script>
</npm>
<error>
<path>That path already exists, are you sure you want to overwrite it?</path>
<exist>That path doesn't exist. Please try again...</exist>
</error>
<end>
<succesfull>The setup of the CodeCombat Dev. Environment was succesfull.</succesfull>
<thankyou>Thank you already for your contribution and see you soon.</thankyou>
<readme>Do you want to read the README for more information?</readme>
</end>
<start>
<s1>From now on you can start the dev. environment at</s1>
<s2>the touch of a single mouse click.</s2>
<s3> 1) Just double click</s3>
<s4> and let the environment start up.</s4>
<s5> 2) Now just open 'localhost:3000' in your prefered browser.</s5>
<s6>That's it, you're now ready to start working on CodeCombat!</s6>
</start>
</variables>

View file

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<variables>
<global>
<native>繁体中文</native>
<intro>From now on we'll send our feedback in English!</intro>
</global>
<install>
<system>
<bit>-bit computer detected.</bit>
<prefix>The operating system</prefix>
<sufix>was detected.</sufix>
<xp>We don't support Windows XP, installation cancelled.</xp>
</system>
<process>
<sks>Have you already installed all the software needed for CodeCombat?</sks>
<skq>We recommand that you reply negative in case you're not sure.</skq>
<skc>Skipping the installation of the software...</skc>
<s1>CodeCombat couldn't be developed without third-party software.</s1>
<s2>That's why you'll need to install this software,</s2>
<s3>in order to start contributing to our community.</s3>
<s4>Cancel the installation if you already have the application.</s4>
<winpath>Make sure to select the option that adds the application to your Windows Path, if the option is available.</winpath>
<prefix>Do you already have the latest version of</prefix>
<sufix>installed?</sufix>
<downloading>is downloading...</downloading>
<installing>is installing...</installing>
<unzipping>is unzipping...</unzipping>
<cleaning>is cleaning...</cleaning>
<mongodbpath>Please define the full path where mongodb should be installed</mongodbpath>
</process>
</install>
<github>
<intro>
<opensource>CodeCombat is opensource, like you already know.</opensource>
<online>All our sourcecode can be found online at Github.</online>
<manual>You can choose to do the entire Git setup yourself.</manual>
<norec>However we recommend that you instead let us handle it instead.</norec>
</intro>
<skip>
<question>Do you want to do the Local Git setup manually yourself?</question>
<consequence>Make sure you have correctly setup your repository before processing.</consequence>
<donotclose>Do not close this window please.</donotclose>
<wait>When you're ready, press any key to continue...</wait>
</skip>
<process>
<path>Please give the full path of your CodeCombat git repository: </path>
<checkout>Please enter the full path where you want to install your CodeCombat environment</checkout>
<bashi>This installation requires Git Bash.</bashi>
<bashp64>Git bash is by default installed at 'C:\Program Files (x86)\Git'.</bashp64>
<bashp32>Git bash is by default installed at 'C:\Program Files\Git'.</bashp32>
<bashq>Please enter the full path where git bash is installed or just press enter if it's in the default location</bashq>
<ssh>Do you want to checkout the repository via ssh?</ssh>
</process>
</github>
<npm>
<install>Installing bower, brunch, nodemon and sendwithus...</install>
<binstall>Installing bower packages...</binstall>
<sass>Installing sass...</sass>
<npm>Installing npm...</npm>
<brnch>Starting brunch....</brnch>
<mongodb>Setting up a MongoDB database for you...</mongodb>
<db>Downloading the last version of the CodeCombat database...</db>
<script>Preparing the automatic startup script for you...</script>
</npm>
<error>
<path>That path already exists, are you sure you want to overwrite it?</path>
<exist>That path doesn't exist. Please try again...</exist>
</error>
<end>
<succesfull>The setup of the CodeCombat Dev. Environment was succesfull.</succesfull>
<thankyou>Thank you already for your contribution and see you soon.</thankyou>
<readme>Do you want to read the README for more information?</readme>
</end>
<start>
<s1>From now on you can start the dev. environment at</s1>
<s2>the touch of a single mouse click.</s2>
<s3> 1) Just double click</s3>
<s4> and let the environment start up.</s4>
<s5> 2) Now just open 'localhost:3000' in your prefered browser.</s5>
<s6>That's it, you're now ready to start working on CodeCombat!</s6>
</start>
</variables>

View file

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<variables>
<global>
<native>中文</native>
<intro>From now on we'll send our feedback in English!</intro>
</global>
<install>
<system>
<bit>-bit computer detected.</bit>
<prefix>The operating system</prefix>
<sufix>was detected.</sufix>
<xp>We don't support Windows XP, installation cancelled.</xp>
</system>
<process>
<sks>Have you already installed all the software needed for CodeCombat?</sks>
<skq>We recommand that you reply negative in case you're not sure.</skq>
<skc>Skipping the installation of the software...</skc>
<s1>CodeCombat couldn't be developed without third-party software.</s1>
<s2>That's why you'll need to install this software,</s2>
<s3>in order to start contributing to our community.</s3>
<s4>Cancel the installation if you already have the application.</s4>
<winpath>Make sure to select the option that adds the application to your Windows Path, if the option is available.</winpath>
<prefix>Do you already have the latest version of</prefix>
<sufix>installed?</sufix>
<downloading>is downloading...</downloading>
<installing>is installing...</installing>
<unzipping>is unzipping...</unzipping>
<cleaning>is cleaning...</cleaning>
<mongodbpath>Please define the full path where mongodb should be installed</mongodbpath>
</process>
</install>
<github>
<intro>
<opensource>CodeCombat is opensource, like you already know.</opensource>
<online>All our sourcecode can be found online at Github.</online>
<manual>You can choose to do the entire Git setup yourself.</manual>
<norec>However we recommend that you instead let us handle it instead.</norec>
</intro>
<skip>
<question>Do you want to do the Local Git setup manually yourself?</question>
<consequence>Make sure you have correctly setup your repository before processing.</consequence>
<donotclose>Do not close this window please.</donotclose>
<wait>When you're ready, press any key to continue...</wait>
</skip>
<process>
<path>Please give the full path of your CodeCombat git repository: </path>
<checkout>Please enter the full path where you want to install your CodeCombat environment</checkout>
<bashi>This installation requires Git Bash.</bashi>
<bashp64>Git bash is by default installed at 'C:\Program Files (x86)\Git'.</bashp64>
<bashp32>Git bash is by default installed at 'C:\Program Files\Git'.</bashp32>
<bashq>Please enter the full path where git bash is installed or just press enter if it's in the default location</bashq>
<ssh>Do you want to checkout the repository via ssh?</ssh>
</process>
</github>
<npm>
<install>Installing bower, brunch, nodemon and sendwithus...</install>
<binstall>Installing bower packages...</binstall>
<sass>Installing sass...</sass>
<npm>Installing npm...</npm>
<brnch>Starting brunch....</brnch>
<mongodb>Setting up a MongoDB database for you...</mongodb>
<db>Downloading the last version of the CodeCombat database...</db>
<script>Preparing the automatic startup script for you...</script>
</npm>
<error>
<path>That path already exists, are you sure you want to overwrite it?</path>
<exist>That path doesn't exist. Please try again...</exist>
</error>
<end>
<succesfull>The setup of the CodeCombat Dev. Environment was succesfull.</succesfull>
<thankyou>Thank you already for your contribution and see you soon.</thankyou>
<readme>Do you want to read the README for more information?</readme>
</end>
<start>
<s1>From now on you can start the dev. environment at</s1>
<s2>the touch of a single mouse click.</s2>
<s3> 1) Just double click</s3>
<s4> and let the environment start up.</s4>
<s5> 2) Now just open 'localhost:3000' in your prefered browser.</s5>
<s6>That's it, you're now ready to start working on CodeCombat!</s6>
</start>
</variables>

View file

@ -6,8 +6,8 @@ if NOT exist "%temp_directory%" (
md %temp_directory%
)
call get_local_text install-process-prefix
call get_local_text install-process-sufix
call get_local_text install_process_prefix install process prefix
call get_local_text install_process_sufix install process sufix
call ask_question "!install_process_prefix! %1 !install_process_sufix!"
@ -18,7 +18,7 @@ if "%result%"=="true" (
call print_dashed_seperator
call get_extension %2 download_extension
call get_local_text install-process-downloading
call get_local_text install_process_downloading install process downloading
echo %1 !install_process_downloading!
set "install_file=!temp_directory!%1.!download_extension!"
%curl_app% -k %2 -o !install_file!
@ -34,10 +34,10 @@ if "%download_extension%"=="zip" (
goto:get_mongodb_path
:get_mongodb_path
call get_local_text install-process-mongodbpath
call get_local_text install_process_mongodbpath install process mongodbpath
set /p "mongodb_path=!install_process_mongodbpath!: "
if exist "%mongodb_path%" (
call get_local_text error-path
call get_local_text error_path error path
call ask_question "!error_path!"
if "!result!"=="false" (
call print_dashed_seperator
@ -52,14 +52,14 @@ if "%download_extension%"=="zip" (
goto:clean_up
)
call get_local_text install-process-installing
call get_local_text install_process_installing install process installing
echo %1 !install_process_installing!
echo.
start /WAIT !install_file!
goto:clean_up
:clean_up
call get_local_text install-process-cleaning
call get_local_text install_process_cleaning install process cleaning
echo %1 !install_process_cleaning!
rmdir /s /q "!temp_directory!"
goto:exit_installation

View file

@ -1,16 +1,16 @@
call print_install_header
call print_dashed_seperator
call get_local_text install-process-sks
call get_local_text install_process_sks install process sks
echo !install_process_sks!
call get_local_text install-process-skq
call get_local_text install_process_skq install process skq
call ask_question "!install_process_skq!"
call print_dashed_seperator
if "%result%"=="true" (
call get_local_text install-process-skc
call get_local_text install_process_skc install process skc
echo !install_process_skc!
call print_dashed_seperator
goto:exit_setup
@ -20,22 +20,27 @@ call get_system_information
call print_dashed_seperator
if %system_info_os% == XP (
call get_local_text install-system-xp
call get_local_text install_system_xp install system xp
echo !install_system_xp!
call print_exit
)
call get_category ..\\config\\downloads.coco downloads download_names downloads_count general-general general-%system_info_bit% %system_info_os%-%system_info_bit%
call get_variables ..\\config\\downloads.coco downloads download_names downloads_count 0 general general
call get_variables ..\\config\\downloads.coco downloads download_names downloads_count 2 %system_info_os% b%system_info_bit%
call get_variables ..\\config\\downloads.coco downloads download_names downloads_count 3 general b%system_info_bit%
call get_local_text install-process-1
call get_local_text install-process-2
call get_local_text install-process-3
call get_local_text install-process-4
call get_local_text install_process_s1 install process s1
call get_local_text install_process_s2 install process s2
call get_local_text install_process_s3 install process s3
call get_local_text install_process_s4 install process s4
call get_local_text install_process_winpath install process winpath
echo !install_process_1!
echo !install_process_2!
echo !install_process_3!
echo !install_process_4!
echo !install_process_s1!
echo !install_process_s2!
echo !install_process_s3!
echo !install_process_s4!
echo.
echo !install_process_winpath!
call print_dashed_seperator

View file

@ -1 +1,3 @@
call run_script .\get_var.ps1 ..\config\config.coco %1
for /F "delims=" %%F in ('call run_script .\\get_var.ps1 ..\\config\\config.coco %1') do (
set "%1=%%F"
)

View file

@ -1,3 +1,3 @@
call run_script .\get_var.ps1 ..\\config\\downloads.coco %2 %3 %4 %5 %6 > var.tmp
set /p %1= < var.tmp
del /q var.tmp
for /F "delims=" %%F in ('call run_script .\\get_var.ps1 ..\\config\\downloads.coco %2 %3 %4 %5') do (
set "%1=%%F"
)

View file

@ -1,3 +1,3 @@
for /f "delims=" %%a in ('..\\utilities\\get_extension.exe %1 %2') do (
%%a
for /F "delims=" %%F in ('call run_script .\\get_extension.ps1 %1') do (
set "%2=%%F"
)

View file

@ -0,0 +1,18 @@
$url = ($args[0].ToLower())
if($url.Contains("zip"))
{
Write-Host "zip"
}
elseif($url.Contains("exe"))
{
Write-Host "exe"
}
elseif($url.Contains("msi"))
{
Write-Host "msi"
}
elseif($url.Contains("tar.gz"))
{
Write-Host "tar.gz"
}

View file

@ -1 +1 @@
call get_text %language_id% %1 %2 %3 %4 %5
call get_text !language_id! %1 %2 %3 %4 %5

View file

@ -16,15 +16,15 @@ if "%version%" == "6.3" ( call:set_os Win7 )
goto:end
:set_bit
call get_local_text install-system-bit
call get_local_text install_system_bit install system bit
set system_info_bit=%~1
echo %system_info_bit%%install_system_bit%
goto:eof
:set_os
set system_info_os=%~1
call get_local_text install-system-prefix
call get_local_text install-system-sufix
call get_local_text install_system_prefix install system prefix
call get_local_text install_system_sufix install system sufix
echo %install_system_prefix% %system_info_os% %install_system_sufix%
goto:eof

View file

@ -1,3 +1,3 @@
call run_script .\get_var.ps1 ..\\localisation\\%1.coco %3 %4 %5 %6 %7 > var.tmp
set /p %2= < var.tmp
del /q var.tmp
for /F "delims=" %%F in ('call run_script .\\get_var.ps1 ..\\localisation\\%1.coco %3 %4 %5 %6') do (
set "%2=%%F"
)

View file

@ -1,17 +1,27 @@
$xml_file = [xml](get-content $args[0])
if($args.count -eq 3)
if($args.count -eq 2)
{
cmd /c "set_var.bat" ($args[1]) ($xml_file.variables.($args[2]))
$var_output = ($xml_file.variables.($args[1]))
}
elseif($args.count -eq 3)
{
$var_output = ($xml_file.variables.($args[1]).($args[2]))
}
elseif($args.count -eq 4)
{
cmd /c "set_var.bat" ($args[1]) ($xml_file.variables.($args[2]).($args[3]))
$var_output = ($xml_file.variables.($args[1]).($args[2]).($args[3]))
}
elseif($args.count -eq 5)
{
cmd /c "set_var.bat" ($args[1]) ($xml_file.variables.($args[2]).($args[3]).($args[4]))
$var_output = ($xml_file.variables.($args[1]).($args[2]).($args[3]).($args[4]))
}
elseif($args.count -eq 6)
{
cmd /c "set_var.bat" ($args[1]) ($xml_file.variables.($args[2]).($args[3]).($args[4]).($args[5]))
}
$var_output = ($xml_file.variables.($args[1]).($args[2]).($args[3]).($args[4]).($args[5]))
}
elseif($args.count -eq 7)
{
$var_output = ($xml_file.variables.($args[1]).($args[2]).($args[3]).($args[4]).($args[5]).($args[6]))
}
Write-Host "$var_output"

View file

@ -0,0 +1,4 @@
set count=0
for /F "delims=" %%F in ('call run_script.bat .\\get_variables.ps1 %*') do (
%%F
)

View file

@ -0,0 +1,33 @@
$xml_file = [xml](get-content $args[0])
$arr_value = $args[1]
$arr_name = $args[2]
$arr_counter = $args[3]
$counter = $args[4]
if($args.count -eq 6)
{
$root = $xml_file.variables.($args[5])
}
elseif($args.count -eq 7)
{
$root = $xml_file.variables.($args[5]).($args[6])
}
elseif($args.count -eq 8)
{
$root = $xml_file.variables.($args[5]).($args[6]).($args[7])
}
elseif($args.count -eq 9)
{
$nodes = $xml_file.variables.($args[5]).($args[6]).($args[7]).($args[8])
}
foreach ($node in $root.ChildNodes)
{
$counter += 1
$value = $node.InnerText
$name = $node.Name
Write-Host set "$arr_value[$counter]=$value"
Write-Host set "$arr_name[$counter]=$name"
}
Write-Host set "$arr_counter=$counter"

View file

@ -1,10 +1,10 @@
call print_github_header
call print_dashed_seperator
call get_local_text github-intro-opensource
call get_local_text github-intro-online
call get_local_text github-intro-manual
call get_local_text github-intro-norec
call get_local_text github_intro_opensource github intro opensource
call get_local_text github_intro_online github intro online
call get_local_text github_intro_manual github intro manual
call get_local_text github_intro_norec github intro norec
echo !github_intro_opensource!
echo !github_intro_online!
@ -13,23 +13,23 @@ echo !github_intro_norec!
call print_dashed_seperator
call get_local_text github-skip-question
call get_local_text github_skip_question github skip question
call ask_question "!github_skip_question!"
call print_dashed_seperator
if "%result%"=="true" (
call get_local_text github-skip-consequence
call get_local_text github_skip_consequence github skip consequence
echo !github_skip_consequence!
call get_local_text github-skip-donotclose
call get_local_text github_skip_donotclose github skip donotclose
echo !github_skip_donotclose!
call get_local_text github-skip-wait
call get_local_text github_skip_wait github skip wait
set /p "github_skip_wait=!github_skip_wait!"
call print_dashed_seperator
call get_local_text github-process-path
call get_local_text github_process_path github process path
call get_path_safe "!github_process_path!"
set "repository_path=!tmp_safe_path!"
@ -39,7 +39,7 @@ if "%result%"=="true" (
goto:get_bash_path
:get_bash_path
call get_local_text github-process-bashi
call get_local_text github_process_bashi github process bashi
echo !github_process_bashi!
if not defined install_system_bit (
@ -49,14 +49,14 @@ goto:get_bash_path
)
if "%system_info_bit%"=="64" (
call get_local_text github-process-bashp64
call get_local_text github_process_bashp64 github process bashp64
echo !github_process_bashp64!
) else (
call get_local_text github-process-bashp32
call get_local_text github_process_bashp32 github process bashp32
echo !github_process_bashp32!
)
call get_local_text github-process-bashq
call get_local_text github_process_bashq github process bashq
set /p "git_bash_path=!github_process_bashq!: "
if not defined git_bash_path (
@ -69,7 +69,7 @@ goto:get_bash_path
)
if not exist "%git_bash_path%" (
call get_local_text error-exist
call get_local_text error_exist error exist
echo !error_exist!
call print_dashed_seperator
goto:get_bash_path
@ -80,10 +80,10 @@ goto:eof
:get_git_path
call print_dashed_seperator
call get_local_text github-process-checkout
call get_local_text github_process_checkout github process checkout
set /p "repository_path=!github_process_checkout!: "
if exist !repository_path! (
call get_local_text error-path
call get_local_text error_path error path
call ask_question "!error_path!"
if "!result!"=="false" (
call print_dashed_seperator

View file

@ -1 +1,2 @@
@echo off
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& "%*"

View file

@ -2,7 +2,7 @@
setlocal EnableDelayedExpansion
Color 0A
mode con: cols=78 lines=55
mode con: cols=79 lines=55
call print_header
call print_dashed_seperator
@ -14,8 +14,6 @@ echo Welcome to the automated Installation of the CodeCombat Dev. Environment!
echo v%version% authored by %author% and published by %copyright%.
call print_seperator
pause
echo Before we start the installation, here are some tips:
call print_tips
call print_seperator
@ -34,32 +32,32 @@ call github_setup
call print_finished_header
call print_dashed_seperator
call get_local_text end-succesfull
call get_local_text end-thankyou
call get_local_text end_succesfull end succesfull
call get_local_text end_thankyou end thankyou
echo %end_succesfull%
echo %end_thankyou%
call print_dashed_seperator
call get_local_text start-1
call get_local_text start-2
call get_local_text start-3
call get_local_text start-4
call get_local_text start-5
call get_local_text start-6
call get_local_text start_s1 start s1
call get_local_text start_s2 start s2
call get_local_text start_s3 start s3
call get_local_text start_s4 start s4
call get_local_text start_s5 start s5
call get_local_text start_s6 start s6
echo !start_1!
echo !start_2!
echo !start_s1!
echo !start_s2!
echo.
echo !start_3! '!repository_path!\coco\SCOCODE.bat'
echo !start_4!
echo !start_5!
echo !start_s3! '!repository_path!\coco\SCOCODE.bat'
echo !start_s4!
echo !start_s5!
echo.
echo !start_6!
echo !start_s6!
call print_dashed_seperator
call get_local_text end-readme
call get_local_text end_readme end readme
call ask_question "!end_readme!"
if "%result%"=="true" (

View file

@ -36,6 +36,7 @@ LevelHandler = class LevelHandler extends Handler
return @getRandomSessionPair(req,res,args[0]) if args[1] is 'random_session_pair'
return @getLeaderboardFacebookFriends(req, res, args[0]) if args[1] is 'leaderboard_facebook_friends'
return @getLeaderboardGPlusFriends(req, res, args[0]) if args[1] is 'leaderboard_gplus_friends'
return @getHistogramData(req, res, args[0]) if args[1] is 'histogram_data'
return @sendNotFoundError(res)
@ -118,6 +119,18 @@ LevelHandler = class LevelHandler extends Handler
query = Session.find(sessionQuery).select('-screenshot')
query.exec (err, results) =>
if err then @sendDatabaseError(res, err) else @sendSuccess res, results
getHistogramData: (req, res,slug) ->
query = Session.aggregate [
{$match: {"levelID":slug, "submitted": true, "team":req.query.team}}
{$project: {totalScore: 1, _id: 0}}
]
query.exec (err, data) =>
if err? then return @sendDatabaseError res, err
valueArray = _.pluck data, "totalScore"
@sendSuccess res, valueArray
getLeaderboard: (req, res, id) ->
sessionsQueryParameters = @makeLeaderboardQueryParameters(req, id)