• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 02:43
CET 08:43
KST 16:43
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
RSL Season 3 - Playoffs Preview0RSL Season 3 - RO16 Groups C & D Preview0RSL Season 3 - RO16 Groups A & B Preview2TL.net Map Contest #21: Winners12Intel X Team Liquid Seoul event: Showmatches and Meet the Pros10
Community News
Weekly Cups (Nov 24-30): MaxPax, Clem, herO win2BGE Stara Zagora 2026 announced15[BSL21] Ro.16 Group Stage (C->B->A->D)4Weekly Cups (Nov 17-23): Solar, MaxPax, Clem win3RSL Season 3: RO16 results & RO8 bracket13
StarCraft 2
General
Maestros of the Game: Live Finals Preview (RO4) BGE Stara Zagora 2026 announced Weekly Cups (Nov 24-30): MaxPax, Clem, herO win SC2 Proleague Discontinued; SKT, KT, SGK, CJ disband Information Request Regarding Chinese Ladder
Tourneys
$5,000+ WardiTV 2025 Championship Constellation Cup - Main Event - Stellar Fest RSL Revival: Season 3 Tenacious Turtle Tussle [Alpha Pro Series] Nice vs Cure
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 502 Negative Reinforcement Mutation # 501 Price of Progress Mutation # 500 Fright night Mutation # 499 Chilling Adaptation
Brood War
General
Which season is the best in ASL? [ASL20] Ask the mapmakers — Drop your questions BW General Discussion FlaSh's Valkyrie Copium BGH Auto Balance -> http://bghmmr.eu/
Tourneys
[Megathread] Daily Proleagues [BSL21] RO16 Group B - Sunday 21:00 CET [BSL21] RO16 Group C - Saturday 21:00 CET Small VOD Thread 2.0
Strategy
Game Theory for Starcraft How to stay on top of macro? Current Meta PvZ map balance
Other Games
General Games
Stormgate/Frost Giant Megathread The Perfect Game Path of Exile Nintendo Switch Thread Should offensive tower rushing be viable in RTS games?
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Mafia Game Mode Feedback/Ideas TL Mafia Community Thread
Community
General
Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine US Politics Mega-thread The Big Programming Thread Artificial Intelligence Thread
Fan Clubs
White-Ra Fan Club
Media & Entertainment
[Manga] One Piece Movie Discussion! Anime Discussion Thread
Sports
2024 - 2026 Football Thread Formula 1 Discussion NBA General Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Where to ask questions and add stream? The Automated Ban List
Blogs
James Bond movies ranking - pa…
Topin
Esports Earnings: Bigger Pri…
TrAiDoS
Thanks for the RSL
Hildegard
Saturation point
Uldridge
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1255 users

The Big Programming Thread - Page 410

Forum Index > General Forum
Post a Reply
Prev 1 408 409 410 411 412 1032 Next
Thread Rules
1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution.
2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20)
3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible.
4. Use [code] tags to format code blocks.
ThatGuy
Profile Blog Joined April 2008
Canada695 Posts
December 19 2013 03:41 GMT
#8181

// recursive computation of sum of ages of all players in the list
int sumAge(PlayerList list)
{
if(firstPlayer.getNext() == null)
{
return firstPlayer.getAge();
}
else
{
return head().getAge() + sumAge(tail());
}
}


plus


PlayerList tail()
{
PlayerList list = new PlayerList(head().getNext());
if(list.head() == null)
{
final PlayerList empty = new PlayerList();
return empty;
}
return list;
}


is absolutely gnarly logic. sumAge() always relies on the Player's getNext() to be null as a base case. However, in tail(), you check the same scenario, and return a new PlayerList with a null firstPlayer inside of it. So when you do the recursive call on sumAge(), the condition is now checking if a null object's getNext() is null...I don't really understand why this is even possible, lol. You really should be hitting NullReferenceExceptions, but maybe the StackOverflowError is resulting from this as a compensatory side effect somewhere?

It's dangerous to assume that objects being passed in are always going to be valid. You might prevent a lot of headaches if you check that firstPlayer itself is null instead.

