• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 10:55
CEST 16:55
KST 23:55
  • 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
Serral wins HomeStory Cup 2914Serral wins Maestros of the Game 243ByuL, and the Limitations of Standard Play3Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12
Community News
Balance hotfix patch 5.0.16b (July 16)21Reynor: GSL Loss Wasn't About Preparation Format16[IPSL] Spring 2026 Grand Finals - This Weekend!5Weekly Cups (July 6 - 12): Protoss strike back12BSL Season 22 Full Overview & Conclusion8
StarCraft 2
General
Balance hotfix patch 5.0.16b (July 16) Reynor: GSL Loss Wasn't About Preparation Format Is the larve respawn broken? 5.0.16 patch for SC2 goes live (8 worker start) BGE Stara Zagora to be held again in June 2025
Tourneys
Master Swan Open (Global Bronze-Master 2) WardiTV Summer Cup 2026 GSL CK #5 Race War RSL Revival: Season 6 - Qualifiers and Main Event HomeStory Cup 29
Strategy
[G] Having the right mentality to improve
Custom Maps
New Map Maker - Looking for Advice - Love or Hate Work In Progress Melee Maps [D]RTS in all its shapes and glory <3
External Content
The PondCast: SC2 News & Results Mutation # 534 Burning Evacuation Mutation # 533 Die Together Mutation # 532 Nuclear Family
Brood War
General
BW General Discussion Recommended FPV games (post-KeSPA) Etiquete rules in Asl? Pros Debate: Zerg Unfairly Nerfed? (ASL S22 map) BGH Auto Balance -> http://bghmmr.eu/
Tourneys
Escore Tournament - Season 3 Small VOD Thread 2.0 [IPSL] Spring 2026 Grand Finals - This Weekend! [Megathread] Daily Proleagues
Strategy
Fighting Spirit mining rates Simple Questions, Simple Answers Creating a full chart of Zerg builds Relatively freeroll strategies
Other Games
General Games
Path of Exile General RTS Discussion Thread Nintendo Switch Thread Beyond All Reason Stormgate/Frost Giant Megathread
Dota 2
Looking for a Dota Mentor 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
TL Mafia
TL Mafia Power Rank NeO.D_StephenKing vs This Guy From 1 Million Dance TL Mafia Community Thread Vanilla Mini Mafia
Community
General
US Politics Mega-thread The Games Industry And ATVI Russo-Ukrainian War Thread UK Politics Mega-thread YouTube Thread
Fan Clubs
The IdrA Fan Club The HerO Fan Club!
Media & Entertainment
Movie Discussion! Anime Discussion Thread [Req][Books] Good Fantasy/SciFi books Series you have seen recently...
Sports
2024 - 2026 Football Thread MLB/Baseball 2023 McBoner: A hockey love story Tennis[sport] Formula 1 Discussion
World Cup 2022
Tech Support
Simple Questions Simple Answers FPS when play League Of Legend on laptop How to clean a TTe Thermaltake keyboard?
TL Community
Northern Ireland Global Starcraft The Automated Ban List
Blogs
Poker (part 2)
Nebuchad
The Experiences We Want and …
TrAiDoS
An Exploration of th…
waywardstrategy
Gauntlet SC2: A Retrospectiv…
Ctone23
ramps on octagon
StaticNine
Funny Nicknames
LUCKY_NOOB
Evil Gacha Games and the…
ffswowsucks
Customize Sidebar...

Website Feedback

Closed Threads



Active: 6856 users

The Big Programming Thread - Page 801

Forum Index > General Forum
Post a Reply
Prev 1 799 800 801 802 803 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.
Acrofales
Profile Joined August 2010
Spain18375 Posts
November 22 2016 10:24 GMT
#16001
On November 22 2016 19:23 Manit0u wrote:

width = Math.ceil(width);
width = Math.round(width);


Amazing...

Enjoying your new job, are you? :'D
icystorage
Profile Blog Joined November 2008
Jollibee19350 Posts
November 22 2016 11:50 GMT
#16002
that's probably a back up just in case the first one fails ROFL
LiquidDota StaffAre you ready for a Miracle-? We are! The International 2017 Champions!
Djagulingu
Profile Blog Joined December 2010
Germany3605 Posts
November 22 2016 11:58 GMT
#16003
On November 22 2016 19:23 Manit0u wrote:

