« first day (380 days earlier)      last day (3631 days later) » 

1:59 AM
0
Q: Re-writing CofeeScript Code in Functional Way

Kevin MeredithCoffeeScript: Accelerated JavaScript Development presents this function to output the "bottles of beer" song: singCountdown = (count) -> singBottleCount = (specifyLocation) -> locationStr = if specifyLocation then 'on the wall' else '' bottleStr = if count is 1 then 'bottle' else 'bott...

 
 
1 hour later…
3:12 AM
0
Q: How should I submit the values?

user1206480The below code generates several forms depending on data returned from the server. Everything generates fine, but my issue is determining the correct way to submit the values back to the server. In particular, how do I cleanly accept the correct input for the matching question. This is my first...

 
3:41 AM
Yes another Silver Badge!!! on it's way to me
 
4:02 AM
You've earned the "Reviewer" badge for reviewing Close Votes.
@NiallC. welcome
@DavidHarkness i chat from work, especially when I have a question about code that I want to use or am thinking of using
@Jamal I like your answer better. but I haven't even looked at the question yet....
@Jamal talk about gimmetehcodez
 
4:25 AM
@Malachi Thanks. (I've actually been lurking pretty much since I joined CR.)
2
 
0
Q: Don't make a call to the servers which are down?

WebbyThis question is follow up on this question I am working on a project in which I am constructing the url with right and valid hostnames (not the block hostnames) and then execute that URL using RestTemplate from my main thread. And also I have a single background thread in my application which ...

 
4:43 AM
0
Q: Binary Tree with C++11 smart pointers

perrealI'm trying to replace the use of raw pointers with smart pointers in my C++ code. The following bit is from my first attempt at a self-balancing binary tree, though there is nothing self-balancing at the moment. I am worried about some fundamental problems regarding the use of unique pointers. ...

 
5:34 AM
@SimonAndréForsberg magic I knows (have still the real cards here @home) great game.
monking all. I have holiday and have to work @home so I just come and peek here
 
@chillworld Be careful about peeking, or you might get poked.
3
 
@JerryCoffin lol
 
6:07 AM
Good morning, everyone.
 
6:53 AM
Youtube bought Twitch for 1 billion. (variety.com/2014/digital/news/…)
 
7:10 AM
Monking everyone...
 
Hey ;)
 
7:40 AM
This answer deserves more votes...
1
A: How to avoid reads before initialization is complete and return updated set of maps value?

JvRA simpler approach As far as I can tell from your problem definition, you're overthinking it: ConcurrentMap is overkill because you won't be writing concurrently. As long as you pass a memory barrier of some sort, your other threads will read correctly. MapContainer doesn't seem to be serving...

at least for the reference to "The Big Lebowski"
 
7:54 AM
0
Q: Organizing code, in small Mario game. Suggestions for improvement

unableToCompileI have a little mario game I started working on realize that it's format is very messy, can anyone critique my code on how to make it better, faster, neater, easier to access. I'm quite a noob so finding mistakes shouldn't be too diffuclt. Here it is: frame.java package EvilMario; ...

 
Morning everyone :)
 
Morning ;)
 
8:41 AM
wow...
2 large answers..
I really got too much time on my hands..
hey @skiwi
 
Morning
First I'm raging at something on my PC that is making a loud as hell sound...
Hmm it's over, but I still have no clue what it was :(
 
Does a question from April 17th count as zombie?
 
@Vogel612 Depends from what year
 
this year..
it's one month old.
 
I'm not a Zombie expert, so don't know...
 
8:53 AM
Checking the mission post it seems that every unanswered question is a zombie..
Hi @dreza btw ;)
 
(Please be careful while reading this as it may lower your IQ)
 
@skiwi just nooooooooooo
 
@DavidHarkness Heh, that also happened to me while I was taking the Algorithms class
 
9:17 AM
@Vogel612 It could be useful to edit the post then.
 
I want to write a question on Programmers... But I'm still figuring out whether it is on topic or not
 
@Morwenn well the mission is "over".
 
It is about my problem, yet it might help others out there
 
you could check back in their Chat..
 
@Vogel612 But we still call posts zombies :o
 
9:18 AM
The question is basically about designing a component in my TCG, does anyone have better experiences about what is ontopic for programmers?
 
@Morwenn old habits don't vanish that easily..
 
We should state that a zombie is "an unanswered question that could award you a Revival badge if answered".
 
that is their scope, as defined by the help center @skiwi
 