On a side note, in tail(), why do you create another new list if the head is null? You're basically returning the exact same object.
ThatGuy
Profile Blog Joined April 2008
Canada695 Posts
Last Edited: 2013-12-19 03:43:42
December 19 2013 03:43 GMT
#8182
Oh and for future reference, one quick look at the call stack should answer your future stack overflow questions rather quickly .
Vilanoil
Profile Blog Joined July 2010
Germany47 Posts
December 19 2013 07:48 GMT
#8183
Okay i just took a look at the stack trace ( i think ?^^ ) it's like this :

+ Show Spoiler +


Exception in thread "main" java.lang.StackOverflowError
at PlayerList.<init>(PlayerList.java:12)
at PlayerList.tail(PlayerList.java:36)
at PlayerList.sumAge(PlayerList.java:115)
at PlayerList.sumAge(PlayerList.java:115)
at PlayerList.sumAge(PlayerList.java:115)
at PlayerList.sumAge(PlayerList.java:115)



Could the problem be that when i call the constructor with PlayerList( head().getNext()) and it is null that it causes problems?
I'm bit confused i have to try again later when i m back at home..
adwodon
Profile Blog Joined September 2010
United Kingdom592 Posts
December 19 2013 07:58 GMT
#8184
Hi guys, quick semi-programming question.

I've been set a task to document a section of our codebase, a server which displays IP Camera feeds and its interactions with a specific DLL which drives the station which provides the feeds.

I never did CS at university so I'm a little unsure about how to approach this, I submitted a first draft and got some useful feedback but for the final document I'd like to try and provide a more visual explanation, are there any tools for doing this? I know that Visual Studio Ultimate has tools for this but I'm only on professional, bearing in mind this is all written in C for Windows are there are good visualisation tools or should I just crack open paint / something to just make some diagrams?

Any advice or examples would be hugely appreciated thanks!
Sikian
Profile Blog Joined September 2011
Spain177 Posts
December 19 2013 08:12 GMT
#8185
@adwidon, I'm not sure if I really picked up on what you are looking for, but this might help: http://diagramo.com/ (or maybe just open-office draw!)

Hope it helps
Helping Starbow :: a.k.a. SoaH
Cyx.
Profile Joined November 2010
Canada806 Posts
December 19 2013 09:03 GMT
#8186
On December 19 2013 16:48 Vilanoil wrote:
Okay i just took a look at the stack trace ( i think ?^^ ) it's like this :

+ Show Spoiler +


Exception in thread "main" java.lang.StackOverflowError
at PlayerList.<init>(PlayerList.java:12)
at PlayerList.tail(PlayerList.java:36)
at PlayerList.sumAge(PlayerList.java:115)
at PlayerList.sumAge(PlayerList.java:115)
at PlayerList.sumAge(PlayerList.java:115)
at PlayerList.sumAge(PlayerList.java:115)



Could the problem be that when i call the constructor with PlayerList( head().getNext()) and it is null that it causes problems?
I'm bit confused i have to try again later when i m back at home..


Well, since this is pretty obviously (I think?) a homework assignment I'll stay in the spirit of not giving you the answer straight up, but here's a hint... think about which of your two sumAge functions gets called when you call sumAge(tail()). Especially important, make sure you're thinking about the implicit this - both in the definition and in the call ^^

also, I'm not a good Java programmer by any means so this might be more obvious if you've used the language a bit but why in all glorious hell have you defined two versions of all your methods?
Shield
Profile Blog Joined August 2009
Bulgaria4824 Posts
Last Edited: 2013-12-19 15:29:52
December 19 2013 15:24 GMT
#8187
I know it's a slight detail, but I'd like to read some opinions. Let's say you need to count lines but you need to do something specific only for the 1st line, is it better to:


boolean firstLine = true;

while (some condition) {
if (firstLine) {
// do something
firstLine = false;
}
else {
// deal with next lines
}
}


or is it better to:


