From CG community
Jump to navigation Jump to search

Default avatar.png Warzed: i need helphow to convert all characters to lowercase in string c++

stone43: I'm not a C guy but can't you treat the character as a number and add 32(decimal) which is the difference between ascii "A" and ascii "a"

Default avatar.png Warzed: okay

Default avatar.png Warzed: mm there is a problem, string contains either uppercase and lowercase, the demand is convert all of characters into lowercase

Zenoscave: if (c < 'a') c+= ('a'-'A');

stone43: you need to iterate over every character and check to see if it's uppercase

stone43: what Z said :)

Zenoscave: :+1:

Zenoscave: or you could use the Standard lib functions

Default avatar.png Warzed: im new here, and im solving MIME type

Default avatar.png Warzed: here is my code

Default avatar.png Warzed:


Default avatar.png Warzed: but i used string to read sentence

Default avatar.png Warzed: string s[1001];

Default avatar.png Warzed: for(int i=1;i<=10;i++)

Default avatar.png Warzed: cin>>s[i];

Zenoscave: probably meant to not do an array of strings

Default avatar.png Warzed: is there any method to read sentence

Default avatar.png Warzed: any other

Zenoscave: what do you mean by sentence?

Zenoscave: a line?

Default avatar.png Warzed: yes

Zenoscave: cin will read a whole line

Default avatar.png Warzed: bunch of words

Default avatar.png Warzed: suppose s[1] contains one word

Default avatar.png Warzed: s[i] would be a sentence


Zenoscave: that's not how arrays work

Zenoscave: string s[1001]; means an array of 1001 strings accessing s[i] means the entire string at index i. You don't need an array like that

Default avatar.png Warzed: i used string s[100],d[100]; for(i=0;i<10;i++) cin>>s[i]>>d[i];

Default avatar.png Warzed: and it is reading sentence

Default avatar.png Warzed: one word for each s[i]


Zenoscave: this is the default code given. start with that

Default avatar.png Warzed: okay

Default avatar.png Warzed: thank you for your effort

Zenoscave: :+1:

Quidome: How many players will be promotod to gold end of the week?

69razer69: i just finished flappy bird auto playing using NN so happy happy happy

Quidome: Nice work!

Quidome: What kind of NN tools did you use?

AntiSquid: now you can flap along with the birds

Zpooks: Since it's autoplaying, I'd argue that he doesn't have to flap at all.

Zpooks: *badumtish*

AntiSquid: but he can flap! because his hands are free and he is happy

Zpooks: .. Fair.

Zpooks: The isolation affects everyone differently :sweat_smile:

Default avatar.png macarpone: dont think so

Tunga: I wanna be, the very best, as noone every was dıdıdıııııı

Zpooks: To code games is my real test, to automate it is my task!

Tunga: I will travel across the internet,

Tunga: I will travel across the internet, Searchin' far and wide, Each code line, To understand, The power that's inside!

Zpooks: CodinGame!

Zpooks: Now I sidetracked, back to my ocean of code..

Tunga: The game bot, its you and me, I know its my destiny...

dbdr: Tunga in a poetic mood :)

Tunga: You know, we developers are very much like writers!

Tunga: We both gathers some words into meaningfull content

Zpooks: Every new developers story always starts with "Hello World!"

Default avatar.png macarpone: "Hello World"!

Default avatar.png Nicholas_003: :money_mouth:

AntiSquid: ban

MadKnight: nab

AntiSquid: how's your bot MadKnight?

MadKnight: i need to sleep first

MadKnight: i'm kinda tired and i wanna sleep before i start coding stuff AntiSquid

MadKnight: but i improved my CoK AntiSquid

MadKnight: now it pathfinds to the closest other player avoiding enemies

struct: what does CoK stands for?

MadKnight: Code of Kutulu

AntiSquid: did you use local runner MadKnight ?

linjoehan: What's the name of the game that C4L is based on?

jingle07-hub: while 1:

struct: not sure it is based on any game

linjoehan: it's a board game just can't remember whatit's called

linjoehan: I guess I'll have to go down the rabbit hole to find it

AntiSquid: splendor linjoehan

AntiSquid: also linjoehan

wlesavo: #1 :grinning:

eulerscheZahl: you're welcome wlesavo


wlesavo: eulerscheZahl just was gonna thank you

eulerscheZahl: hm, cgstats doesn't sort correctly on same score

wlesavo: well this one counts, last one was due to kovi and siman rersubmiting at the same time

eulerscheZahl: take a screenshot

eulerscheZahl: ping Magus are you there?

wlesavo: already did :wink:

struct: is it really python?

wlesavo: sure

eulerscheZahl: why do you doubt it?

struct: I dont doubt

wlesavo: im not very good at any other lang

struct: just wanted to be sure

wlesavo: neither python actually

eulerscheZahl: do you remember the bash guy on coders of the carribbean legend? :D

struct: was it actualyl bash?=

struct: wtf

eulerscheZahl: he found a python bot on github and added a bash wrapper to hide that

struct: ah right

eulerscheZahl: but kept telling everyone that it was plain bash

Zpooks: Weak

eulerscheZahl: was a huge contest with 3600 participants those were times...

Magus: ?

wlesavo: eulerscheZahl cant the cg stuff see the actuall code?

wlesavo: Magus accendeing seems to be wrong

eulerscheZahl: Magus you show the #2 player above #1 if they have the same score

Magus: oh

eulerscheZahl: and i was too lazy to open an issue on github (or even fix it myself)

Magus: i don't remember sorting players myself, weird

eulerscheZahl: wlesavo staff can see the codes and they took action

wlesavo: eulerscheZahl oh i see, so thats how it become known

eulerscheZahl: lots of python bots at the top and if you play them against each other, it was a perfect mirror

wlesavo: lol

struct: Did something happened to the guy who shared the bot on github?

eulerscheZahl: disqualified for that contest but he didn't do it with bad intention, just syncing between devices and not thinking about making it public that way

eulerscheZahl: he's still competing on CG

pb4: Was it coders of the carribean ? I remember this for hypersonic

eulerscheZahl: cotc and gitc contests

struct: I wasnt here on hypersonic

struct: and I remember it

struct: so it was cotc

eulerscheZahl: hypersonic has a huge clone army in the multiplayer section

eulerscheZahl: and i can easily find some bots for the current contest as well the only question: are these better than what try-harders can do? hopefully the answer is no

