• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 13:14
CEST 19:14
KST 02:14
  • 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: Inheritors2[ASL21] Ro16 Preview Pt2: All Star10Team Liquid Map Contest #22 - The Finalists16[ASL21] Ro16 Preview Pt1: Fresh Flow9[ASL21] Ro24 Preview Pt2: News Flash10
Community News
2026 GSL Season 1 Qualifiers19Maestros of the Game 2 announced92026 GSL Tour plans announced15Weekly Cups (April 6-12): herO doubles, "Villains" prevail1MaNa leaves Team Liquid25
StarCraft 2
General
MaNa leaves Team Liquid Maestros of the Game 2 announced 2026 GSL Tour plans announced Team Liquid Map Contest #22 - The Finalists Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament 2026 GSL Season 1 Qualifiers 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
Mutation # 522 Flip My Base The PondCast: SC2 News & Results Mutation # 521 Memorable Boss Mutation # 520 Moving Fees
Brood War
General
[ASL21] Ro8 Preview Pt1: Inheritors Leta's ASL S21 Ro.16 review FlaSh: This Will Be My Final ASL【ASL S21 Ro.16】 BGH Auto Balance -> http://bghmmr.eu/ ASL21 General Discussion
Tourneys
[ASL21] Ro16 Group D [Megathread] Daily Proleagues Escore Tournament StarCraft Season 2 [ASL21] Ro16 Group C
Strategy
Simple Questions, Simple Answers What's the deal with APM & what's its true value Any training maps people recommend? Fighting Spirit mining rates
Other Games
General Games
Nintendo Switch Thread Dawn of War IV Diablo IV Total Annihilation Server - TAForever Starcraft Tabletop Miniature Game
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 Canadian Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread YouTube Thread
Fan Clubs
The IdrA Fan Club
Media & Entertainment
[Manga] One Piece Anime Discussion Thread [Req][Books] Good Fantasy/SciFi books Movie Discussion!
Sports
Formula 1 Discussion 2024 - 2026 Football Thread McBoner: A hockey love story
World Cup 2022
Tech Support
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: 1666 users

The Big Programming Thread - Page 400

Forum Index > General Forum
Post a Reply
Prev 1 398 399 400 401 402 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.
pebble444
Profile Blog Joined March 2011
Italy2503 Posts
November 25 2013 11:48 GMT
#7981
Thank you for your advice RoyGBiv_13 and obesechicken13.

I have successfully made a website/blog, the host is blogger, which works well for now. Didn' t have to learn any html or java to set it up, while i' m not indipendent it works ok since my objective is to have a virtual place.

"Awaken my Child, and embrace the Glory that is your Birthright"
Shield
Profile Blog Joined August 2009
Bulgaria4824 Posts
Last Edited: 2013-11-25 18:39:23
November 25 2013 18:28 GMT
#7982
Sudoku
1.Enumerate all empty cells in typewriter order (left to right, top to bottom)

2.Our “current cell” is the first cell in the enumeration.

3.Enter a 1 into the current cell. If this violates the Sudoku condition, try entering a 2, then a 3, and so forth, until
a. the entry does not violate the Sudoku condition, or until
b. you have reached 9 and still violate the Sudoku condition.

4.In case a: if the current cell was the last enumerated one, then the puzzle is solved. If not, then go back to step 2 with the “current cell” being the next cell.
In case b: if the current cell is the first cell in the enumeration, then the Sudoku puzzle does not have a solution. If not, then erase the 9 from the corrent cell, call the previous cell in the enumeration the new “current cell”, and continue with step 3.


Is this even legitimate algorithm? I've tried to implement it but it runs forever.

I feel like this part
In case b: if the current cell is the first cell in the enumeration, then the Sudoku puzzle does not have a solution. If not, then erase the 9 from the current cell, call the previous cell in the enumeration the new “current cell”, and continue with step 3.
messes up everything.

I'm so stuck at implementing a sudoku solver that isn't hard to write. I'm aware of Knuth's dancing links but I think it'd be hard for me to implement.

Edit: it's possible I've made a mistake but I'm unfortunately blind to see it
Zocat
Profile Joined April 2010
Germany2229 Posts
Last Edited: 2013-11-25 18:57:28
November 25 2013 18:52 GMT
#7983
It shouldnt mess up everything.