@Vogel612 Yeah, I was just reading that... I might doublecheck to be sure I don't waste some time
 
hello
 
9:21 AM
@dreza Hey :)
 
Sorry never really chatted here before. not sure how it works. Is it just a general chat room?
 
Yep, it is the general chatroom of Code Review.
 
hi @all
fast peeking between the hard work @home
 
It mainly exists to talk about Code Review.SE.
@chillworld Hi :)
 
well that mainly is kinda extensible..
in fact we talk about almost everything here...
 
9:25 AM
cool
 
but if it gets too off-topic, someone might start up the vacuum cleaner..
 
10:24 AM
0
Q: How does this code look to you?

Salatafrom my recent post it had some negatives to fix hehe :P I think this should be well structured and written for you JavaScript heroes ;) How does this code look to you? If something needs to be changed please tell me :) // Gets all elements by ID's function elem(id) { return document.getEle...

 
10:37 AM
Is there a SE site for asking advice about writing concrete code?
 
@skiwi here or so..
 
I figured so far the chatroom is the only space
 
well it depends what you mean by "writing concrete code"
 
Simple version: My Game consists of two players; Every Player can do actions, I need to be able to get the opponent (the other player) inside each Player.
@Vogel612 I asked an on-topic question on Programmers, but it doesn't help me that much as it is more a general statement, fine-tuned advice can only be given after seeing my concrete code
 
how about only making one player have an action, calculate it on an enemy stub and notify the enemy of changes (maybe via event bus)
something like:
public void do(Action playerAction) {
    ActionResult result = calculateResults(playerAction);
    eventBus.notify(result);
}
or maybe rather:
game.notifyOther(result);
 
10:44 AM
Not sure if eventbus is the thing to fiddle with here
I figured that either every Player needs a Game reference, or every Player needs to know their opponent
 
I'd prefer the Game reference.
 
But peple say cicular dependencies ain't good
Perhaps I accepted eagerly here, but check this qustion out:
3
Q: How to create mutually dependent objects safely?

skiwiSuppose I have the following two classes to start off with: public class Game { private final Player self; private final Player opponent; public Game(final Player self, final Player opponent) { this.self = Objects.requireNonNull(self); this.opponent = Objects.require...

 
I would go about it like this:
public class Player {
     private final Game belongsTo;
     public Player(Game belongsTo) {
          this.belongsTo = belongsTo;
     }
 }
 
It would still have a cicular dependency (a game has players, a player has a game) even though not at compile time, but I'm not seeing a concrete way to solve it
 
Well if you want to keep it out of the Game, you need to connect the Players somehow.. But I'd rather not have a Player have a Player, but some EventBus-like structure to notify of changes..
 
10:54 AM
Another point of issue might be the PlayerAction interface:
@FunctionalInterface
public interface PlayerAction {
    public void performAction(final Player player);
}
A valid argument brought up somewhere is that it might be better to perform the action on some superstate, for example on the Game
I could of course go ahead on create the dependency on be done with it, but it would need to fixed some day then
 
Technical Debt :(
 
I am guessing ye
I guess it's better to leave some acceptable mistakes in the code then?
Circular dependencies won't kill you last time I read.
 
@skiwi well my JBoss server told me he can't deploy, last time I had a circular dependency...
 
11:20 AM
@skiwi Exactly, circular dependencies won't kill you. I'd have a really hard time making a TCG without circular dependencies.
I have a getGame method in my Player class and it's called 11 times from different places. I also have a getOpponent which is called four times.
Monking to all btw
 
Monking @SimonAndréForsberg
I suppose having a reference to the opponent is best then
 
@skiwi I have a reference to the Game, I haven't regretted it one bit. The getOpponent method calls getGame and finds the opponent from there
 
poor Law of Demeter...
 
@SimonAndréForsberg Should the design prohibit assigning a game twice to a player?
 
@Vogel612 Yes, I haven't taken that law into consideration too much. It's freakin' hard making a TCG as it is, I don't need Law of Demeter to make it even worse for me :)
 
11:25 AM
@Skiwi I personally would have two kinds of players...
one (Human) Player, and one Game-Player..
 
It might need to support two humans or two AI's in the future though
 
@skiwi In one way or another, I think so yes. If you would assign the game twice to a player with different games, then you're screwed. However, the easiest way to avoid it is to: Don't do it.
@skiwi Two AIs FTW! Having AIs playing against each other makes some testing so much easier.
 
0
Q: Erase all memory in a container

Nikos AthanasiouI want to erase all memory in a container. Currently I'm using this : template<typename Cont> void clear_mem(Cont &container) { while (!container.empty()) { delete container.back(); container.pop_back(); } } Should the operation of deleting the memory held by the ...

 
@SimonAndréForsberg Just sit back, and enjoy
 
I realized I lied to you about having only 11 calls to getGame, I have probably more than 50 calls to it.
 
11:28 AM
@SimonAndréForsberg you seem to have a little much stuff that the Player does, could that be??
 
Can I even go so far as saying that a Player without a Game is not properly constructed?
Or I just need to change the Game class, preserving immutability of the Player is more important than the other way around
 
@chillworld Hearthstone is kinda like Magic, but simpler, it only has creatures and sorceries as cards. My problem is if you have a minion (creature) in play that says "other friendly minions have +1/+1", or a minion that says "This minion's attack is equal to it's health". All these "enchantments"/"rules" makes making a TCG game hard. If it were one-time only effects, that wouldn't be a problem, but this is static effects, as long as the minion is in play, that rule applies.
@Vogel612 You tell me once I post the code for review :)
 
Or use a bridge between the two that records the connections as a static map, or is that a terrible idea?
 
@skiwi Personally I think a static map is a terrible idea. That would make garbage collection a lot harder.
 
@SimonAndréForsberg I find stuff like: "All murlocs on your side have +1/+2, as long as this card is in game" worse..
 
11:34 AM
Actually it resolves to the same discussion we had about eventbus
 
Or stuff like "Every time an enemy minion dies, gain +1/+2"
or "everytime you take damage, increase by +3/+0"
 
To Player: You can't live without a Game class, deal with it.
 
@Vogel612 The "Every time an enemy minion dies" is not a problem, as that's a clear trigger-action. The "All murlocs on your side has x/y" is quite difficult, yes.
 
well it's something like a Tuple<Constraint, Action> in that case...
though the adventurer gets OP when you have him in game long enough ;)
 