eulerscheZahl: but i don't think we'll find a top bot

AntiSquid: bug

AntiSquid: ah chat scroll .

AntiSquid: was replying to wlesavo's #1 comment

eulerscheZahl: he's doing much better than I expected him to do especially for your first contest, good job!

kovi: grat wlesavo

wlesavo: thx kovi

wlesavo: improved my mine escaping a little, seems to be working with surfacings

eulerscheZahl: harder to hit you

kovi: nice. still on my list

pb4: "seems to be working with surfacings"

pb4: What does that mean ?

wlesavo: i surface when its too dangerous to keep moving

wlesavo: but its hard to balance

pb4: oh nice

pb4: I didn't put that on my todo list

pb4: I was kinda sure it would be bad

wlesavo: i was not sure it would work as well

pb4: 100% sure to lose 1 life now vs maybe lose lives in the future...

pb4: My AI is going backwords instead of forward in terms of strength :(

pb4: backwards*

wlesavo: but with improved damage estimation it worked

Zpooks: Are you guys bots/AI as advanced as it looks like from an outside perspective? :P

Zpooks: Or sounds like, rather.

wlesavo: as for mine not advanced at all, bunch of heuristics and stuff like that compiled together, i guess mine damage estimation is the only worthy thing

pb4: You probably have a good opponent tracker also

pb4: I'd expect everyone at the top to have the same tracker

struct: Do you track paths wlesav?

wlesavo: not ideal, i do not track every possible path

wlesavo: but i do some path tracking

reCurse: Are you respecting GDPR?

reCurse: If the opponent asks for the data you hold about him, you need to provide it

Asterixk: it's encrypted now

darkhorse64: The data is only stored for a short period of time and is not nominative

reCurse: This only applies if the map can be shown to fit some part of EU

reCurse: It's not stored for a short period of time if it's logged to stderr :P

kovi: it is only stored for statistical purposes

kovi: meta is getting heavy

reCurse: What is it now

kovi: dont know, but i see rockpaperscissors effect in score

kovi: wlesavo > me > siman/pb > wlesavo

reCurse: Yeah I sort of called it at the start of the contest

reCurse: Not the individuals but it seems like there's a thousand of holes to plug in any given strat

wlesavo: well i still target silence N 0 so it makes some sence

kovi: yeah, that one for example

reCurse: Leaderboards will only get more confusing as it nears the end

pb4: wlesavo : I had not identified who did it, but I'll name the line in my code after you :)

reCurse: Not sure I follow

reCurse: Target silence N 0?

pb4: score += xorRandInt(5); //anti-wlesavo

wlesavo: lol, thats an honor :slight_smile:

reCurse: Assume nothing happened?

inoryy: wow 4.2k participants?

pb4: I silence randomly, just to avoid people who might target silence 0

AntiSquid: if 3k are stuck in IDE then yes inoryy

wlesavo: reCurse kovi uses silence 0, just not to harm himself jumping somewhere bad

reCurse: Yeah only 1.3k submissions or so

inoryy: ah nvm I was looking at registered users

reCurse: Ok so you see silence and assume it's 0?

reCurse: Yeah that's exactly what I don't like about that kind of game

wlesavo: i check if silence 0 candidates survive over time and than weight them havily over the others

pb4: "wlesavo 16H50 reCurse kovi uses silence 0, just not to harm himself jumping somewhere bad"

pb4: uh ?

reCurse: Makes your performance extremely dependent on your opponents

reCurse: e.g. if most bots do silence 0 then you're doing great

wlesavo: pb4 if you wont estimate silence correctly, i could end up in the mine field

reCurse: If meta shifts and everyone doesn't do it, you suck

reCurse: etc

wlesavo: you*

pb4: I always thought about silence 0 as a way not to waste precious empty space

reCurse: That's true of any action

pb4: nope

pb4: Only silence and move "consume" space

wlesavo: reCurse no, this way it doesnot struggle against others, but at some extent punish silence 0

pb4: Move trades "space" for "charges"

reCurse: How is that wrong? Using sonar makes you not waste precious space

pb4: silence doesn't trade space for anything useful - other that uncertainty for the opponent. And you don't get more uncertainty for a silence 4 compared to a silence 0

wlesavo: pb4 well also that, but i think it is smaller than potential damage from mines

pb4: I have no idea how to efficiently avoid mines :/

pb4: They can just be...... anywhere

reCurse: Just kill him first

kovi: pb4, nice analysis

Palmipedus: if you track all the path, then you'll be able to know where they are once you find opp

reCurse: That's wrong

kovi: and nice submit (pb4)

Palmipedus: but avoiding mines will use more space

Palmipedus: so better to kill him first

Palmipedus: reCurse what's wrong?

wlesavo: Palmipedus a lot of aspects to it, most you can have some possible positions, more than 4 generally

Palmipedus: ha yeah we don;t have the direction where he put it

Palmipedus: I'm glad i haven't even try to track mines

Palmipedus: reCurse so when are going to participate in another contest?

reCurse: SILENCE N 0

wlesavo: nice use of silence

struct: do you also SILENCE in other directions 0 ?

reCurse: Maybe I do

reCurse: Maybe I don't

Tunga: Politic answer ?

Zenoscave: reCurse will you compete in this competition whatsoever? I bet you have great ideas that could change meta

reCurse: SILENCE E 4

icecream17: I thought about tracking mines, because if the opponent blows up a mine you can track the position indirectly

ZarthaxX: you should

Zenoscave: that's a big part of the game icecream17

Tunga: Silver league issues?

Zenoscave: One I just figured out I forgot to implement fully

ZarthaxX: lol

Zenoscave: just kinda pewpewed myself with that

ZarthaxX: :P

Default avatar.png Kadrex: Guys, is this scoreboard buggy?

eulerscheZahl: pb4 04:53PM silence doesn't trade space for anything useful - other that uncertainty for the opponent.

eulerscheZahl: you can also rush an attack with a larger jump

wlesavo: i call that fatality

Zenoscave: killer move is my name for it

eulerscheZahl: i call it "kill" in my message, when i do it

wlesavo: first so it in mchl12 replays, figured out that was what he called GG

eulerscheZahl: killing a wlesavo with a jump

wlesavo: oh, i lost selftracking in this one

wlesavo: revenge :smiley:

eulerscheZahl: no problem, you can outsource that to me

wlesavo: eulerscheZahl thx, you helped with that nicely

pb4: is that feature important for you ? I had it in a previous code and didn't bother to re-implement it

eulerscheZahl: yes

wlesavo: many games are finished this way, so probab;y yes

eulerscheZahl: but might be because of my poor ovarall-fighting logic

pb4: Will re-implement it then...

pb4: But I'm near the char limit already :(

eulerscheZahl: wow

eulerscheZahl: 872 lines here

wlesavo: wow

Zenoscave: 976

eulerscheZahl: 32.085 bytes

pb4: eulerscheZahl : do you know if the self-compiled code is allowed here ?

wlesavo: 1500, but have some duplicate old parts

struct: I dont think so pb4

eulerscheZahl: no obfuscation, that's all i know

pb4: Is renaming all variables to single letters considered obfuscation ? :D

eulerscheZahl: and you already got disqualified in a semi-private hackathon iirc

pb4: yep I did...

eulerscheZahl: CG has some cheat detection which they run on your code

eulerscheZahl: they can't, if you submit a binary encoded as a string

eulerscheZahl: but single letter var names are fine i think

AntiSquid: 608 lines or probably less, didn't refactor / remove comments

eulerscheZahl: my teacher in school always coded like this

eulerscheZahl: var names: a,b,c,d,...

wlesavo: lul, here is an antikiller

struct: a1, a2

pb4: my variables have routinely 20 letters

AntiSquid: enterprise naming convention?

pb4: uh ?

eulerscheZahl: for me it depends loop counters are i,j if they have no deeper meaning

pb4: myOrdersWithoutTorpedo

eulerscheZahl: otherwise i try to be explicit, IDE does the autocompletion so no reason to save chars

pb4: and that's a short one actually :D

pb4: bestFutureTorpedoDamageProba

eulerscheZahl: if (cell.InTorpedoRange(board.MyPosition) && !cell.InExplosion(board.MyPosition)) targets.Add(cell);

AntiSquid: pb4

reCurse: pb4 going all out on this one :p

Schneewittchen: @AntiSquid Love it :D

reCurse: It's just reading random classes from the JDK isn't it

struct: but you can always ping staff on discord and ask if its allowed pb 4

reCurse: 99.99% sure it's not

AntiSquid: the worse are stored in a list:


eulerscheZahl: yeah, these long names are obfuscation too you can't find the actual code anymore

reCurse: Don't mix up obfuscation with readability

eulerscheZahl: don't ruin my unfunny joke with logical arguments

reCurse: :(

Palmipedus: hey guys, question about performance, what is your dataStructure for storing the paths?

eulerscheZahl: Path = List<Cell> Tracker = List<Path> and it's too slow, so i'll change it :D

Palmipedus: mine is probably not good as around 8k if the opponent silence than I'll timeout

Palmipedus: yeah that's what I have

eulerscheZahl: most top players didn't silence that much until kovi decided to attack my algo rather than my submarine

Palmipedus: atm I'm just doing a reset when too much path

Palmipedus: yeah I only had the problem with the low rank in silver

eulerscheZahl: HashSet or boolean array should be faster or bitboards

eulerscheZahl: i do a reset too, keeping the current locations at least

Palmipedus: at the end of contest, if you don;t mind sahring your datastructure eulerscheZahl

Palmipedus: as I'm also using c#

Palmipedus: yes ssame thing for reset

Quidome: How many players get promoted to gold end of the week?

Zenoscave: I would be interested too

eulerscheZahl: i can but i really don't think there's anything interesting in my bot

Zenoscave: there must be something. you're 5th

eulerscheZahl: i guess 150 to gold, but don't know either

eulerscheZahl: going up and down, was 7th a few minutes ago

Quidome: That's a lot...

Zenoscave: have a bump

Zenoscave: :(

eulerscheZahl: i also expect more than 15 players in legend when it opens the last time legend was bigger on a marathon

Zenoscave: Do you expect many more meta shifts?

Palmipedus: I've been around #80-90 all day so i'll probably make the cut

Zenoscave: I think there's at least one left

Palmipedus: but that will be the last league for me

eulerscheZahl: no idea about the meta i rarely follow that discussion

Zenoscave: wlesavo, you're doing strong with python gz

wlesavo: wait till this submit will finish

wlesavo: it is going very good

Zenoscave: Big improvement?

wlesavo: well yeah, i finally fixed my silence can actually compete for #1 now

Zenoscave: fixed silence?

Zenoscave: Is SILENCE x 0 not good?

wlesavo: well it was bad, and now its not that bad

Zenoscave: meta shift!

eulerscheZahl: oh, Zenoscave back in top10 as well

Zenoscave: for now might drop a bit at end

Zenoscave: 11th :(

kovi: robo is coming too

Zenoscave: robo are you hiding or just starting late?

kovi: late

Zenoscave: ah

wlesavo: i saw royale in silver too

kovi: ok, time to learn something

kovi: even with lucky rolls vs. wlesavo he might be ahead

wlesavo: lost every single game against kovi, yeah

kovi: except 1

wlesavo: oh, just won one

Zenoscave: Praise RNGeses

Zenoscave: Praise RNGesus

eulerscheZahl: robo isn't a hider

eulerscheZahl: was leading code royale from start to finish

kovi: karliso is the top hider lately

eulerscheZahl: he played onitama 3 or 4 days ago

MadKnight: don't hide your bot Automaton2000 !

eulerscheZahl: check the submit data

eulerscheZahl: date

Automaton2000: still no idea why it works

Zenoscave: MadKnight

kovi: he asked about ooc yesterday

eulerscheZahl: ah, so he's coming

kovi: guess so

MadKnight: Zenobia

MadKnight: Zenoscave

eulerscheZahl: he won't play and be happy about just reaching legend i think

Zenoscave: hows your bot MK

kovi: still 3 point randomness

MadKnight: still very basic

MadKnight: goes random

MadKnight: but avoids problems

MadKnight: and how's yours Zenoscave ?

wlesavo: 31 games winstreak :slight_smile:

eulerscheZahl: calm down

wlesavo: wtf is that submit

struct: lol

eulerscheZahl: you are so far above, i don't even get a chance to play against you :(

struct: Will matches be mirrored in legend? or you dont know?

reCurse: I'd guess not

eulerscheZahl: don't know but i consider it unlikely

struct: I have 1 question, so for each 2 matches you do, is 1 as player 1 and other as player 2?

eulerscheZahl: give us some stats of p1 vs p2 winrates so we have something to argue with

wlesavo: mirror means paired games with the same seed?

reCurse: I think the side you're on is random every game

reCurse: So you could in theory have a submit where you only play as P1

struct: Time to collect stats of p1 and p2 winrates then

reCurse: Why would you think there's a significant imbalance

struct: I dont think there is

struct: But I also think that mirror matches cant hurt

reCurse: Of course it can

reCurse: Twice the server costs and submit times for no good reason

reCurse: And even then, though I'm going to go further than intended

reCurse: For those asymmetric games, it's likely you'll gain accuracy by having twice as many games with no mirror than having mirror games.

reCurse: But that's a hunch, could be way off the mark.

Nagatwin: eulerscheZahl Not the first days for CR :p

Nagatwin: Anyway, gj wlesavo for #1 in python

AntiSquid: what if it's a bash bot wrapped in python to fool us

Nagatwin: That would be mad

wlesavo: Nagatwin thx :slight_smile:

eulerscheZahl: let me guess: you were first for a while Nagatwin?

Nagatwin: Yeah like half of it

Nagatwin: and then the simus came :'(

eulerscheZahl: that's what always happens

eulerscheZahl: when you can simulate a game, someone will

reCurse: How do you know it's simu

reCurse: Is there a SIMU command sent by opponent?

Nagatwin: They are flagged by CG didn't you knwo ?

reCurse: uh

Nagatwin: Joking

eulerscheZahl: they usually tell in the post mortem i tend to trust these

Nagatwin: Yeah same, by the end of CR it was pretty clear anyway

reCurse: Oh CR

reCurse: -1 reading comprehension

reCurse: I thought crystal rush was more about heuristics still

eulerscheZahl: i'm not used to that new multiplayer name yet

eulerscheZahl: damn CG, creating 2 games with the same acronym

reCurse: :P

kovi: nice csipcsirip

Nagatwin: lol

Nagatwin: spamming silence made Saelyos timeout


kovi: 3 hungarians in top once again

Nagatwin: ultimate counter to silence spam

DonsPower: hi

DonsPower: how are you gays

dbdr: there's also a second CotR no?

dbdr: yeah, codes of the realm

DonsPower: hablo español

Csipcsirip: ty. I realized that I need some kind of mine avoidance.. :p

SavinVadim: Hey guys, if anyone interested, I will start a livestream and start working on the Ocean of Code. Wish me luck :D

Asterixk: sure

Illedan: Post it on discord too SavinVadim

icecream17: ooh

Zenoscave: Does mine avoidance work? I ignore min placements

Zenoscave: mine*

wlesavo: Zenoscave to some extent definitely

linjoehan: what's the board game that C4L is based on?

eulerscheZahl: splendor

linjoehan: yes thanks

eulerscheZahl: i think i read the same question some hours ago

linjoehan: yeah but I was off and the scroll don't go that far back

eulerscheZahl: and AntiSquid answering with a link to the game

eulerscheZahl: do you consider a purchase?

Tunga: How can I gather opponents commands?

eulerscheZahl: Line 3: opponentOrders, a summary of the actions (separated by |) that your opponent has made during its turn.

[CG]Thibaud: you need to parse it

Tunga: Oh, thanks

Tunga: Even the basic movements are problematic in bots

Tunga: Now I am going to fire up some torpidos!

Tunga: First time botter here

icecream17: =)

Tunga: When I submit the code, it ll let me play against some players?

Tunga: Then if I submit later, again will play another players too ?

Zenoscave: yes tunga

Tunga: Every submit change the position ?

Tunga: Because of the score?

Zenoscave: It is random who you play but based mostly on rank

icecream17: You can change the boss player by pressing "delete" under the "players" -> Cpt. Levine square

eulerscheZahl: poor captain levine

eulerscheZahl: oh wait, it's not the original levine anymore go delete it

Tunga: How many match will my bot do ?

eulerscheZahl: depends on your league

eulerscheZahl: 90 in silver

dbdr: kovi: I was thinking, if France or Germany wanted to do as well as Hungary relative to their population, they would need 15+ people in the top 10

eulerscheZahl: where are China and India?

Zenoscave: lol nice dbdr how would US need to do?

dbdr: 40 people in top 10

reCurse: Those math

wlesavo: lol

dbdr: more actually, but let's be generous

Tunga: Are we going to fight against everyone in the league or randm 100 players?

eulerscheZahl: 10 random at the beginning

eulerscheZahl: then your rank -10, +5 i think

Tunga: Jezz this is very exciting, I already won a lot of matches :D

reCurse: Not 10 random

Tunga: It is going to make like 80-90 matches right now

dbdr: good random

eulerscheZahl: 10 for each 10th of the leaderboard approximately

reCurse: 10 uniformly distributed amongst each 10%

Tunga: I just made a simple pathing algorithm without even firing a torpido and won %60 of the match in lowest rank lmao

Tunga: Lowest league *

eulerscheZahl: when legend is still small (maybe 25 players), you will sometimes get 2 matches against the same player in the first 10

eulerscheZahl: that's why it's the lowest league

eulerscheZahl: you won't win anything in silver that way

Tunga: Yey, 1 league up

Tunga: Wood 1 in just 1 submit

Tunga: First time bot gamer, this is really fun tho

Zenoscave: Don't let your ego get too big ;)

Tunga: They ll definitely kill me here, I have no doubts Zenoscave

eulerscheZahl: the bronze boss beats you with ease

Tunga: That is an unfortune map

Tunga: :D

eulerscheZahl: there are no bad maps, just bad map handling

reCurse: Very hard to blame the map here

Tunga: Like I said, very basic pathing

Tunga: If I manage to add torpido, I ll be in silver


Tunga: Lmao

Tunga: That map tho

reCurse: Nice

Zenoscave: Solid top 10 finally!!!

AntiSquid: game of the year

Zenoscave: for sure

reCurse: Speaking of dumb maps

reCurse: You can try seed 9051324

AntiSquid: aren't seeds longer than that?

wlesavo: reCurse лол

reCurse: They don't have to be

wlesavo: nice one

struct: seed can = 1

struct: or even 0

Csipcsirip: is the left side bigger than right ?

AntiSquid: ezpz wlesavo

reCurse: ez

AntiSquid: i guess they generate terrain based on the seed number?

Quidome: Having a submit message going with the submit would be really nice to have :)

icecream17: "seed=thisisaseed???"

reCurse: What else would they do

wlesavo: AntiSquid damn again lost self track, need to find that bug

AntiSquid: sure, me winning is always a bug

reCurse: You're like a known constant

reCurse: Secure value like gold

Zenoscave: Do you think league for legend will be 20+? is it too early to tell?

AntiSquid: yes

blasterpoard: 50+

blasterpoard: because it will be created early

blasterpoard: and people will have a lot of time to get there

Zenoscave: created early?

Zenoscave: ah true

blasterpoard: a week before the end

AntiSquid: 3 weeks dev

Zenoscave: I meant at opening

AntiSquid: it goes straight into multi anyway

Zenoscave: sweet

Uljahn: 15 at opening i guess

Zenoscave: Maybe I'll make legend during a contest for once

AntiSquid: i am inclined to believe it might be 10 at opening

AntiSquid: the 1 week time to improve + it will be a multi anyway

Zenoscave: I'm running out of ideas for improvements though

struct: 10 sems to low

blasterpoard: the less people in legend, the better

AntiSquid: no break after contest, less people lose interest

AntiSquid: so imo 10

reCurse: They've done worse

AntiSquid: there was a 5-er oepning right?

eulerscheZahl: i bet for a large legend league on opening

reCurse: What no why

eulerscheZahl: was like that for locam too (the other marathon)

reCurse: Need to pull some strings so it opens for top 2

AntiSquid: hm why so worried reCurse, are you competing?

reCurse: No I just enjoy the struggle for legend

Zenoscave: TOP 2 sounds awful

reCurse: Everyone agonizing over gold boss

Zenoscave: I love it

AntiSquid: crash submit before legend opens

AntiSquid: boycott the top 2 open

Zenoscave: It would be interesting to see how kovi and wlseavo do alone

Zenoscave: name drops sorry

reCurse: 67143174 is pretty awful too

AntiSquid: recurse going through seeds :thinking:

reCurse: Just having fun

AntiSquid: of course

kovi: i have 30% vs. wlsevo now

Tunga: Kovi going up ?

Csipcsirip: your bot isnt working so well on that map too wlesavo

kovi: wlesavo (sorry)

reCurse: The mapgen code is, well

reCurse: Pretty bad

reCurse: So I was wondering how bad it can get

wlesavo: kovi also just discovered some bug forcing me to send double commands in this submit

wlesavo: in some of last replays

wlesavo: Csipcsirip it can spawn in center randomly, yeah, didnt bother to fix that yet

Tunga: "4,226 CodinGamers have registered to this contest" but only 1318 people on the list. 1318 is the only submitters?

reCurse: Yeah

reCurse: It's marketing techniques

reCurse: Like when they say there's over a million people on CG

Tunga: It is wise tho

Uljahn: 3 Billion devices run Java, Automaton2000

Automaton2000: i only know that it was a problem

Zenoscave: it is a problem

Zenoscave: very few of those are settop boxes Automaton2000

Automaton2000: so you think it's a good thing to do

Zenoscave: Not at all

Zenoscave: Don't you listen Automaton2000

Automaton2000: you live in the us

Zenoscave: where does euler live Automaton2000

Automaton2000: you can reach top 10

struct: That Java messages still shows?

struct: Or they removed it

struct: It seems to be 7 years old

AntiSquid: Automaton2000 hates the US ?

Automaton2000: i think i will have to study

AntiSquid: in ah-merry-ka ? Automaton2000 ?

Automaton2000: no but i mean the ones that i have no clue why

dbdr: what's a bad map?

AntiSquid: ^ lots of land and lakes i guess ?

dbdr: lot of land cn be interesting too

dbdr: lakes only fun to catch careless people

reCurse: I'm sure some sick minds can enjoy playing 156183823

reCurse: Probably minority though

AntiSquid: perfect :D

dbdr: yeah, more than one connected component of water does not really make sense

dbdr: it could with >2 players :D

blasterpoard: reCurse my hidden bot which is very good at hiding can only hide for 16 turns on that map xD


blasterpoard: until you can reliably hit it with torpedo

AntiSquid: well maybe it would b idea to start in the bigger lake ?

reCurse: Maybe that's the metric I should use then

reCurse: Number of turns to stay hidden

blasterpoard: normally it's about 50-60

reCurse: There has to be worse I only examined a tiny fraction of possibilities

blasterpoard: 16 is the least I've seen so far

AntiSquid: you have a script to find bad seeds?

reCurse: Yeah

reCurse: Relying on land count and disconnected

reCurse: But number of turns to stay hidden sounds more promising

reCurse: Also more complex

Tunga: reCurse, do you have any opening jobs at your place <3 ?

reCurse: Always

dbdr: how is hidden defined? more than 1 possible position?

reCurse: Yeah

blasterpoard: dbdr I define it "there can't be a torpedo that can't hit all possibel position"

reCurse: Hm

eulerscheZahl: double negation?

blasterpoard: on a normal seed, like f.e. -8066070417831458800, I can stay "hidden" for 48 turns

AntiSquid: wlesavo fix it

Tunga: reCurse, chat with me on discord if you have time dude?

blasterpoard: *that can hit

reCurse: I meant that tongue in cheek

reCurse: Sure there's always openings

reCurse: Are they openings you're qualified/interested into, I don't know

reCurse: I'm not a recruiter

Tunga: I want to chat with you if you have time

reCurse: Sure

wlesavo: AntiSquid well, its on my list

AntiSquid: it's a meme, you're supposed to find the tiniest bug in someone's bot and annoy them with it to fix it wlesavo

reCurse: It's called doing a MK

wlesavo: AntiSquid oh, i see, not that tiny though

eulerscheZahl: then fix it asap

dbdr: by yesterday

AntiSquid: when is it fixed?

icecream17: lol

wlesavo: already :wink:

eulerscheZahl: ezpz

Default avatar.png samda: 3

eulerscheZahl: kovi what's your submit count?

wlesavo: eulerscheZahl referee shows that your previous command when you timeout due to some reason, is it an intended behaviour? spended some time looking for that double print :slight_smile:

dbdr: it wrapped around

wlesavo: shows your previous command

eulerscheZahl: wlesavo don't teach automaton a way to start a sentence

kovi: 20 per day approx.

eulerscheZahl: and i'm not sure what you mean tooltip? text below viewer? area under the board?

dbdr: so around 240? :D

wlesavo: the colored text ander the field

wlesavo: under

eulerscheZahl: do i have to find a crashed game now?

eulerscheZahl: or create one?

kovi: i started 4-5 days later

dbdr: ah right

eulerscheZahl: then only 140

dbdr: :D

eulerscheZahl: did you not know about it earlier?

wlesavo: sorry, here its even draws second sonar action i mean circle stuff

eulerscheZahl: ok, i know to whom to report that :D

wlesavo: its probably due to that additional frame dbdr wanted :slight_smile:

Default avatar.png lNitsua: for ocean of code, if the opponent uses a torpedo order out of range, do I still see the orders?

kovi: no

Default avatar.png lNitsua: cause that could be used for ruining other peoples detection, and could potentially ruin mine

Default avatar.png lNitsua: ok awesome, thanks

dbdr: if CG fixed the Game Information bug it would help

Default avatar.png lNitsua: bug?

dbdr: this bug:

eulerscheZahl: thibaud gave you a <3 implying that he saw it (and probably added to the bug tracker)

dbdr: I'm sure about the first part of that sentence

dbdr: if there is a bug tracker, I would be curious about its health ;)

reCurse: They had to upgrade it to 64 bit because of the backlog

dbdr: that should fix it for the foreseeable future

dbdr: if not, there's u128 :)

eulerscheZahl: the bug tracker is in JS, only 53bit for integers

reCurse: If it runs on the chat server that explains a lot

dbdr: lol

dbdr: it is *implemented* as a chat server

dbdr: /open bug UI

reCurse: I like that theory

eulerscheZahl: from their semi-public projects it might just be a trello board :thinking:

AmineYahia: hi guys

AmineYahia: who can help me with Nintendo Sponsored Challenge

reCurse: Google

AmineYahia: i need a hint

AmineYahia: hhhhhhh

AmineYahia: i does not find any thing in google

reCurse: Well you need to practice your search skills


reCurse: Took me 10 seconds

dbdr: I had a silly bug with my sectors, they went:

dbdr: 1.. .2. ..3

dbdr: with 4 same as 1, 5 same as 2 etc :D

reCurse: ...

reCurse: How do you rank top 10 with that

struct: yeah

struct: lol

icecream17: sector = (x - (x mod 5)) + (3 * (y - (y mod 5))) + 1

struct: Was about to say normal mitake for top 10

dbdr: it does not come up that often

dbdr: only for surfaces and radars

Tunga: Can I see my old league replays ?

struct: But its still a big thing no? at least for tracking

dbdr: definitely better that it is fixed (and tested), but effects falls in the noise

Tunga: When I get upper league, Cant see old league replays

dbdr: for tracking surfaces

reCurse: Just a ripple in the ocean

dbdr: which is very rare

dbdr: and 1, 5 and 9 were correct :)