width = Math.ceil(width);
width = Math.round(width);


Amazing...

What's amazing here, I'm missing it. Do you need to execute them both to get the desired result or the fact that you can do Math.ceil and Math.round feels amazing to you after years and years of PHP torture development
"windows bash is a steaming heap of shit" tofucake
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
Last Edited: 2016-11-22 12:02:49
November 22 2016 12:02 GMT
#16004
--- Nuked ---
Djagulingu
Profile Blog Joined December 2010
Germany3605 Posts
November 22 2016 13:27 GMT
#16005
On November 22 2016 21:02 Nesserev wrote:
Show nested quote +
On November 22 2016 20:58 Djagulingu wrote:
On November 22 2016 19:23 Manit0u wrote:

width = Math.ceil(width);
width = Math.round(width);


Amazing...

What's amazing here, I'm missing it. Do you need to execute them both to get the desired result or the fact that you can do Math.ceil and Math.round feels amazing to you after years and years of PHP torture development

It's amazing that someone could write such code... it's a real WTF... calling Math.round is totally unneccessary.

I don't wanna believe that someone was dumb enough to write a Math.round right below a Math.ceil.
"windows bash is a steaming heap of shit" tofucake
Manit0u
Profile Blog Joined August 2004
Poland17793 Posts
November 22 2016 13:41 GMT
#16006
On November 22 2016 19:24 Acrofales wrote:
Show nested quote +
On November 22 2016 19:23 Manit0u wrote:

width = Math.ceil(width);
width = Math.round(width);


Amazing...

Enjoying your new job, are you? :'D


My new job starts on the 1st of December. I'm still fighting with the old shit
Time is precious. Waste it wisely.
tofucake
Profile Blog Joined October 2009
Hyrule19228 Posts
November 22 2016 13:48 GMT
#16007
On November 22 2016 20:58 Djagulingu wrote:
Show nested quote +
On November 22 2016 19:23 Manit0u wrote:

width = Math.ceil(width);
width = Math.round(width);


Amazing...

What's amazing here, I'm missing it. Do you need to execute them both to get the desired result or the fact that you can do Math.ceil and Math.round feels amazing to you after years and years of PHP torture development

using round after ceil is pointless because ceil rounds up
Liquipediaasante sana squash banana
Mr. Wiggles
Profile Blog Joined August 2010
Canada5894 Posts
November 22 2016 14:53 GMT
#16008
On November 22 2016 22:27 Djagulingu wrote:
Show nested quote +
On November 22 2016 21:02 Nesserev wrote:
On November 22 2016 20:58 Djagulingu wrote:
On November 22 2016 19:23 Manit0u wrote:

width = Math.ceil(width);
width = Math.round(width);


Amazing...

What's amazing here, I'm missing it. Do you need to execute them both to get the desired result or the fact that you can do Math.ceil and Math.round feels amazing to you after years and years of PHP torture development

It's amazing that someone could write such code... it's a real WTF... calling Math.round is totally unneccessary.

I don't wanna believe that someone was dumb enough to write a Math.round right below a Math.ceil.

I'm wondering what source control history would show for that. Was the second line added months later, was it put in at the same time?

Maybe it used my favourite encountered commit message: "fixes an bug"
you gotta dance
Manit0u
Profile Blog Joined August 2004
Poland17793 Posts
Last Edited: 2016-11-22 16:40:38
November 22 2016 16:39 GMT
#16009
On November 22 2016 23:53 Mr. Wiggles wrote:
Show nested quote +
On November 22 2016 22:27 Djagulingu wrote:
On November 22 2016 21:02 Nesserev wrote:
On November 22 2016 20:58 Djagulingu wrote:
On November 22 2016 19:23 Manit0u wrote:

width = Math.ceil(width);
width = Math.round(width);


Amazing...

What's amazing here, I'm missing it. Do you need to execute them both to get the desired result or the fact that you can do Math.ceil and Math.round feels amazing to you after years and years of PHP torture development

It's amazing that someone could write such code... it's a real WTF... calling Math.round is totally unneccessary.