while (some condition) {
if (numberOfLines == 1) {
// do something
}
else {
// deal with next lines
}
}


As I said, I know it's a minor detail but I'd rather do it properly. I know people say "don't use magic numbers", hence my uncertainty here.
njt7
Profile Joined August 2012
Sweden769 Posts
Last Edited: 2013-12-19 15:46:39
December 19 2013 15:46 GMT
#8188
When talking about minor details I cant answer your question but I can add that I would rather see you name "numberOfLines" to something more describing such as "lineNumber". I know you might not have english as your first language but numberOfLines would to me be seen as the totalNumberOfLines. Maybe that is what you want I dunno it is hard to answer questions in a vacuum.

To your question again, if you are using your variable "numberOfLines" for something else as well I think the second option is best as you do not need to add another variable to keep track of.
"All the casters who flamed me ever for anything."
Yoshi-
Profile Joined October 2008
Germany10227 Posts
December 19 2013 15:52 GMT
#8189
Why even do that in the while loop?
Just do it before and then start the while loop at the second line
Shield
Profile Blog Joined August 2009
Bulgaria4824 Posts
December 19 2013 16:02 GMT
#8190
On December 20 2013 00:46 njt7 wrote:
When talking about minor details I cant answer your question but I can add that I would rather see you name "numberOfLines" to something more describing such as "lineNumber". I know you might not have english as your first language but numberOfLines would to me be seen as the totalNumberOfLines. Maybe that is what you want I dunno it is hard to answer questions in a vacuum.

To your question again, if you are using your variable "numberOfLines" for something else as well I think the second option is best as you do not need to add another variable to keep track of.


Thanks, you have a point about naming.

On December 20 2013 00:52 Yoshi- wrote:
Why even do that in the while loop?
Just do it before and then start the while loop at the second line


Actually, yes. It would make more sense if I do it your way. Thanks.
Vilanoil
Profile Blog Joined July 2010
Germany47 Posts
December 19 2013 22:49 GMT
#8191
On December 19 2013 18:03 Cyx. wrote:
Show nested quote +
On December 19 2013 16:48 Vilanoil wrote:
Okay i just took a look at the stack trace ( i think ?^^ ) it's like this :

+ Show Spoiler +


Exception in thread "main" java.lang.StackOverflowError
at PlayerList.<init>(PlayerList.java:12)
at PlayerList.tail(PlayerList.java:36)
at PlayerList.sumAge(PlayerList.java:115)
at PlayerList.sumAge(PlayerList.java:115)
at PlayerList.sumAge(PlayerList.java:115)
at PlayerList.sumAge(PlayerList.java:115)



Could the problem be that when i call the constructor with PlayerList( head().getNext()) and it is null that it causes problems?
I'm bit confused i have to try again later when i m back at home..


Well, since this is pretty obviously (I think?) a homework assignment I'll stay in the spirit of not giving you the answer straight up, but here's a hint... think about which of your two sumAge functions gets called when you call sumAge(tail()). Especially important, make sure you're thinking about the implicit this - both in the definition and in the call ^^

also, I'm not a good Java programmer by any means so this might be more obvious if you've used the language a bit but why in all glorious hell have you defined two versions of all your methods?


Yes your right, i had to finish that exercise for my lab, but i stated that in the my first post
I really have to thank guys for your reply's, i just started it again from scratch and it works now. I realized that i made some mistakes at the call of tail().
I always called it with out an object ! so basically the method tried to create a tail and had nothing to work with.


why in all glorious hell have you defined two versions of all your methods?

For example my project:

int sumAge(PlayerList list){
//stuff
}

int sumAge(){
return sumAge(this);
}
// is called in main with
players.sumAge();