@Vogel612 But the Action isn't really an action, it's a static effect. "All murlocs on your side have +1/+2" is always there. It's not applied once, it's just there...
 
11:37 AM
@SimonAndréForsberg That's why I'm not going to start on that yet ;)
 
@SimonAndréForsberg what about: "The neighboring minions have +1/+2 and taunt" ?
 
@Vogel612 Questing Adventurer? Indeed. The opponent tends to focus on removing that very early on. Or they wait until it gets bigger and then just use Silence on it.
 
@SimonAndréForsberg I would theoretically, replace all current monsters on the field with an enhanced version once that card has been played
 
or "Transform"
does Silence remove already applied buffs with the Questing Adventurer?
 
@Vogel612 There is no "Neighboring minions have +1/+2 and taunt", taunt is only given as a one-time action. It's applied as a battlecry, which triggers when you play the minion from hand.
@Vogel612 Yes, silence removes already-applied buffs. All already-applied buffs, except the static effects (unless you silence the minion that gives the static effect).
 
11:39 AM
have --> gain ;)
transform is still waaaay cooler ;)
 
@Vogel612 I especially love transforming minions to a 0/1 Frog with Taunt when I play my Shaman :)
 
@SimonAndréForsberg and you work on hearthstone?
 
@SimonAndréForsberg
private Player getOpponent() {
    return game.getPlayers().filter(x -> x != this).findFirst().orElseThrow(() -> new IllegalStateException("No opponent has been found."));
}
 
monking @all
 
gotta love hexenmeister though. Gurubashi Berserk + double health + atack = health
 
11:41 AM
@chillworld I work on a Java implementation of Hearthstone. Trying to copy the game model.
 
Monking @BenVlodgi
 
@skiwi ouch... I'd rather maintain 2 instances of Game....
 
@SimonAndréForsberg sounds nice, but though.
 
 public class Game {
      private Player humanPlayer;
      private Player opponent;
      //..
}
 
@skiwi That's almost like I do it, except I don't use streams. Also consider what would happen if you have a 3-player game and you want to get the next player.
 
11:43 AM
@SimonAndréForsberg Then things will break
 
@chillworld Yes, it's definitely not easy.
 
@Vogel612 That's what I have
 
@skiwi My point exactly :)
 
I have a problem with confidence but when I read this I feel directly better :)
 
public Stream<Player> getPlayers() {
    assertConstructed();
    return Stream.of(self, opponent);
}
 
11:44 AM
@SimonAndréForsberg I d'love to see the uml
 