dbdr: silly copy paste bug, left a x instead of a y

eulerscheZahl: there is no radar dbdr, only sonar :P

eulerscheZahl: hence the name of the board game

dbdr: I call it radar

dbdr: s is silence already

struct: how many small lakes you want?

struct: -1266569109

dbdr: that letter is taken

eulerscheZahl: but radar is crystal rush

eulerscheZahl: or codebusters

dbdr: you see, there is a radar in every game basically

eulerscheZahl: i want more, Tobou

dbdr: reCurse can bruteforce the seed to optimize any metric


eulerscheZahl: that's what tobou did too

AmineYahia: okay thanks recurse

struct: how many lakes you want?

struct: 6?

reCurse: Such an irresponsible chosen one for such power

icecream17: Is it possible to have a map where primes are islands?

eulerscheZahl: as many lakes as possible

dbdr: I want N lakes on a map recognized as the digit N by a NN trained on MNIST

reCurse: My answer starts with N

icecream17: the seed can also be letters and words

dbdr: no problem?

reCurse: Warmer

dbdr: \o/

icecream17: Try seed=thisisaseed??? or seed=Infinity

dbdr: oh, read winner :D

inoryy: Not an issue

inoryy: Neural Network

Astrobytes: No chance

eulerscheZahl: NaN