I don't wanna believe that someone was dumb enough to write a Math.round right below a Math.ceil.

I'm wondering what source control history would show for that. Was the second line added months later, was it put in at the same time?

Maybe it used my favourite encountered commit message: "fixes an bug"


The only available history for it is when they moved from svn to git over a year ago. I don't have access to anything prior to that. Considering how the rest of the code base looks for this system I think it's a pretty safe bet to assume that both lines were created at the same time. Another possibility is a sloppy merge, but there's no history for that.
Time is precious. Waste it wisely.
Neshapotamus
Profile Blog Joined May 2006
United States163 Posts
Last Edited: 2016-11-22 20:01:46
November 22 2016 19:39 GMT
#16010
On November 22 2016 17:50 Neshapotamus wrote:
Don't know why your using a generic V. Use integer instead.

Why?

It is much more straight forward to use an integer. Generics are a template. At this point, you already know the structure. No need to complicate your code by using generics. From looking at his code, he is getting confused cause he is dealing with all different types of topics like generics, hashmaps. hashsets, linkedlist.


Visited should be a boolean array. The size of visited should be equal to the number of verticies. Make this a class level scope.


Why?

he should do this so he can re-use this for DFS


You don't have to explicitly terminate your algorithms. It will reach all the connected components by itself and complete.


Still have to check whether you reached end or not. No need to keep searching the graph if you found your destination. Moreover, you want it to terminate differently, e.g. return true if it found end and false if it didn't. That is missing from the algorithm, I agree.

BFS/DFS has the property that it will only visit the nodes that it is part of its network. The algorithm will auto terminate after it has visited every node. Yes, you can add an early termination, but what if you are given an end vertex that is not part of the connected components? You will traverse the entire graph anyways. It runs in O(V + E) time if you are using an adjacency list, which is pretty darn fast.



DFS should be implemented using recursion. Otherwise, you will have to create your own stack. This is where having visited at a class scope will help.

You bfs has a fundamental problem.
*Write the for loop first
*Inside the for loop, check to see if you have visited the adjacent nodes. Then mark the adjacent nodes as being visited.


Some other tips:
Don't use a hashmap, use an array. (You can create an array of list<int> per index. The index of the array maps to vertex.)



You're making some assumptions here about the form of the input he's getting. But yes, numbering the nodes and using an array would also be a more efficient way of checking whether a node was visited than using a hashset.

Yes, I am making several assumptions. Since we know this is a graph search problems, I can infer from this statement that he is given the total number of vertices and the edges between each vertex was given ahead of time (the edges are not dynamic) before calling bfs. You have to do a little bit of pre-processing to get to this state from whatever his input would be. I am trying to help him understand the basic concept with only the minimum amount code he needs to accomplish his task.


Create a variable called PathTo. PathTo should be a integer array; The size of PathTo array should be equal to the number of verticies. You will need this to build a complete path from source to destination.

Here is a method you should implement if you take my suggestion above:
public boolean hasPathTo(int v); //run in constant time
public Iterable<Integer> pathTo(int v); //use the PathTo variable and create a path



You're assuming he has to return the path. Might all be unnecessary. -

I am suggesting this to help him debug.
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
Last Edited: 2016-11-23 01:01:07
November 22 2016 22:56 GMT
#16011
On November 22 2016 19:23 Manit0u wrote:

width = Math.ceil(width);
width = Math.round(width);


Amazing...


I remember seeing this in Java before.

Math.ceil takes a double and returns a double
Math.round takes a double and returns a long

Instead of doing `int w = (int) Math.ceil(width);` you would do `int w = Math.round(Math.ceil(width));` if you wanted to get the nearest number rounded up.

In this case though, who really knows why they're reassigning the long result back to the double width...
There is no one like you in the universe.
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
Last Edited: 2016-11-23 03:21:53
November 23 2016 02:17 GMT
#16012
well w/e
this was the dumbest project ever

the problem is clearly the tests

appreciate all the replies though

Unfortunately if I had more time I would use your suggestions to clean up my code. Maybe I could simplify some of this to figure out what is going on.. or at least pass the stupid tests anyways.