@chillworld What UML? :)
I can try to generate one, I think there's an Eclipse plugin for that somewhere.
I'm not sure if I'd like to see it though... :) But first I'd like to make the enchantment system work.
 
@SimonAndréForsberg how lol, leave that generated ones :) was just to see your model how it hangs together
@SimonAndréForsberg had also generated an UML from a project of mine from printer => trashcan
but now, little more working in the garden
already pulled 2 roots out, did the dishes, mawn the grass,..
see you later all
 
See you later @chillworld
 
@SimonAndréForsberg I'm really curious how your code looks like
 
same here ;)
 
11:52 AM
@skiwi It's probably not the best code I've written, but I can't come up with a better way to do it.
 
Good morning, everyone.
 
Damn if I can get fusion to work my game is pretty much workingishish
Monking @Donald.McLean
 
Don't worry, you'll see the code soon late enough :)
 
@Donald.McLean Good morning :)
 
Morning, Mr. McLean
 
11:55 AM
It's hard to control two players at once and think for both strategically efficiently
 
Have you tried playing Chess against yourself??
3
 
Noooo, I have a bug
 
I have a Bug. (that's the nickname of one of our daughters)
3
 
I'm stupid, I forgot to actually perform my action
 
@skiwi Yes, it is. I sometimes do that, but when I know the cards that both players have it's easy to think "I shouldn't play this card because the opponent has that card"
 
11:58 AM
Lol who needs to perform actions... Just stare at them and they perform themselves ;)
 
@Donald.McLean What did she do to deserve that nickname?
 
If you are Chuck Norris that is..
@SimonAndréForsberg I bet she's bugging him everyday ;)
 
The warning: New instance ignored feature is usefull and you should not turn it off!
 
0
Q: Questions before implementing quicksort algorithm

MulderI'm before implementing quicksort as an exercise. I'm trying to do this generic, for any data type that can be. What aspects I should consider to do so? Until now I'm wondering whether the quicksort algorithm should reside in static service class called sorter, or maybe should I export this lo...

 
@SimonAndréForsberg I don't remember how she got that name. But Ladybugs are her thing.
Ladybugs are cute.
 
12:00 PM
I see Netbeans patched their issue in Supplier<IllegalStateException> exceptionSupplier = new IllegalStateException("No opponent has been found");, where it would complain that the new instance was ignored
 
@CaptainObvious Off-Topic...
no code. I am wondering if that could be migrated to programmers, but I doubt it..
 
I just noticed that I don't need to manually end my turns anymore
 
how so?
 
It used to be my only option available, now I added more options to it and notice that calling either option ends the turn
Time to use my creativity to think up some cards
Anyone wants to help? I only need a name, attack and hitpoints for a bunch of 10 cards... Please not to crazy if you decide to help :p
 
@SimonAndréForsberg But.. but, then they are not unique
 
You never said anything about unique!
 
I did say creativity, and that doesn't mean copying names!
 
Oh, ok then :)
Carrot: 1/2
Cucumber: 3/1
Orange: 4/4
Watermelon: 2/4
Apple: 0/4
Banana: 5/2
@skiwi Fruit names work?
 
Fruit names would be awkward...
Now I suddenly got the idea of monsters that have a certain chance to hit in order to balance heavy attacks
@SimonAndréForsberg How do you ensure all your cards are balanced in your game?
 
12:34 PM
@skiwi not at all?
 
@skiwi At the moment: I don't. I have three big TCGs at the moment, two of which are just meant to be clones of existing games. And the third one is not meant to be balanced.
 
You lazy...
 
@skiwi You will see later, when I make the third one available, why that one isn't meant to be balanced :)
@skiwi I have however used my Fighting code (see my CR question) to make sure that when adding a cheat card to a deck, a player drastically increases the win %. So I believe that can be used to balance things. That requires though that you make AIs and let them play, unless you want to go through and play 1000 games manually :)
 
I guess automatically is somewhat more convienient than manually.
 
Ooooooh yes.
 
12:42 PM
Monking all...
 
@Simon just for reference... How long does such an automatic game take?
 
Monking @rolfl
 
Monking @rolfl
 
Monking @rolfl
 
Monking @rolfl
 
12:44 PM
(insert last message here)
 
Well..... thanks!
 
monking @rolfl
 
Ding Ding Ding Ding Ding
 