Imagine you change the algorithm to only check if the Sudoku condition is violated when there are 0 empty cells (so basically we change step 3). And imagine to go the recursive route.
What your algorithm does now is:
One enum with empty cells; some given enum with the initial values.
You take the 1st empty cell and set it to 1, now call the algorithm again with this new enum as the given enum.

Repeat and you will have a board where you only have the given values, and every other field has a 1.
You now check the Sudoku condition - which obviously fails.
So you remove the last 1 and set it to 2. This obviously fails again etc etc.
It might happen that every possible combination fails where you have a 1 in your initial empty field. You now set it to 2 and repeat.
If you reach 9 and it STILL doesnt work - you have no solution, since you checked every possible combination on the entire board.

Step 3 is only a speed up, since you dont need to check other combinations if you already know it's going to fail.

Edit: To clarify: Your algorithm is iterative, I mentioned the recursive approach(calling itself again), to maybe give you an insight how it works.
In your algorithm (if you change the check condition to complete only after every field is filled) you will also brute force every possible combination.

Maybe post your code, dunno.
I would "break" the loop at the highlighted part.
BlazingSonic
Profile Joined April 2011
Germany51 Posts
Last Edited: 2013-11-25 19:16:09
November 25 2013 19:14 GMT
#7984
I might have a few tultra noob questions here. I just started to learn processing at an university. Very basic stuff. Is there anything you guys can tell me to make the process of learning this easier/ better? Are there any decent guides/ tutorials that explain it in a comprehensible way? Should I look at other languages to get a better understanding of the overall thing? Any advice you could give would be really appreciated as I don´t want to suck at this from the beginning xD
Shield
Profile Blog Joined August 2009
Bulgaria4824 Posts
Last Edited: 2013-11-25 19:28:17
November 25 2013 19:16 GMT
#7985
Since I don't know yet if I'm allowed to post code because of university's stuff, I'll just go with pseudo-code.

This is what I have now:


for row = 0 to 9
for column = 0 to 9
if grid[row][column] is 0
grid[row][column] = 1

currentValue = grid[row][column]

while (!checkGrid) // the whole grid is validated
if currentValue < 9
grid[row][column]++
currentValue++
else
// this is to see if 9 is ok to be there
if (checkGrid)
break
else
// if not, then dead end
grid[row][column] = 0

// if the previous cell is not on the same row
if (column is 0)
column = 8
row = row - 1
else
column = column - 1
// the place I get stuck?

// reset the previous cell's value to 0
// so the next iteration detects it as empty
grid[row][column = 0

// subtract column again because of 'for' loop's iteration
column = column - 1

break
return true (this is when all loops end, so solution is found?)


I hope I've expressed clearly what I do. I've added some comments just in case.

Edit: I've fixed some mistakes

Edit #2: I'm aware I don't go back to the previous empty cell and that I go back to just the previous cell (regardless if it is empty), but it doesn't work even in this case
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
Last Edited: 2013-11-25 19:31:12
November 25 2013 19:30 GMT
#7986
I'd just use a stack of things that are/identify cells, makes it a lot easier to move back to the previous cell.
If you don't know where you enter an infinite loop, just run the program with a breakpoint and check it out by executing a couple of steps.

Don't do things like
grid[row][column]++
currentValue++

Grab the currentValue inside of the while loop istead. Modifying the original and the copy is bad. Modify the original and make a new copy. This is likely where your bug comes from too, you probably don't have the right currentValue after moving back a cell (didn't verify though).
If you have a good reason to disagree with the above, please tell me. Thank you.
Shield
Profile Blog Joined August 2009
Bulgaria4824 Posts
November 25 2013 19:43 GMT
#7987
On November 26 2013 04:30 spinesheath wrote:
I'd just use a stack of things that are/identify cells, makes it a lot easier to move back to the previous cell.
If you don't know where you enter an infinite loop, just run the program with a breakpoint and check it out by executing a couple of steps.

Don't do things like
grid[row][column]++
currentValue++