What's sad is that I actually broke the GUI and started passing more tests (and the changes I made make absolutely no sense at all)
Manit0u
Profile Blog Joined August 2004
Poland17793 Posts
November 23 2016 03:35 GMT
#16013
On November 23 2016 07:56 Blisse wrote:
Show nested quote +
On November 22 2016 19:23 Manit0u wrote:

width = Math.ceil(width);
width = Math.round(width);


Amazing...


I remember seeing this in Java before.

Math.ceil takes a double and returns a double
Math.round takes a double and returns a long

Instead of doing `int w = (int) Math.ceil(width);` you would do `int w = Math.round(Math.ceil(width));` if you wanted to get the nearest number rounded up.

In this case though, who really knows why they're reassigning the long result back to the double width...


Want to hear the best part? It's JavaScript
Time is precious. Waste it wisely.
Hanh
Profile Joined June 2016
146 Posts
November 23 2016 04:17 GMT
#16014
On November 23 2016 11:17 travis wrote:
well w/e
this was the dumbest project ever

the problem is clearly the tests

appreciate all the replies though

Unfortunately if I had more time I would use your suggestions to clean up my code. Maybe I could simplify some of this to figure out what is going on.. or at least pass the stupid tests anyways.

What's sad is that I actually broke the GUI and started passing more tests (and the changes I made make absolutely no sense at all)


Regardless of the quality of the tests, Acrofales is right and you aren't implementing BFS correctly. You actually just need to move a line of your code.
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
November 23 2016 04:22 GMT
#16015
yeah I realized that today at school
didn't actually stop me from passing the test, though. which is kind of funny.
WarSame
Profile Blog Joined February 2010
Canada1950 Posts
November 23 2016 04:23 GMT
#16016
I'm making a dungeon game and my trolls around running around like they're on meth. I can't figure out how to calm them down. This is in pygame.

The heartbeat:
    def run_game(self):
# Heartbeat
while not (self.game_over or self.level.player.is_dead):
self.handle_events()
self.move_creatures()
self.draw_screen()
pygame.time.wait(100)
self.end_game()


where draw_screen is
    def draw_screen(self):
# Update game visuals
self.screen.fill((0, 0, 0))
self.draw_blocks()
pygame.display.flip()
self.clock.tick(60)


The problem is that I can make the trolls slow down by increasing the wait time between game cycles, but then the player moves too slowly. I'm looking for a fair way to slow down how frequently the trolls move. Any ideas?
Can it be I stayed away too long? Did you miss these rhymes while I was gone?
meatpudding
Profile Joined March 2011
Australia520 Posts
November 23 2016 04:49 GMT
#16017
On November 23 2016 13:23 WarSame wrote:
I'm making a dungeon game and my trolls around running around like they're on meth. I can't figure out how to calm them down. This is in pygame.

The heartbeat:
    def run_game(self):
# Heartbeat
while not (self.game_over or self.level.player.is_dead):
self.handle_events()
self.move_creatures()
self.draw_screen()
pygame.time.wait(100)
self.end_game()


where draw_screen is
    def draw_screen(self):
# Update game visuals
self.screen.fill((0, 0, 0))
self.draw_blocks()
pygame.display.flip()
self.clock.tick(60)


The problem is that I can make the trolls slow down by increasing the wait time between game cycles, but then the player moves too slowly. I'm looking for a fair way to slow down how frequently the trolls move. Any ideas?


Lots of ways to do this. In move_creatures you could add a counter like this
counter += 1
if counter < threshold: return
# reset the counter
counter = 0
...
# actual code here
Be excellent to each other.
Acrofales
Profile Joined August 2010
Spain18375 Posts
November 23 2016 07:16 GMT
#16018
On November 23 2016 13:23 WarSame wrote:
I'm making a dungeon game and my trolls around running around like they're on meth. I can't figure out how to calm them down. This is in pygame.

The heartbeat:
    def run_game(self):
# Heartbeat
while not (self.game_over or self.level.player.is_dead):
self.handle_events()
self.move_creatures()
self.draw_screen()
pygame.time.wait(100)
self.end_game()


where draw_screen is
    def draw_screen(self):
# Update game visuals
self.screen.fill((0, 0, 0))
self.draw_blocks()
pygame.display.flip()
self.clock.tick(60)