Astrobytes: NIN

eulerscheZahl: nullptr exception

inoryy: Nier automata

Astrobytes: noexcept

MadKnight: xoencept

eulerscheZahl: nanananananananananananananana Batman!

reCurse: With that deductive power you should not waste your energy on this

Astrobytes: Non

reCurse: Bingo

MadKnight: Astropcept

Astrobytes: Madeleine

dbdr: that's so Neuman

eulerscheZahl: is Neuman still a thing?

reCurse: Nonmann

MadKnight: Noman

eulerscheZahl: did you mean Neumann or Neumam?

MadKnight: there is another

MadKnight: Neuman

dbdr: alts?

MadKnight: dbdr just invented him

inoryy: Neumann sky

dbdr: Atlmann

dbdr: Altmann

eulerscheZahl: common name here

MadKnight: Astromann

Astrobytes: Mannobytes

MadKnight: Automaton2000, what a madmann!

Automaton2000: i tried to learn c

MadKnight: Madmannbytes

MadKnight: Astromadmann

Astrobytes: Oi Madeleine, how is your OoC bot

Neumann: The fuck is going on here

MadKnight: wtfmann

AntiSquid: Neumann

MadKnight: i dunno someone mentioned u Neumann and then that escalated

Neumann: AntiSquid

AntiSquid: ya sorry, i pinged too late, wanted to join the spammers