I'm not sure but it seems like that is a recursive call of sumAge() and that (this) is automatically referring to the list players.
Would be awesome if someone could explain this.
lannisport
Profile Joined February 2012
878 Posts
December 19 2013 23:48 GMT
#8192
So I've been learning python (My main book is "How to think like a Computer Scientist"). Eventually though I'd like to create a financial management app on Django. Can anyone recommend me a book or an online course that focuses on the web programming of things? Something that deals with databases, API integrations, Django stuff in particular?
Shikada
Profile Joined May 2012
Serbia976 Posts
December 20 2013 00:10 GMT
#8193
On December 20 2013 08:48 lannisport wrote:
So I've been learning python (My main book is "How to think like a Computer Scientist"). Eventually though I'd like to create a financial management app on Django. Can anyone recommend me a book or an online course that focuses on the web programming of things? Something that deals with databases, API integrations, Django stuff in particular?


Django is quite popular, you should be able to find beginner tutorials easily on the net. After that gets you started this book is very highly regarded, and is up to date too:

http://www.amazon.com/Two-Scoops-Django-Best-Practices/dp/1481879707/ref=sr_1_1?s=books&ie=UTF8&qid=1387497972&sr=1-1&keywords=django

Happy hacking
Maero
Profile Joined December 2007
349 Posts
December 20 2013 00:26 GMT
#8194
On December 20 2013 07:49 Vilanoil wrote:

int sumAge(PlayerList list){
//stuff
}

int sumAge(){
return sumAge(this);
}
// is called in main with
players.sumAge();

I'm not sure but it seems like that is a recursive call of sumAge() and that (this) is automatically referring to the list players.
Would be awesome if someone could explain this.


All this is really doing is giving you a shorthand to sum the ages of the PlayerList this method is being called from. Ex.

PlayerList a;
PlayerList b; // pretend these have stuff in it

a.sumAge(b); // performs the operation on PlayerList b (I assume summing up the ages...)
a.sumAge(); // calls the non-parameterized one, then falls back to the parameterized method

// Basically...

a.sumAge() == a.sumAge(a);


Let me know if that doesn't make sense! It seems like a strange implementation, but that is the literal way that it is working.
Cyx.
Profile Joined November 2010
Canada806 Posts
December 20 2013 01:11 GMT
#8195
On December 20 2013 09:26 Maero wrote:
Show nested quote +
On December 20 2013 07:49 Vilanoil wrote:

int sumAge(PlayerList list){
//stuff
}

int sumAge(){
return sumAge(this);
}
// is called in main with
players.sumAge();

I'm not sure but it seems like that is a recursive call of sumAge() and that (this) is automatically referring to the list players.
Would be awesome if someone could explain this.


All this is really doing is giving you a shorthand to sum the ages of the PlayerList this method is being called from. Ex.

PlayerList a;
PlayerList b; // pretend these have stuff in it

a.sumAge(b); // performs the operation on PlayerList b (I assume summing up the ages...)
a.sumAge(); // calls the non-parameterized one, then falls back to the parameterized method

// Basically...

a.sumAge() == a.sumAge(a);


Let me know if that doesn't make sense! It seems like a strange implementation, but that is the literal way that it is working.


But I guess the question is... good lord, why, please why something so awfully confusing? players.sumAge() will call sumAge(this)... calling players.sumAge(this) within that function just means you end up calling sumAge(this, this) basically. It's literally just adding an extra definition and extra confusion to something that should be one method. I see absolutely zero sense in doing it this way instead of just writing sumAge() to do the actual summing of ages, and then not bother with the definition that has an extra parameter (which never even gets used).
mcc
Profile Joined October 2010
Czech Republic4646 Posts
December 20 2013 01:14 GMT
#8196
On December 20 2013 00:24 darkness wrote:
I know it's a slight detail, but I'd like to read some opinions. Let's say you need to count lines but you need to do something specific only for the 1st line, is it better to:


boolean firstLine = true;

while (some condition) {
if (firstLine) {
// do something
firstLine = false;
}
else {
// deal with next lines
}
}


or is it better to:


while (some condition) {
if (numberOfLines == 1) {
// do something
}
else {
// deal with next lines
}
}


As I said, I know it's a minor detail but I'd rather do it properly. I know people say "don't use magic numbers", hence my uncertainty here.