Grab the currentValue inside of the while loop istead. Modifying the original and the copy is bad. Modify the original and make a new copy. This is likely where your bug comes from too, you probably don't have the right currentValue after moving back a cell (didn't verify though).


Can you please clarify how you'd use the "stack of things that are/identify cells"? I've also noticed it may be one of my problems.
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
November 25 2013 19:56 GMT
#7988
On November 26 2013 04:43 darkness wrote:
Show nested quote +
On November 26 2013 04:30 spinesheath wrote:
I'd just use a stack of things that are/identify cells, makes it a lot easier to move back to the previous cell.
If you don't know where you enter an infinite loop, just run the program with a breakpoint and check it out by executing a couple of steps.

Don't do things like
grid[row][column]++
currentValue++

Grab the currentValue inside of the while loop istead. Modifying the original and the copy is bad. Modify the original and make a new copy. This is likely where your bug comes from too, you probably don't have the right currentValue after moving back a cell (didn't verify though).


Can you please clarify how you'd use the "stack of things that are/identify cells"? I've also noticed it may be one of my problems.

There are plenty of options, partially depending on your implementation.
For example you could have a stack of pointers/references to the cells if your language supports that. Potentially with the cells being classes instead of ints.
Or you could have a stack of (row, column) pairs.
Or, preferably if you implement the sudoku grid as a single array of length 81, just a stack of ints as the indices in the sudoku grid array.

As you work your way through the algorithm, whenever you start working on a new cell, you push the cell identifier on top of the stack and work with the top of the stack. Whenever you need to go to the previous cell, you just pop the top of the stack.
If you have a good reason to disagree with the above, please tell me. Thank you.
dae
Profile Joined June 2010
Canada1600 Posts
Last Edited: 2013-11-25 20:43:08
November 25 2013 20:41 GMT
#7989
A simple optimization for sudoku solving is keep track of the number of different valid entries for each cell. For each step the "next" cell you go to solve is the one that has the least number of possible choices for it.

This adds a bit of overhead of adding/removing possible options from cells as you try out options, but it massively reduces in size the backtracking tree.

Of course this way you cant just iterate over all the cells, and have to maintain some sort of queue.
centirius
Profile Joined April 2010
Sweden40 Posts
Last Edited: 2013-11-25 20:47:41
November 25 2013 20:43 GMT
#7990
On November 26 2013 04:16 darkness wrote:
Since I don't know yet if I'm allowed to post code because of university's stuff, I'll just go with pseudo-code.



I think you should consider splitting this into multiple smaller functions, both to make it much easier to test individual parts and simpler to understand.
I'd consider a structure like this but you'd obviously have to write the code to check if a grid is valid etc yourself:


public SolveSudoku(Grid)
{
if(tryToSolve(Grid))
return;
else
throw new InvalidInputException()
}

private boolean checkGrid(Grid)
{
if(sudokuconditions)
return true;
else
return false;
}

private int getNextOpenPosition(Grid)
{
//find position, if grid is full return -1
}

private boolean tryToSolve(Grid)
{
int currentPosition = getNextOpenPosition(Grid)
if(currentPosition == -1) //grid is full
return true;
for(int i = 1; i < 10; i ++)
{
Grid[currentPosition] = i;
if(checkGrid(Grid)) //the number inserted does not break any rules
if(tryToSolve(Grid)) //do the same for the next position on the grid
return true; //if the next position works, and consequently everything after that

// else just keep the loop going and try the next number
}
return false; //no numbers work, return false (means a previous number was wrong)
}


Of course, I'm not sure what language you're using so you might have to pass the grid back when you reach the end of the recursion, depending on how it handles array references and such.
This has not been tested btw, but is mostly to illustrate how much simpler it can get if you split up the different parts into different functions.

Edit: damn formatting is annoying
gedatsu
Profile Joined December 2011
1286 Posts
Last Edited: 2013-11-25 21:02:38
November 25 2013 21:01 GMT
#7991
I wrote a sudoku solver for an introductory programming course a few years ago, the main structure looked like this:

int[][] board = new int[9][9];

main {
initialize preset values to 1-9. all other cells should be set to 0
if (solve(0)) {
//solution is now stored in board.
}
}

