• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 06:12
CEST 12:12
KST 19:12
  • 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
[ASL21] Ro8 Preview Pt1: Inheritors12[ASL21] Ro16 Preview Pt2: All Star10Team Liquid Map Contest #22 - The Finalists18[ASL21] Ro16 Preview Pt1: Fresh Flow9[ASL21] Ro24 Preview Pt2: News Flash10
Community News
2026 GSL Season 1 Qualifiers20Maestros of the Game 2 announced92026 GSL Tour plans announced15Weekly Cups (April 6-12): herO doubles, "Villains" prevail1MaNa leaves Team Liquid25
StarCraft 2
General
Team Liquid Map Contest #22 - The Finalists MaNa leaves Team Liquid Maestros of the Game 2 announced 2026 GSL Tour plans announced Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool
Tourneys
2026 GSL Season 1 Qualifiers Sparkling Tuna Cup - Weekly Open Tournament INu's Battles#14 <BO.9 2Matches> GSL CK: More events planned pending crowdfunding RSL Revival: Season 5 - Qualifiers and Main Event
Strategy
Custom Maps
[D]RTS in all its shapes and glory <3 [A] Nemrods 1/4 players [M] (2) Frigid Storage
External Content
The PondCast: SC2 News & Results Mutation # 523 Firewall Mutation # 522 Flip My Base Mutation # 521 Memorable Boss
Brood War
General
[ASL21] Ro8 Preview Pt1: Inheritors FlaSh: This Will Be My Final ASL【ASL S21 Ro.16】 Leta's ASL S21 Ro.16 review BGH Auto Balance -> http://bghmmr.eu/ ASL21 General Discussion
Tourneys
[ASL21] Ro8 Day 1 [Megathread] Daily Proleagues [ASL21] Ro16 Group D Escore Tournament StarCraft Season 2
Strategy
Fighting Spirit mining rates Simple Questions, Simple Answers What's the deal with APM & what's its true value Any training maps people recommend?
Other Games
General Games
Stormgate/Frost Giant Megathread Diablo IV Nintendo Switch Thread Dawn of War IV Total Annihilation Server - TAForever
Dota 2
The Story of Wings Gaming
League of Legends
G2 just beat GenG in First stand
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
Vanilla Mini Mafia Mafia Game Mode Feedback/Ideas TL Mafia Community Thread Five o'clock TL Mafia
Community
General
US Politics Mega-thread 3D technology/software discussion European Politico-economics QA Mega-thread Canadian Politics Mega-thread Things Aren’t Peaceful in Palestine
Fan Clubs
The IdrA Fan Club
Media & Entertainment
[Manga] One Piece Anime Discussion Thread [Req][Books] Good Fantasy/SciFi books Movie Discussion!
Sports
2024 - 2026 Football Thread Formula 1 Discussion McBoner: A hockey love story
World Cup 2022
Tech Support
streaming software Strange computer issues (software) [G] How to Block Livestream Ads
TL Community
The Automated Ban List
Blogs
Sexual Health Of Gamers
TrAiDoS
lurker extra damage testi…
StaticNine
Broowar part 2
qwaykee
Funny Nicknames
LUCKY_NOOB
Iranian anarchists: organize…
XenOsky
Customize Sidebar...

Website Feedback

Closed Threads



Active: 2218 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
Afreeca Starleague
10:00
Ro8 Match 1
Soma vs hero
Afreeca ASL 8493
StarCastTV_EN182
Liquipedia
Replay Cast
09:00
WardiTV Mondays #79
CranKy Ducklings82
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
ProTech161
SortOf 151
StarCraft: Brood War
Calm 10592
Jaedong 3481
Sea 2692
Hyuk 614
BeSt 548
EffOrt 520
Larva 275
actioN 213
Pusan 212
ZerO 183
[ Show more ]
Stork 181
Hyun 118
PianO 98
Rush 96
ToSsGirL 78
Killer 67
Aegong 59
Free 43
Nal_rA 22
HiyA 19
soO 16
yabsab 16
Sacsri 14
Shine 13
Bale 13
SilentControl 11
ajuk12(nOOB) 7
Barracks 0
Dota 2
XaKoH 581
NeuroSwarm498
resolut1ontv 196
XcaliburYe67
League of Legends
JimRising 422
Counter-Strike
olofmeister1715
shoxiejesuss1594
allub388
edward95
x6flipin15
Heroes of the Storm
Khaldor203
Other Games
singsing1380
B2W.Neo343
Pyrionflax207
Happy168
Mew2King58
Organizations
Dota 2
PGL Dota 2 - Main Stream222
StarCraft: Brood War
UltimateBattle 145
Kim Chul Min (afreeca) 8
lovetv 5
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 14 non-featured ]
StarCraft 2
• CranKy Ducklings SOOP7
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• TFBlade1172
• Stunt577
Other Games
• WagamamaTV267
Upcoming Events
Wardi Open
48m
Monday Night Weeklies
5h 48m
Replay Cast
13h 48m
Replay Cast
22h 48m
Afreeca Starleague
23h 48m
Leta vs YSC
GSL
1d 23h
Replay Cast
2 days
GSL
2 days
The PondCast
2 days
KCM Race Survival
2 days
[ Show More ]
Replay Cast
3 days
Replay Cast
3 days
Escore
3 days
Replay Cast
4 days
Replay Cast
4 days
IPSL
5 days
Ret vs Art_Of_Turtle
Radley vs TBD
BSL
5 days
Replay Cast
5 days
uThermal 2v2 Circuit
6 days
BSL
6 days
IPSL
6 days
eOnzErG vs TBD
G5 vs Nesh
Replay Cast
6 days
Wardi Open
6 days
Afreeca Starleague
6 days
Jaedong vs Light
Liquipedia Results

Completed

Escore Tournament S2: W4
WardiTV TLMC #16
Nations Cup 2026

Ongoing

BSL Season 22
ASL Season 21
CSL 2026 SPRING (S20)
IPSL Spring 2026
KCM Race Survival 2026 Season 2
StarCraft2 Community Team League 2026 Spring
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026

Upcoming

Escore Tournament S2: W5
KK 2v2 League Season 1
Acropolis #4
BSL 22 Non-Korean Championship
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
Maestros of the Game 2
2026 GSL S2
RSL Revival: Season 5
2026 GSL S1
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
IEM Atlanta 2026
Asian Champions League 2026
PGL Astana 2026
BLAST Rivals Spring 2026
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 © 2026 TLnet. All Rights Reserved.