As some pointed out, it is better to move the code outside of the loop if possible. But sometimes it is more trouble than it is worth and then your question is still valid. In those cases I would say if you already have some iteration count, just use it, otherwise use the bool as it is much clearer what the purpose of the condition is.

Possible scenario where moving code outside of the loop is maybe not the best idea :


boolean firstLine = true;

while (some condition) {
if (firstLine) {
// do something
firstLine = false;
}

// do something else for all lines including first
}


This often pops up when manipulating string and similar stuff. In this case moving the code for first line out of the loop necessitates duplication of code and in general I would say you should not do it.
lannisport
Profile Joined February 2012
878 Posts
December 20 2013 01:59 GMT
#8197
On December 20 2013 09:10 Shikada wrote:
Show nested quote +
On December 20 2013 08:48 lannisport wrote:
So I've been learning python (My main book is "How to think like a Computer Scientist"). Eventually though I'd like to create a financial management app on Django. Can anyone recommend me a book or an online course that focuses on the web programming of things? Something that deals with databases, API integrations, Django stuff in particular?


Django is quite popular, you should be able to find beginner tutorials easily on the net. After that gets you started this book is very highly regarded, and is up to date too:

http://www.amazon.com/Two-Scoops-Django-Best-Practices/dp/1481879707/ref=sr_1_1?s=books&ie=UTF8&qid=1387497972&sr=1-1&keywords=django

Happy hacking


Wow that's exactly what I was looking for thanks! There's even a chapter specifically on REST APIs.
Maero
Profile Joined December 2007
349 Posts
Last Edited: 2013-12-20 02:04:40
December 20 2013 02:02 GMT
#8198
On December 20 2013 10:11 Cyx. wrote:
Show nested quote +
On December 20 2013 09:26 Maero wrote:
On December 20 2013 07:49 Vilanoil wrote:

int sumAge(PlayerList list){
//stuff
}

int sumAge(){
return sumAge(this);
}
// is called in main with
players.sumAge();

I'm not sure but it seems like that is a recursive call of sumAge() and that (this) is automatically referring to the list players.
Would be awesome if someone could explain this.


All this is really doing is giving you a shorthand to sum the ages of the PlayerList this method is being called from. Ex.

PlayerList a;
PlayerList b; // pretend these have stuff in it

a.sumAge(b); // performs the operation on PlayerList b (I assume summing up the ages...)
a.sumAge(); // calls the non-parameterized one, then falls back to the parameterized method

// Basically...

a.sumAge() == a.sumAge(a);


Let me know if that doesn't make sense! It seems like a strange implementation, but that is the literal way that it is working.


But I guess the question is... good lord, why, please why something so awfully confusing? players.sumAge() will call sumAge(this)... calling players.sumAge(this) within that function just means you end up calling sumAge(this, this) basically. It's literally just adding an extra definition and extra confusion to something that should be one method. I see absolutely zero sense in doing it this way instead of just writing sumAge() to do the actual summing of ages, and then not bother with the definition that has an extra parameter (which never even gets used).


We completely agree! But he asked for an explanation of how it was working, so that's what I provided
The note at the end about it being a strange implementation was alluding to your point - there's no real good reason to put it together in that way and either one or the other would work fine (depending on how the method interacts with other PlayerList age sums).
Cyx.
Profile Joined November 2010
Canada806 Posts
December 20 2013 02:20 GMT
#8199
On December 20 2013 11:02 Maero wrote:
Show nested quote +
On December 20 2013 10:11 Cyx. wrote:
On December 20 2013 09:26 Maero wrote:
On December 20 2013 07:49 Vilanoil wrote:

int sumAge(PlayerList list){
//stuff
}

int sumAge(){
return sumAge(this);
}
// is called in main with
players.sumAge();

I'm not sure but it seems like that is a recursive call of sumAge() and that (this) is automatically referring to the list players.
Would be awesome if someone could explain this.


All this is really doing is giving you a shorthand to sum the ages of the PlayerList this method is being called from. Ex.

PlayerList a;
PlayerList b; // pretend these have stuff in it