boolean solve(int cell) {
if (cell > 80) return true;
int row = cell/9;
int col = cell%9;
if board[row][col] != 0 return solve(cell+1);
for (int i = 1; i < 10; i++) {
if (okToPlace(i,row,col)) {
board[row][col] = i;
if (solve(cell+1)) return true;
board[row][col] = 0;
}
}
return false;
}

boolean okToPlace(int i, int row, int col) {
return true if placing i in board[row][col] is legal with regards to all existing values
else return false
}


Of course, this thing is pretty slow and very dumb. It is a much more interesting challenge to write a solver that doesn't brute force a solution.
Shield
Profile Blog Joined August 2009
Bulgaria4824 Posts
Last Edited: 2013-11-26 17:59:45
November 26 2013 17:51 GMT
#7992
@gedatsu
What I don't understand is why there is no backtracking if all 9 numbers fail. E.g. cell - 1 to go back to the previous cell. Maybe I'm missing something?
gedatsu
Profile Joined December 2011
1286 Posts
November 26 2013 18:03 GMT
#7993
On November 27 2013 02:51 darkness wrote:
@gedatsu
What I don't understand is why there is no backtracking if all 9 numbers fail. E.g. cell - 1 to go back to the previous cell. Maybe I'm missing something?

If all 9 numbers fail, you will reset the value to 0, exit the loop and return false. That means the calling function will have to take another step in its own loop, i.e. a different value is tried in the preceding cell.
Fawkes
Profile Blog Joined May 2010
Canada1935 Posts
November 26 2013 18:32 GMT
#7994
Does anybody know how I can keep track or make "sets/lists" of checkboxes on a form?

Right now my form has 3 sets of checkboxes which are used to answer 3 different questions. I am writing javascript code to do validation on these "sets", however I am unsure on how to pull them. The validation I am trying to write is to ensure at least one is checked. I do believe I understand how to do this part, I am just unsure on how I can group the checkboxes or pull them in the groups that I want without hardcoding like what I mention below:

For the first set, I initially just used if statements and hardcode their names because the set of checkboxes was small and it would be only 5 nested ifs, however for the later sets of checkboxes, there may be 20+ options so this seems unfeasible. I tried looking at the DOM element.getElementsByTagName(), however this would return every single checkbox on the form if I understand it correctly.

Taeyeon ~ Jennie ~ Seulgi ~ Irene @Fawkes711
centirius
Profile Joined April 2010
Sweden40 Posts
November 26 2013 18:52 GMT
#7995
On November 27 2013 03:32 Fawkes wrote:
Does anybody know how I can keep track or make "sets/lists" of checkboxes on a form?

Right now my form has 3 sets of checkboxes which are used to answer 3 different questions. I am writing javascript code to do validation on these "sets", however I am unsure on how to pull them. The validation I am trying to write is to ensure at least one is checked. I do believe I understand how to do this part, I am just unsure on how I can group the checkboxes or pull them in the groups that I want without hardcoding like what I mention below:

For the first set, I initially just used if statements and hardcode their names because the set of checkboxes was small and it would be only 5 nested ifs, however for the later sets of checkboxes, there may be 20+ options so this seems unfeasible. I tried looking at the DOM element.getElementsByTagName(), however this would return every single checkbox on the form if I understand it correctly.



I'm far from an expert on javascript, but if there is no built in way to do this, you could put the checkboxes inside a div and then loop through everything in the div.
pseudocode:



<html>
<div id="boxgrp1">
<input type = checkbox>
<input type = checkbox>
</div>
</html>

javascript (not sure if this is the correct syntax/correct methods to call, but something similar should be possible.)

var children = document.getElementById('boxgrp1').childNodes;
for(int i = 0; i < children.length; i++)
{
var theCheckbox = children[i];
//do whatever you wanted to do
}



tl;dr : put each group of checkboxes in a seperate div, give each div an id and use javascript to find the div and get it's content.



devilesk
Profile Joined May 2005
United States140 Posts
November 26 2013 19:13 GMT
#7996
On November 27 2013 03:52 centirius wrote:
Show nested quote +
On November 27 2013 03:32 Fawkes wrote:
Does anybody know how I can keep track or make "sets/lists" of checkboxes on a form?