Neumann: Non.

MadKnight: oh so that's who taught Automaton2000 to say that on #fr

Automaton2000: yes, but i haven't done that one

AntiSquid: scrolling up and reading chat, it's safe to safe the school kids don't deserve to be kicked anymore

Astrobytes: Pfff. At least we had a theme.

MadKnight: boring childish humour can't be compared to our fancy madmann word making

icecream17: I just discovered javascript labels!

AntiSquid: wow

MadKnight: what do javascript labels do ?

icecream17: (first answer)

MadKnight: an icecream playing with labels

eulerscheZahl: same as for java

MadKnight: oh, that kind of labels

MadKnight: i thought of the wrong tihng

kovi: lucky rolls

inoryy: my eyes

Astrobytes: labels... like um, goto labels?

MadKnight: yea

AntiSquid: i followed that example just because of the way it works, but it doesn't seem beneficial

AntiSquid: i mean i used it once

MadKnight: i usually put those in a function to use return instead of outer break, icecream17

icecream17: Yes, but the main for loop is inside a function, and there's an annoying "warning" symbol if I put a function iside a function

MadKnight: what does this outer loop even do ?

icecream17: loop through possibleOpp

MadKnight: what exactly does it do ?

MadKnight: i forgot that word again

MadKnight: inoryy what word did u remind me to use instead of logically ?