The problem is that I can make the trolls slow down by increasing the wait time between game cycles, but then the player moves too slowly. I'm looking for a fair way to slow down how frequently the trolls move. Any ideas?


I believe the solution is:
self.remove_meth()



Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
Last Edited: 2016-11-23 14:22:36
November 23 2016 14:17 GMT
#16019
--- Nuked ---
tofucake
Profile Blog Joined October 2009
Hyrule19228 Posts
November 23 2016 15:15 GMT
#16020
[image loading]

some of our devs need to learn how to manage their queries :\
Liquipediaasante sana squash banana
Prev 1 799 800 801 802 803 1032 Next
Please log in or register to reply.
Live Events Refresh
Epic.LAN
13:00
Epic.LAN 48 Group Stage
epiclan0
Liquipedia
CrankTV Team League
11:00
Crank Gathers S4: Group Stage
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RushiSC 44
DenverSC2 3
StarCraft: Brood War
Calm 8563
GuemChi 2281
Rain 2203
Jaedong 1236
EffOrt 803
Hyuk 503
firebathero 351
BeSt 328
Snow 324
Mini 318
[ Show more ]
Rush 268
ZerO 226
Stork 212
Larva 176
ggaemo 130
Zeus 123
Dewaltoss 93
Hyun 87
hero 81
Sea.KH 71
Mong 54
Free 50
soO 43
Sharp 39
scan(afreeca) 37
sorry 34
Barracks 30
JYJ 30
Terrorterran 29
ToSsGirL 27
Sexy 22
Bale 20
NaDa 18
Hm[arnc] 18
Noble 17
Sacsri 16
Rock 15
Yoon 13
yabsab 13
IntoTheRainbow 12
ajuk12(nOOB) 11
Purpose 8
Dota 2
Gorgc9550
syndereN261
Trikslyr26
League of Legends
Doublelift3206
Counter-Strike
byalli987
fl0m488
allub249
kRYSTAL_32
Other Games
singsing1758
hiko717
B2W.Neo689
crisheroes331
XaKoH 167
Liquid`VortiX164
ToD150
QueenE69
Rex20
ZerO(Twitch)15
Organizations
Other Games
gamesdonequick2331
StarCraft 2
WardiTV1039
Other Games
BasetradeTV215
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 15 non-featured ]
StarCraft 2
• poizon28 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• escodisco3717
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• C_a_k_e 1413
League of Legends
• Jankos3654
• TFBlade753
Upcoming Events
Big Brain Bouts
1h 5m
SHIN vs Elazer
Percival vs Nicoract
Reynor vs Lambo
Replay Cast
9h 5m
RSL Revival
18h 5m
Clem vs Lambo
Scarlett vs Cure
CranKy Ducklings
19h 5m
Epic.LAN
22h 5m
IPSL
1d 1h
Dragon vs Hawk
RSL Revival
1d 18h
Classic vs Trap
herO vs SHIN
Sparkling Tuna Cup
1d 19h
OSC
1d 22h
IPSL
2 days
Bonyth vs Ret
[ Show More ]
WardiTV Weekly
2 days
Monday Night Weeklies
3 days
PiGosaur Cup
4 days
The PondCast
4 days
Replay Cast
5 days
CrankTV Team League
5 days
Replay Cast
6 days
CrankTV Team League
6 days
Liquipedia Results

Completed

Proleague 2026-07-13
HSC XXIX
Eternal Conflict S2 E2

Ongoing

IPSL Spring 2026
Acropolis #4
CSL 2026 Summer (S21)
KCM Race Survival 2026 Season 3
Escore Tournament S3: W3
RSL Revival: Season 6
CranK Gathers Season 4: BW vs SC2 Team League
SCTL 2026 Spring
Stake Ranked Episode 3
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026

Upcoming

ASL S22 SEASON OPEN Day 1
Escore Tournament S3: W4
ASL S22 SEASON OPEN Day 2
Escore Tournament S3: W5
CSLAN 4
Blizzard Classic Cup 2026
HSC XXX
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
Light Tournament 2026
Eternal Conflict S2 Finale
Eternal Conflict S2 E3
Logitech G Connect 2026
StarSeries Fall 2026
FISSURE Playground #5
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
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.