Right now my form has 3 sets of checkboxes which are used to answer 3 different questions. I am writing javascript code to do validation on these "sets", however I am unsure on how to pull them. The validation I am trying to write is to ensure at least one is checked. I do believe I understand how to do this part, I am just unsure on how I can group the checkboxes or pull them in the groups that I want without hardcoding like what I mention below:

For the first set, I initially just used if statements and hardcode their names because the set of checkboxes was small and it would be only 5 nested ifs, however for the later sets of checkboxes, there may be 20+ options so this seems unfeasible. I tried looking at the DOM element.getElementsByTagName(), however this would return every single checkbox on the form if I understand it correctly.



I'm far from an expert on javascript, but if there is no built in way to do this, you could put the checkboxes inside a div and then loop through everything in the div.
pseudocode:



<html>
<div id="boxgrp1">
<input type = checkbox>
<input type = checkbox>
</div>
</html>

javascript (not sure if this is the correct syntax/correct methods to call, but something similar should be possible.)

var children = document.getElementById('boxgrp1').childNodes;
for(int i = 0; i < children.length; i++)
{
var theCheckbox = children[i];
//do whatever you wanted to do
}



tl;dr : put each group of checkboxes in a seperate div, give each div an id and use javascript to find the div and get it's content.




You could also group checkboxes by giving them the same class name

http://jsfiddle.net/qyE97/ from http://stackoverflow.com/questions/11787665/making-sure-at-least-one-checkbox-is-checked
www.devilesk.com/dota2
supereddie
Profile Joined March 2011
Netherlands151 Posts
Last Edited: 2013-11-26 20:21:15
November 26 2013 20:20 GMT
#7997
On November 27 2013 03:32 Fawkes wrote:
Does anybody know how I can keep track or make "sets/lists" of checkboxes on a form?

Right now my form has 3 sets of checkboxes which are used to answer 3 different questions. I am writing javascript code to do validation on these "sets", however I am unsure on how to pull them. The validation I am trying to write is to ensure at least one is checked. I do believe I understand how to do this part, I am just unsure on how I can group the checkboxes or pull them in the groups that I want without hardcoding like what I mention below:

For the first set, I initially just used if statements and hardcode their names because the set of checkboxes was small and it would be only 5 nested ifs, however for the later sets of checkboxes, there may be 20+ options so this seems unfeasible. I tried looking at the DOM element.getElementsByTagName(), however this would return every single checkbox on the form if I understand it correctly.


Just set the name attribute of the checkboxes that belong to the same 'set' to the same value (the same way how radio groups work).

<input type="checkbox" name="set1" id="q1" value="1" /><label for="q1">My question 1</label>
<input type="checkbox" name="set1" id="q2" value="1" /><label for="q2">My question 2</label>

Then you can use getElementsByName in javascript to enumerate over them and do your check.
"Do not try to make difficult things possible, but make simple things simple." - David Platt on Software Design
supereddie
Profile Joined March 2011
Netherlands151 Posts
Last Edited: 2013-11-26 20:21:48
November 26 2013 20:20 GMT
#7998
*deleted*
"Do not try to make difficult things possible, but make simple things simple." - David Platt on Software Design
Fawkes
Profile Blog Joined May 2010
Canada1935 Posts
November 26 2013 20:40 GMT
#7999
On November 27 2013 05:20 supereddie wrote:
Show nested quote +
On November 27 2013 03:32 Fawkes wrote:
Does anybody know how I can keep track or make "sets/lists" of checkboxes on a form?

Right now my form has 3 sets of checkboxes which are used to answer 3 different questions. I am writing javascript code to do validation on these "sets", however I am unsure on how to pull them. The validation I am trying to write is to ensure at least one is checked. I do believe I understand how to do this part, I am just unsure on how I can group the checkboxes or pull them in the groups that I want without hardcoding like what I mention below:

For the first set, I initially just used if statements and hardcode their names because the set of checkboxes was small and it would be only 5 nested ifs, however for the later sets of checkboxes, there may be 20+ options so this seems unfeasible. I tried looking at the DOM element.getElementsByTagName(), however this would return every single checkbox on the form if I understand it correctly.