MadKnight: maybe conceptually ?

MadKnight: icecream17 what does your loop do conceptually ?

icecream17: loop through each possibleOpp space, innerloop = loop through each "functs" (order of checks)

MadKnight: but what's the point of this whole thing ?

MadKnight: what does it give u ?

MadKnight: what does it do in the end ?

icecream17: 100 possible positions -> 75 possible positions

MadKnight: what?

icecream17: track opponent

AntiSquid: MadKnight you would understand if you played the game

MadKnight: and why do u need to break out ?

MadKnight: i did AntiSquid\

MadKnight: but i kinda stopped at making a search

icecream17: If a innerloop functions finds out "remove this function" then don't consider other checks

AntiSquid: if you played it then you would know why you need to break out

Astrobytes: Where is your bot MadKnight? When Silver MadKnight? Fix it MadKnight. ezpz MadKnight.

icecream17: *"remove this possibleOpp"

MadKnight: can't u just use built-in functions for that icecream17 ?

MadKnight: arr.any()

AntiSquid: ah i thought you break out when you run out of time IceCarnivoreOfDeath_7fe6

AntiSquid: icecream17 *

AntiSquid: lol that username

elderlybeginner: contest, surface - how to you nicely looping positions with sector?

icecream17: Nooo...

icecream17: possibleOpp[i] = 1 possible space.