a.sumAge(b); // performs the operation on PlayerList b (I assume summing up the ages...)
a.sumAge(); // calls the non-parameterized one, then falls back to the parameterized method

// Basically...

a.sumAge() == a.sumAge(a);


Let me know if that doesn't make sense! It seems like a strange implementation, but that is the literal way that it is working.


But I guess the question is... good lord, why, please why something so awfully confusing? players.sumAge() will call sumAge(this)... calling players.sumAge(this) within that function just means you end up calling sumAge(this, this) basically. It's literally just adding an extra definition and extra confusion to something that should be one method. I see absolutely zero sense in doing it this way instead of just writing sumAge() to do the actual summing of ages, and then not bother with the definition that has an extra parameter (which never even gets used).


We completely agree! But he asked for an explanation of how it was working, so that's what I provided
The note at the end about it being a strange implementation was alluding to your point - there's no real good reason to put it together in that way and either one or the other would work fine (depending on how the method interacts with other PlayerList age sums).


okie, cool =) I guess I just wasn't sure if it was like... a Java thing or something (I mostly use C++) or if it was as totally weird as it seemed. @Vilanoil: were you given the code like that (for your class) or did you write the whole PlayerList class yourself?
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
December 20 2013 03:14 GMT
#8200
Finished my term at Xtreme/Pivotal Labs! Great programming company in Toronto, visit them if you want a really good internship or a good full-time opportunity.
There is no one like you in the universe.
Prev 1 408 409 410 411 412 1032 Next
Please log in or register to reply.
Live Events Refresh
Next event in 4h 17m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
SortOf 239
ProTech118
StarCraft: Brood War
Horang2 1392
actioN 535
PianO 124
Larva 123
soO 24
NotJumperer 20
Dewaltoss 17
Hm[arnc] 11
Icarus 8
Dota 2
XaKoH 444
League of Legends
JimRising 655
C9.Mang0323
Super Smash Bros
Westballz18
Other Games
summit1g14268
WinterStarcraft548
Happy223
Organizations
Other Games
gamesdonequick756
StarCraft: Brood War
UltimateBattle 90
lovetv 4
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 13 non-featured ]
StarCraft 2
• Berry_CruncH228
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Lourlo1223
• Stunt494
Upcoming Events
Wardi Open
4h 17m
StarCraft2.fi
9h 17m
Replay Cast
16h 17m
The PondCast
1d 2h
OSC
1d 8h
Demi vs Mixu
Nicoract vs TBD
Babymarine vs MindelVK
ForJumy vs TBD
Shameless vs Percival
Replay Cast
1d 16h
Korean StarCraft League
2 days
CranKy Ducklings
3 days
SC Evo League
3 days
BSL 21
3 days
Sziky vs OyAji
Gypsy vs eOnzErG
[ Show More ]
OSC
3 days
Solar vs Creator
ByuN vs Gerald
Percival vs Babymarine
Moja vs Krystianer
EnDerr vs ForJumy
sebesdes vs Nicoract
Sparkling Tuna Cup
4 days
OSC
4 days
BSL 21
4 days
Bonyth vs StRyKeR
Tarson vs Dandy
Replay Cast
5 days
Wardi Open
5 days
StarCraft2.fi
5 days
Replay Cast
5 days
StarCraft2.fi
6 days
PiGosaur Monday
6 days
Liquipedia Results

Completed

Proleague 2025-11-30
RSL Revival: Season 3
Light HT

Ongoing

C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
YSL S2
BSL Season 21
CSCL: Masked Kings S3
Slon Tour Season 2
Acropolis #4 - TS3
META Madness #9
SL Budapest Major 2025
ESL Impact League Season 8
BLAST Rivals Fall 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2

Upcoming

BSL 21 Non-Korean Championship
Acropolis #4
IPSL Spring 2026
Bellum Gens Elite Stara Zagora 2026
HSC XXVIII
RSL Offline Finals
WardiTV 2025
Kuram Kup
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual
eXTREMESLAND 2025
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Disclosure: This page contains affiliate marketing links that support TLnet.

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.