Yeah.... except I turned the dinger off a long time ago.... ;(
 
that's how you make an entrance ;)
 
12:45 PM
 
@Vogel612 Hold on, I'll run some games and find out shortly
 
@Morwenn afaik that guy is german...
 
@Vogel612 That touches my tralala.
And he's from Sweden, not Germany.
 
and .... the related videos are .... odd....
2
 
Atleast we don't have autoplay here
@rolfl "Related: Aqua - Barbie Girl"
visualdataweb.org/relfinder/relfinder.php Try between Günther (singer) and Aqua (band)
I don't think it's a good thing that I can put monsters on an already occupied spot and that the original monster just disappears and is never to be found again?
 
1:02 PM
@Vogel612 300 games were played in 7.5 seconds. I don't think that's the top speed though
 
Who is responsible for error handling? The view (console/GUI) or the actual action, or both?
 
OK, so, you ever have one of those moments when you do something stupid, and you don't realize what you are doing, and everything you do compounds it.... well, I have one... happening right now ....
Now, how do I save face?
1
A: Proper format for tags

rolflNo - tags should not be a puzzle, they should categorize a puzzle. Tags inevitably become something that need to change over time, but, ..... .... I was going to say something derogatory about that tag taxonomy you describe on CSTheory, but, as I looked in to CSTheory to see how it works, I rea...

@rolfl Oh, uh, I think I understand what you're saying. Please note that we're on Data Science Meta, not on Puzzling Meta. — Gilles 8 mins ago
 
@rolfl Act like it never happened and slowly back off...
 
Yeah, except my answer got upvoted, and accepted ;-)
A long time ago ;-)
 
This should probably be on : codereview.stackexchange.comsusheel 5 hours ago
Not again...
 
1:12 PM
@skiwi it is never ending
 
@skiwi Seen much worse.... this time the code works (but is not complete enough).
 
@rolfl Hence I don't know a concrete counter argument to post there, but it is quite obvious that is used as a dumpbin
 
Why do you assume that the new stream based APIs would always be faster than the old approaches? They usually aren't. — Louis Wasserman 13 mins ago
^^^^ My opinion .... too.
@skiwi Actually, the answer is a good one... and would be OK on Code Review too, so, it's not a completely terrible recommendation
I would consider it to be progress.
 
@rolfl I don't know... When fully JITted (so performance matters) I suppose they can come close to the performance, but well obviously there's going to be overhead
 
@Jamal - you sick?
Or .... dum dum dum..... the dog?
again.
 
1:20 PM
Nah, I'm okay. Just slow this morning.
 
console GUI's are mildly frustrating... One mistake and the whole program crashes with an exception and you've got to start anew.
 
@skiwi What kind of error handling? Don't cause any errors and you don't have to be responsible for it :)
 
@SimonAndréForsberg If you do something that's not allowed, my goal is to surely always throw some kind of exception to make sure a failing program can't live on
 
@skiwi Um.... I find your adjective/noun combinations to be off.... like, "console GUI" ... what sort of GUI is that?
3
 
But I suppose the GUi should check the preconditions before relayign on errors?
@rolfl Like Netbeans console
 
1:25 PM
Sounds like netbeans is more complicated, and impressive, than I thought.
 
@skiwi Don't allow illegal actions in the first place. If a button would cause an illegal action, don't allow the user to click on it.
 
@SimonAndréForsberg A console has no buttons ;)
 
@skiwi - GUI is an acronym, you know that, right?
The G stands for ...... ?
 
I know graphical... But it's visible on my screen!
Perhaps I should stop calling it a GUI
 
(see, I have been feeling stupid about the DS/?? meta mess-up, so I figure I can share my misery).
 
1:26 PM
@skiwi Have two methods in your actions, one for checking if it's allowed, one for actually performing it:
boolean actionIsAllowed();
void onPerform();
 
@SimonAndréForsberg That's a sane solution yea
 
What is not so sane is that I have a method public int increaseHitpoints(final int increment) { } on MonsterCard, which has 100% test coverage, yet the return value is never tested.
 
@skiwi Then perhaps the return type can/should be void instead?
 
1:36 PM
@SimonAndréForsberg No, I still use them ^^ they're just untested
 
well coverage always should be taken with a grain of salt...
 
@skiwi If you use the ones you test, and you're testing something else later that's connected to it, I'd say that they are tested, just indirectly.
 
@Jamal impressive
 
@Vogel612 I'd prefer not to cover myself with salt, thanks.
 
It shouldn't be too bad, but even if it's 100% there can still be a sh*tload of bugs...
@SimonAndréForsberg if you test something that's connected to it, you're maybe not doing it right, if you need to depend on the method to return the expected value without having it tested...
 