icecream17: Main for loop = i++

icecream17: Inside = checks if possibleOpp[i] is good

AntiSquid: icecream17 you are teaching him how to write a bot

icecream17: Sigh... I give up

icecream17: The reason is that 1 + 1 =3

elderlybeginner: maybe dictionary with 1-9, connected with x,y limits?

elderlybeginner: yep, thanks guys, that's good idea :P

AntiSquid: ya there's a formula

AntiSquid: check referee code elderlybeginner

AntiSquid: forgot where it is


Counterbalance: it's cleaned up since last i looked

Illedan: Yeah, I did a refactorization to keep my santity Counterbalance.

Tunga: SavinVadim you won me at real time while you wrote the code on youtube :)

Astrobytes: Oh you've decoupled all the logic and viewer stuff now Illedan?

Illedan: Yeah

Illedan: And added tests

Astrobytes: Nice

Astrobytes: Bet that was soooo fun

Illedan: Nope, but code rushed in 2 days keept me awake at night :P

Astrobytes: :D

icecream17: They're called sectors? I thought they were boxes....

AntiSquid: sudokus

elderlybeginner: python - any solution for range with complex numbers without spliting it on real and imag?

AntiSquid: not sure what you want

Zenoscave: why use complex?

AntiSquid: double the range?

struct: most islands i found so far is 99

struct: Need moooore

AntiSquid: or regular range and execute an operation on bot real and imaginary

AntiSquid: i don't get it

AntiSquid: share seed with 99 struct

icecream17: struct what's the seed for 99 islands?

MadKnight: hey Neumann

struct: The map doesnt look bad

AntiSquid: elderlybeginner if you think about it complex number could be just like using 2 for loops over a 2D array

struct: There are maps with less islands that look way worse

AntiSquid: share it

elderlybeginner: yes, i'm using complex numbers instead of matrix (or list of lists)

AntiSquid: or Automaton2000 visits you in your dreams struct

Automaton2000: if you have more than one level.

elderlybeginner: or 2d arrays, depends on lang :P

struct: wait there is a bug in my map generator

struct: is not counting islands properly

struct: wtf

struct: how did I miss this

AntiSquid: so what exactly are you looking for elderlybeginner ?

icecream17: Ooh, I wonder what seed=icecream17 looks like

Default avatar.png lNitsua: are you able to move and silence the same turn?

AntiSquid: yes

icecream17: You can do any actions together on the same turn

Zenoscave: yes IN

elderlybeginner: doing it in pythonic way: for x in range(sector[i][0].real(), sector[i][1].real()): without spliting on real and imag

Default avatar.png lNitsua: ok, so something else is breaking everything

elderlybeginner: where sector = {1:[0 + 0j, 4 + 4j], ...}

Zenoscave: elderlybeginner that is overly complicated for no advantage

AntiSquid: maybe you just want a one dimensional array elderlybeginner ?

AntiSquid: and index it slightly differently

elderlybeginner: nah, I'm keeping map data in distionary, where names are complex numbers, pretty useful for me for other operations

AntiSquid: are you trying to find the sector formula or what elderlybeginner?

elderlybeginner: yes, checking data in sectors

elderlybeginner: I guess I will have to divide it on real and imag :shrugging_man:

AntiSquid: int sx = ((sector -1) % 3) * 5;

               int sy = (int)floor((sector-1)/3) * 5;

AntiSquid: and then just +4 each

AntiSquid: for max value

AntiSquid: mine probably not the shortest

Zenoscave: or +2 for each for center with cheb distance

AntiSquid: done it in a rush

AntiSquid: or just save the starting points to array and then you kno where to iterate from

elderlybeginner: right, much simpler to keep only one point, don't know why i put from ... to

elderlybeginner: sectors are equal, I guess I wanted to be more independent, overly-independent

AntiSquid: was imagining you do something more sophisticated

elderlybeginner: sorry to disappoint you :wink:

struct: ok my map generator was wrong

icecream17: seed=icecream17 has 7 islands! I wonder if there's a better username?

icecream17: oops i miscounted, there's actually 9 islands

struct: icecream17 sorry to disapoint you

struct: but letters dont work as seed

icecream17: So it skips the letters?

Zenoscave: it did for my name. in the runner

Default avatar.png JBM: or maybe you're just 0

struct: yes Zenoscave but the seed is random everytime

icecream17: I mean, seed=potato is different from seed=icecream, so I think it's converting it or something

Zenoscave: huh

struct: It doesnt generate the same map

icecream17: oh

AntiSquid: 1st of April today btw, nobody doing an April's fools, which is fine

Zenoscave: that is the April fools

Default avatar.png JBM: isn't 1 april yesterday for most of the world?

Tunga: The life itself have done some stuff, we have no energy for jokes

icecream17: At the page itself is....