Just set the name attribute of the checkboxes that belong to the same 'set' to the same value (the same way how radio groups work).

<input type="checkbox" name="set1" id="q1" value="1" /><label for="q1">My question 1</label>
<input type="checkbox" name="set1" id="q2" value="1" /><label for="q2">My question 2</label>

Then you can use getElementsByName in javascript to enumerate over them and do your check.


The problem with this, I am currently using isset($_POST['namegoeshere']) to do the confirmation page for my form, currently all my checkboxes have different names which let me do this. This uses the name attribute doesn't it? What would happen if I changed a set of checkboxes to the same name and tried to do that.

If I had a line in my scripts that did document.apply.firstname.value == "", apply is the form name, is firstname refering to the object that has name firstname or the variable in the form?
Taeyeon ~ Jennie ~ Seulgi ~ Irene @Fawkes711
tofucake
Profile Blog Joined October 2009
Hyrule19208 Posts
November 26 2013 20:45 GMT
#8000
set the name to namegoeshere[] and then they get posted as an array
Liquipediaasante sana squash banana
Prev 1 398 399 400 401 402 1032 Next
Please log in or register to reply.
Live Events Refresh
PSISTORM Gaming Misc
15:55
FSL s10 playoff replays
Freeedom16
Liquipedia
Ladder Legends
15:00
Valedictorian Cup #1
Solar vs GgMaChine
Bunny vs Cham
ByuN vs MaxPax
SteadfastSC144
Liquipedia
WardiTV Map Contest Tou…
11:00
Playoffs Day 4
Clem vs SHINLIVE!
MaxPax vs TBD
WardiTV1825
IntoTheiNu 833
TKL 618
Ryung 309
IndyStarCraft 287
Rex130
3DClanTV 121
EnkiAlexander 83
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
TKL 618
Ryung 309
IndyStarCraft 287
SteadfastSC 144
Rex 130
Railgan 103
BRAT_OK 72
EmSc Tv 16
StarCraft: Brood War
Calm 3778
Horang2 580
firebathero 313
Mini 284
ggaemo 191
zelot 57
Dewaltoss 44
Sexy 37
Rock 30
Sacsri 19
[ Show more ]
Terrorterran 17
IntoTheRainbow 15
SilentControl 13
GoRush 10
Dota 2
qojqva2789
Counter-Strike
byalli1120
Super Smash Bros
Mew2King125
Heroes of the Storm
Khaldor1149
Liquid`Hasu592
MindelVK6
Other Games
singsing1988
Grubby1480
FrodaN1138
B2W.Neo1101
Beastyqt930
XBOCT336
crisheroes279
mouzStarbuck232
QueenE126
KnowMe55
Organizations
Other Games
gamesdonequick514
BasetradeTV205
StarCraft 2
angryscii 18
EmSc Tv 16
EmSc2Tv 16
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 16 non-featured ]
StarCraft 2
• OhrlRock 1
• LaughNgamezSOOP
• sooper7s
• AfreecaTV YouTube
• intothetv
• Migwel
• Kozan
• IndyKCrew
StarCraft: Brood War
• 80smullet 13
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
League of Legends
• Jankos1876
Other Games
• imaqtpie705
• WagamamaTV425
• Shiphtur197
Upcoming Events
BSL
1h 46m
CranKy Ducklings
6h 46m
Replay Cast
15h 46m
Wardi Open
16h 46m
Afreeca Starleague
16h 46m
Soma vs hero
Monday Night Weeklies
22h 46m
Replay Cast
1d 6h
Replay Cast
1d 15h
Afreeca Starleague
1d 16h
Leta vs YSC
Replay Cast
3 days
[ Show More ]
The PondCast
3 days
KCM Race Survival
3 days
Replay Cast
4 days
Replay Cast
4 days
Escore
4 days
Replay Cast
5 days
Replay Cast
5 days
IPSL
5 days
Ret vs Art_Of_Turtle
Radley vs TBD
BSL
6 days
Replay Cast
6 days
uThermal 2v2 Circuit
6 days
Liquipedia Results

Completed

Escore Tournament S2: W4
RSL Revival: Season 4
NationLESS Cup

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
WardiTV TLMC #16
Nations Cup 2026
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...

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.