1:39 PM
@Vogel612 I prefer testing the bigger picture rather than testing each and every detail of my program.
 
Don't mind me then ;)
Can I have some Java eyes on my answer from earlier today?
1
A: PanelScrollable - a reusable class for rendering a changeable number of panels

Vogel612This code is awesomely written. I still have a few really small remarks: Ordering members: If openness separates concepts, then vertical density implies close association. So lines of code that are tightly related should appear vertically dense. - Robert C. Martin, Clean Code, Ch. 5 - Vert...

 
@Vogel612 All my eyes belong to your answer... Temporarily
 
I am not sure about my ordering advice there....
yaaaay ;)
 
@Vogel612 I might be doing it wrong, but I think that if I would test each and every detail it would take longer time to get progress (refer to @skiwi for reference)
 
@SimonAndréForsberg I plan to let @Vogel612 do all that work!
 
1:42 PM
@SimonAndréForsberg well If you progress faster, you also are more "vulnerable" to bugs..
@skiwi well I am not doing it for free exactly ;)
 
Because I am omitting unit tests now for progress, I am having bugs
 
Plan to take a leaf out of your book concerning java 8 ;)
 
@Vogel612 Absolutely, I just found out that a Mage can win turn 2 here because I wasn't decreasing the mana available when the mage were using its Hero Power. But when I find those bugs, then I add a test case just for them.
	@Test
	public void heroPowerCost() {
		game = testGame(HStoneClass.MAGE);
		reachMana(2);
		assertDamageToOpponent(1, game.getCurrentPlayer().getHeroPower());
		useFail(game.getCurrentPlayer().getHeroPower());
	}
 
I can't review Java 7 code anymore though...
 
^^ Actual code from my Hearthstone test
 
1:44 PM
well I'd rather not have to discover such bugs in the first place, as they require manual testing..
 
@skiwi Reviewing Java 7 code is the easiest, "Use Java 8" - done!
 
It's easier to have a unit-test like that beforehand as you lose less time to stuff like manual testing...
@SimonAndréForsberg meh. "I can unfortunately, due to external requirements, not go beyond (insert outdated Java version)"
 
@Vogel612 I don't think you can entirely avoid using manual testing. Manual testing for me is to discover the edge-cases that your code currently doesn't handle (or test).
 
Manual testing is playng your game and thinking "wtf is going on?"
 
0
Q: How to use nested try/catch in this code?

PatrickI have following code, in which i have to handle exception for 2 statements, 2nd line and 4th line if(re.search("USN:.*MediaRenderer", datagram, flags=re.IGNORECASE)): deviceXML = re.search("LOCATION:(.*.xml)", datagram, flags=re.IGNORECASE).group(1) # this line root = El...

 
1:48 PM
@Vogel612 Then you'd have to think about each and every situation your code can go wrong, I believe you will always miss a case. Like when I first tested my HStone code manually, I discovered that I could use a minion on the battlefield to attack a minion on the opponent's hand. Not quite what was planned. Would you remember to add a unit test for that?
 
It's also figuring out that cards currently in my game may attack as many times as they want in one turn
 
@SimonAndréForsberg probably not. But I am sure I'd have created a testcase for the hero's ability to use mana....
 
@Vogel612 Yes, being stuck with older Java is a pain. I'm glad I can use some Java 8 features in Android and GWT now, all that's missing now is the Streams (and java.time package, but Streams are more important)
 
@SimonAndréForsberg Did you add a unit test for the bug report after you discovered it though? The amount of AAA companies reintroducing obvious bugs with patches is horrible.
 
@Vogel612 I had added a testcase for mana being used when playing minions, but not when using hero power
 
1:50 PM
oh well that discussion is moot either way...
 
@skiwi absolutely.
	@Test
	public void cannotAttackHand() {
		HStoneCard taunt = cardToHand("Shieldbearer", game.getCurrentPlayer());
		nextTurn();
		HStoneCard attacker = playCharge();
		use(attacker);
		targetFail(taunt);
	}
 
good ^^
 
also I should quit work now, so cya later ;)
 
@Vogel612 cya :)
 
ttyl
I still need to do some other things aswell, but this is more fun (:
I'm now at the point where I have some bugs that I need to do unit tests to get rid of them
This is what the guy changing a critical component looks like:
user image
2
 

« first day (380 days earlier)      last day (3631 days later) »