struct: 123 islands -1425933

struct: What would bots do on this map

reCurse: I don't think we have the same definition of island

struct: Is the definition in game

struct: "Next height lines: a string of width chars representing the content of each cells of this row. x for an island, . for an empty cell."

reCurse: Doesn't change my statement

Kukiss: I was looking for 123 isolated (!?) island too..

struct: It was clickbait title

icecream17: I wish clickbait never existed

Zenoscave: April Fools!

struct: also 123 isolated would never be possible

icecream17: Not by this code....

struct: because minimum size for isolated island is 4

struct: if its not in corner

AntiSquid: struct this is still best seed: 156183823

AntiSquid: beat this one

icecream17: I like because some people will spawn at 14, 7

struct: That one seems better sure

struct: but has 122 islands

struct: *lands

icecream17: is lands

Astrobytes: *122 land cells

Zenoscave: *103 water cells

AntiSquid: i don't see 123 in the one you shared

Astrobytes: *0 air cells

AntiSquid: and the earth is flat on it right?

Zenoscave: *2 players

Astrobytes: Yea, icecream found the end of it yesterday

AntiSquid: ah i didn't copy the '-' ... nice seed struct

Valdemar: Hi. It is allowed to trigger mine the same turn it placed? It seems that game accept it, but mine not exploded. Here replay, turn 128

Zenoscave: no it should not be allowed

Astrobytes: No

AntiSquid: i win vs wlesvo on these odd looking big island maps, we should make them the norm

Astrobytes: Valdemar "You can't trigger multiple mines in the same turn. You can't place and trigger a mine in the same turn."

Counterbalance: ahhh why not

Valdemar: Astrobytes thanks, this is very sad. I dreamed about dash with superflous damage

struct: I also think it should be a thing

struct: would be good to chain with silence

AntiSquid: torpedoes should blow up mines

Astrobytes: It would completely change everything

Zenoscave: You could theortically get someone in one turn then

Astrobytes: Both of those would

AntiSquid: the original game blew mines up with torpedoes and imo it makes a lot more sense that way + it's a good counter to mines

Astrobytes: Yeah. It would kinda turn into UTG

Counterbalance: exploding mines don't affect other mines either right?

icecream17: I mean, I lost in turn 1 quite a few times....

Zenoscave: Astro you mean CR?

struct: no Counterbalance

struct: Mines are explosion proof

Astrobytes: Yeah Zenoscave :D

Zenoscave: ;)

icecream17: Ooh.. what if the map was a torus?

icecream17: Go left through the wall and end up on the right

AntiSquid: then it wouldn't be able to stay on the turtle's back

Astrobytes: Then it would be a toroidal map...

AntiSquid: oh wait it would stay on the turtle's back

AntiSquid: torus is much better idea

AntiSquid: let's redo the game

Zenoscave: Pocean of Pikapchta

Andragol: hello there is a key combination to indent automatically?

Zenoscave: yes. tab

Astrobytes: *Ocean Detective

wlesavo: Ocean of Ktulhu

ZarthaxX: *the combination*

AntiSquid: i just use tabs and press enter at the end of the line .

icecream17: Alt+2020 or Σ

icecream17: Yeah, use tav

struct: Imagine coding on multiple lines

icecream17: *tab

Zenoscave: ø/

struct: Use only 1 line

Zenoscave: Ø/

struct: Then you have no problems

AntiSquid: you can do that struct. you hold CTRL and click select multiple lines !!

AntiSquid: then you code multiple lines at once!

struct: No

struct: 1 line

struct: its better for performance

**Astrobytes starts writing perl

Zenoscave: No 0 lines

icecream17: You can ctrl+f and type in each space!

icecream17: Oh yeah? I can do better than 0 lines. Better than -1 too. Even -infinity and sqrt(-1)...

AntiSquid: and ctrl+h to replace the space with some code?

icecream17: I can do.... a watermelon amount of lines

Astrobytes: Complex coding with imaginary lines?

struct: Just enable regex on Ctrl+h

struct: type replace .

icecream17: Okay, press Ctrl+F, type space, and then press Ctrl+Enter, then type "Yay!"

struct: and press all

AntiSquid: does it improve performance?

icecream17: It improves by -Infinity.

struct: It becomes faster than D

Astrobytes: Nothing is faster than The D

Zenoscave: Tenacious D?

AntiSquid: not even light traveling through absolute vacuum

Astrobytes: Was more like Rapacious D with the D fanbois that got it approved on here :D

AntiSquid: D > TypeShit anyday

wlesavo: Dear Rodney

Astrobytes: I thought you could already use typescript on CG with a hacky thing anyway

Valdemar: Astrobytes what UTG stands for?

AntiSquid: crystal rush

struct: unleash the geek aka Crystal Rush

Zenoscave: lol

Astrobytes: Valdemar Crystal Rush

AntiSquid: but misspelled

Astrobytes: lel

wlesavo: as in crUsTall Gush

Astrobytes: Ewwww, that sounds... wrong

Valdemar: I missed that one

AntiSquid: crystal rush was sort of similar to this one

AntiSquid: hidden info game all over again

reCurse: CG just love their incomplete inputs

icecream17: error: complier no UndersTandinG

icecream17: Oh no... the Error screen shows "M" 1988 times with "..."

AntiSquid: rick and morty back on 3rd of May doesn't look like an April's fool

Astrobytes: Didn't even catch up with the last season tbh

icecream17: What? I put "slice" instead of "splice"? Ohhhhhhhhhhh

icecream17: I beat deafult on the first try!

icecream17: My code works again! finally

icecream17: For javascript, can variables outside of functions and loops be declared by "let" instead of "var"?

icecream17: I think so....

adoxography: Yes.

ThePythonian: Hey, does anyone here still use Java?

Zenoscave: many people

Uljahn: also 3 billion devices and Automaton2000

Automaton2000: it is on the other side of the map

Default avatar.png MustafaReda: Hi

Default avatar.png MustafaReda: any one to clash ?

Zenoscave: MustafaReda there is a competition currently. Most people will be doing that

Default avatar.png MustafaReda: ok thanks I already got it

SamuelCarinhas: YEET

Default avatar.png lordvidex: Anyone using Dart?

icecream17: Playing against myself.... both players said "True" for the array that checks if there are 0 possibleOpp positions.

icecream17: this bug is complicated

icecream17: anyone there?

icecream17: Turns out "finally" is actually something