• Hey Guest. Check out your NeoGAF Wrapped 2025 results here!

Your Programming FUCK YEAH moments.

Status
Not open for further replies.
Toma said:
I tried the ref stuff as well, but didnt work out for some reason, but thats not a concern for now. I'll try looking into that later.

Probably have to have ref on your method declaration too, that's something I forgot in my code.

Glad you got it working though. Is this WinForms stuff part of your OOP thing you were following?
 
Understanding patterns. In retrospect it's no big deal, but patterns are sort of the end game of good coding practices - or part of it. It revolutionized the way I think about program architecture.
 
Kalnos said:
Probably have to have ref on your method declaration too, that's something I forgot in my code.

Glad you got it working though. Is this WinForms stuff part of your OOP thing you were following?

Yup, I try to get used to using different classes and to manage information between those.
I chose a simple league management program for that as my goal for now. Meaning those teams will be created in another class with variables like "wins"/"goals"/"points", etc which I want to read out for the table.
 
Hey, a bit of a weird question, but I honestly have no idea what I'm doing and I'm trying to get into game programming. If I'm primarily interested in 2D sprite based affairs, at least to start, is DirectX still a good set of APIs to use? I've always been under the impression that DX was primarily used for 3D applications.
 
The_Technomancer said:
Hey, a bit of a weird question, but I honestly have no idea what I'm doing and I'm trying to get into game programming. If I'm primarily interested in 2D sprite based affairs, at least to start, is DirectX still a good set of APIs to use? I've always been under the impression that DX was primarily used for 3D applications.

If you're using C++ then SDL or SFML are most often recommended for 2D applications. SDL transitions nicely into OpenGL so that's a nice bonus for using that library. SFML is newer and is OOP based, but it doesn't have nearly as much documentation (though the SFML creator is fairly active on their forum).

If you're using C# then just use XNA.
 
Kalnos said:
If you're using C++ then SDL or SFML are most often recommended for 2D applications. SDL transitions nicely into OpenGL so that's a nice bonus for using that library. SFML is newer and is OOP based, but it doesn't have nearly as much documentation (though the SFML creator is fairly active on their forum).

If you're using C# then just use XNA.
Definitely using C++, so thanks for the recommendations.
 
1hGfD.png


I am coming along... slowly.

Currently its only taking the initial values from the Team class and sorts by the name. I need to tell it to sort via points and goals first. Thinking about how to do that. But probably with a if/while/foreach thing that will compare each of them and make a new, sorted list off that.
 
Toma said:
]http://i.imgur.com/1hGfD.png

I am coming along... slowly.

Currently its only taking the initial values from the Team class and sorts by the name. I need to tell it to sort via points and goals first. Thinking about how to do that. But probably with a if/while/foreach thing that will compare each of them and make a new, sorted list off that.
Nice job. Is that a ListView? I think you have to make some sort of ListView sorter or comparer. Search MSDN.


If it's not a ListView... Make it a ListView
 
deadbeef said:
Nice job. Is that a ListView? I think you have to make some sort of ListView sorter or comparer. Search MSDN.


If it's not a ListView... Make it a ListView

No idea what a listView is, but what I did worked as well:
E03Cn.jpg


Basically, I compared each variable "points" for each instance Team and if , compared to Team 1, there were 8 other Teams that had less points, it would be sorted into a new list at position (oldlist.count - 8).

Its probably less efficient or something, but hey its at least my idea :)

Therefore I had an easy way to figure out where every team needs to be placed regarding their variable "points", and simply gave the newly sorted list to my UpdateTable method.

Now I am onto comparing the Goals for every team that has the same amount of points, since I didnt pay attention to that yet. If that is done, the League Table is finished since its then easily able to update itself.
 
if you're using .Net 3.5 or newer, take a look at the OrderBy and OrderByDescending extension methods. Much easier way to sort. Then use the ToList extension method to turn it back into a list. There's also ThenBy and ThenByDescending to sort by secondary conditions.

eg.

Say you have a class Person with two properties FirstName and LastName

and people is a list of Person objects.

people.OrderBy(x=>x.LastName).ThenBy(x=>x.FirstName).ToList();

will give you a new list of people that is sorted by last name and then by first name
 
mike23 said:
if you're using c# 3.5 or newer, take a look at the OrderBy and OrderByDescending extension methods. Much easier way to sort. Then use the ToList extension method to turn it back into a list. There's also ThenBy and ThenByDescending to sort by secondary conditions.

eg.

Say you have a class Person with two properties FirstName and LastName

and people is a list of Person objects.

people.OrderBy(x=>x.LastName).ThenBy(x=>x.FirstName).ToList();

will give you a new list of people that is sorted by last name and then by first name

Holy... That is potentially one line that does what I wrote within 50 lines.
Still proud that I was able to do it on my own >_>

...damn.
 
Also take a look at Where. It lets you filter the items in the list.

people.Where(x=>x.FirstName == "Mike").OrderBy(x=>x.LastName).ToList();

edit: I should add that this is all part of LINQ. Look it up, it's one of the most useful features in .Net in my opinion.
 
Toma said:
Holy... That is potentially one line that does what I wrote within 50 lines.
Still proud that I was able to do it on my own >_>

...damn.
A general rule of thumb in .NET is if you're spending 50 lines of code to do something, it's probably already been done for you in some library.
 
Hmmm..

I tried this:

ListTeams.OrderBy(x => x.Points).ThenBy(x => x.GoalDifference).ToList();


ListTeams contains the all instances of the object "Team" that I made and Points and Goaldifference have appropriate methods to read their value out:

public int Points()
{
return _Points;
}

and it gives me this error:

The type arguments for method 'System.Linq.Enumerable.OrderBy<TSource,TKey>(System.Collections.Generic.IEnumerable<TSource>, System.Func<TSource,TKey>)' cannot be inferred from the usage. Try specifying the type arguments explicitly.

No idea what type arguments I should specify.
 
Toma said:
Hmmm..

I tried this:

ListTeams.OrderBy(x => x.Points).ThenBy(x => x.GoalDifference).ToList();


ListTeams contains the all instances of the object "Team" that I made and Points and Goaldifference have appropriate methods to read their value out:

public int Points()
{
return _Points;
}

and it gives me this error:

The type arguments for method 'System.Linq.Enumerable.OrderBy<TSource,TKey>(System.Collections.Generic.IEnumerable<TSource>, System.Func<TSource,TKey>)' cannot be inferred from the usage. Try specifying the type arguments explicitly.

No idea what type arguments I should specify.

This error is stupid and happens whenever LINQ can't work for one reason or another, it's almost never the case you need to define type arguments.

One thing I can see is Points is a function, not a property, Try making it a property instead:

public int Points {
get { return _points; }
}
 
Somnid said:
This error is stupid and happens whenever LINQ can't work for one reason or another, it's almost never the case you need to define type arguments.

One thing I can see is Points is a function, not a property, Try making it a property instead:

public int Points {
get { return _points; }
}

Yup, works now. Nice.

Edit: Work of 3 hours done in 10 minutes >_> Oh well, learn something new every... 3 hours.
 
Question time! Okay, so say I want to store different types of objects in the same array. My current solution is to have all of the different types inherit from a base class that forms the array. The question is: am I going to have to fiddle around with casting to make this work? I mean, basically, this is what I'm trying to do.

Code:
class Type1 : public TopObject{
public: 
Type1();
~Type1();
int xpos = 5;
int ypos = 5;
};

///

class Type2 : public TopObject{
public:
Type2();
~Type2();
int xpos = 3; //note same member names
int ypos = 3;
};

////

TopObject TestArray[20];
TestArray[0] = new Type1();
TestArray[1] = new Type2();

for(int i = 0, i<2, i++){
cout << TestArray[i].xpos<< " " <<TestArray[i].ypos<<endl;
}

Are there any problems with this code that you guys see? Alternatively should I be doing something with the array and using pointers or references? Alternatively alternatively should I be using a different structure? A vector or a list or something?
 
The_Technomancer said:
Question time! Okay, so say I want to store different types of objects in the same array. My current solution is to have all of the different types inherit from a base class that forms the array. The question is: am I going to have to fiddle around with casting to make this work? I mean, basically, this is what I'm trying to do.


Are there any problems with this code that you guys see? Alternatively should I be doing something with the array and using pointers or references? Alternatively alternatively should I be using a different structure? A vector or a list or something?

Perfectly reasonable; I'm curious why you're declaring xpos & ypos in both child classes & not just the top class... Or is that just for the example?
 
fenners said:
Perfectly reasonable; I'm curious why you're declaring xpos & ypos in both child classes & not just the top class... Or is that just for the example?
Just for the example, to demonstrate how the functions I'll be calling with the array will be the same between classes.
 
The_Technomancer said:
Just for the example, to demonstrate how the functions I'll be calling with the array will be the same between classes.
I would declare the method/property on the top class then override it in the sibling classes.
 
Celine said:
I would declare the method/property on the top class then override it in the sibling classes.
Yeah, thats what I'll be doing for the actual project. Do you need to declare properties as virtual as well as methods?

EDIT: Just realized what I asked. Nevermind.
 
Okay, I'm missing something. In C++ what do I have to do if I have an array (or vector) declared as made up of a class, and I want to fill one of the elements.
Code:
std::vector<SolidBrick> bricks(5);
	bricks[0] = new SolidBrick();
and its array equivalent don't work, the compiler doesn't like the =
 
bricks.push_back(new SolidBrick());

Uses the terminology that stacks use:

Push onto : add to the stack.
Pop : remove from stack.
Peek : view the item on the top of the stack.
 
The_Technomancer said:
Okay, I'm missing something. In C++ what do I have to do if I have an array (or vector) declared as made up of a class, and I want to fill one of the elements.
Code:
std::vector<SolidBrick> bricks(5);
	bricks[0] = new SolidBrick();
and its array equivalent don't work, the compiler doesn't like the =

Pointers! You're declaring a vector of SolidBrick objects there, not "slots" of SolidBricks which is what you're wanting.

Code:
std::vector<SolidBrick *> bricks(5);
bricks[0] = new SolidBrick();
bricks[1] = new SomeOtherBrick();

And yeah, you dont' actually access vectors by arrays like that generally. Why not just keep it as an array if that's what your using it for? (But an array of SolidBrick*)
 
fenners said:
Pointers! You're declaring a vector of SolidBrick objects there, not "slots" of SolidBricks which is what you're wanting.

Code:
std::vector<SolidBrick *> bricks(5);
bricks[0] = new SolidBrick();
bricks[1] = new SomeOtherBrick();
Argh, damn pointers. I have a good theoretical understanding of how they work, but I'm still utterly confused on when I do and don't use them.

Okay, one more question guys: accessing members and functions from objects in an array/vector. The specific implementation of the following code isn't important, just look at how its laid out:
Code:
std::vector<SolidBrick *> bricks(5);
	float ybrickpos = 0;
	for(int i = 0; i< 5; i++){
	bricks[i] = new SolidBrick();
	bricks[i].BrickSprite.SetPosition(100.f, ybrickpos);
	ybrickpos += 100;
	}

So I don't seem to be able to access the inside of an element using a line like
Code:
bricks[i].BrickSprite.SetPosition(100.f, ybrickpos);

EDIT: Okay, having solved that problem, why does the -> operator work?
 
The_Technomancer said:
Argh, damn pointers. I have a good theoretical understanding of how they work, but I'm still utterly confused on when I do and don't use them.

Okay, one more question guys: accessing members and functions from objects in an array/vector. The specific implementation of the following code isn't important, just look at how its laid out:
Code:
std::vector<SolidBrick *> bricks(5);
	float ybrickpos = 0;
	for(int i = 0; i< 5; i++){
	bricks[i] = new SolidBrick();
	bricks[i].BrickSprite.SetPosition(100.f, ybrickpos);
	ybrickpos += 100;
	}

So I don't seem to be able to access the inside of an element using a line like
Code:
bricks[i].BrickSprite.SetPosition(100.f, ybrickpos);

EDIT: Okay, having solved that problem, why does the -> operator work?

-> operator is like the . operator except it also dereferences the pointer to the left of it. Like how subscript operator[] dereferences an array pointer for you.

(*bricks) would also work to get to the actual object in the vector. The [] gives you the pointer being held in the vector, then the * gives you the dereferenced object being pointed to.

Also, I didn't get 'good' at pointers until my professor made us do an assignment that had a many pointers to pointers to pointers to pointers. So many pointers!

edit: I also made this thread awhile ago for C++ questions I had, if you're interested.
http://www.neogaf.com/forum/showthread.php?t=409754&page=7
 
I think Techno understands how to use pointers, he just doesn't understand why he needs to in this case. Also, copying an object's address around is a lot easier than carrying the object itself, much less expensive.

Just remember to delete them, and don't remove them from that vector if you aren't deleting them or storing them somewhere else. I wouldn't use pointers anywhere if I didn't have to, stick to references (&) as much as you can.
 
Kalnos said:
I think Techno understands how to use pointers, he just doesn't understand why he needs to in this case. Really, it's just to control the life of the objects you're creating. If you declare these bricks in a method normally they will no longer exist when the method is finished executing if you aren't declaring them dynamically with new. Also, copying an object's address around is a lot easier than carrying the object itself, much less expensive.

Just remember to delete them, and don't remove them from that vector if you aren't deleting them or storing them somewhere else. I wouldn't use pointers anywhere if I didn't have to, stick to references (&) as much as you can.
Yeah, on a conceptual level I understand what a pointer is, and I have this vague part of my mind that knows "that is a useful thing to have" but I'm still getting used to all of the specific implementations. The explanation above was very helpful.

So do I delete with bricks = delete SolidBrick, or is there a way to call the deconstructor?
 
Is it just me or is it pretty.. complicated to come up with a matchmaking algorithm for any amount of teams in a league?
 
I spent a week inventing a neat query composition syntax that would allow you to write database queries using a LINQ-like syntax and send it over a webservice call like this:

service.ListUsers(user.Gender.Equal(Genders.Male).And(user.Age.LessThan(20).Or(user.Age.GreaterThan(25)))

The query would be compacted down for transmission, rehydrated on the other side, compiled into a lambda and executed against the database, and it worked just great. Then microsoft came out with RIA domain services and made it pretty much obsolete - sigh!

oh and then I found out the guy who'd written C# in a nutshell had invented essentially the same thing.
 
Toma said:
Is it just me or is it pretty.. complicated to come up with a matchmaking algorithm for any amount of teams in a league?
You could you divide it into the individual pairings, find the matchup that's basically 'in the middle' by skill (win-to-loss ratio, or individual points) and go up and down per pair from there.

It's really not hard once you have a way of gauging skill.
 
Windows Installer, Visual Studio Setup Projects, and InstallShield are going to be the death of me.

The overcomplication and dysfunctionality of all three of the above are all so infuriating.

I want to install some files, create a windows service, and drop some files in c:\windows while being upgradable in an MSI. It shouldn't be this hard but Visual Studio Setup Projects are literally incapable of doing this smoothly, and InstallShield is very crashy and the documentation blows.

What should be a two hour programming task to do on its own has turned into weeks of development and testing because it all has to be in a god damn MSI.

edit: Yeah, I know this is the "fuck yeah" thread and not the bitching one but I needed to vent and didn't want to necro the old thread
 
Mister Zimbu said:
Windows Installer, Visual Studio Setup Projects, and InstallShield are going to be the death of me.

The overcomplication and dysfunctionality of all three of the above are all so infuriating.

I want to install some files, create a windows service, and drop some files in c:\windows while being upgradable in an MSI. It shouldn't be this hard but Visual Studio Setup Projects are literally incapable of doing this smoothly, and InstallShield is very crashy and the documentation blows.

What should be a two hour programming task to do on its own has turned into weeks of development and testing because it all has to be in a god damn MSI.

edit: Yeah, I know this is the "fuck yeah" thread and not the bitching one but I needed to vent and didn't want to necro the old thread
Yeah anything but the most basic installer requires you to be some sort of savant or something. It's really frustrating.
 
wolfmat said:
You could you divide it into the individual pairings, find the matchup that's basically 'in the middle' by skill (win-to-loss ratio, or individual points) and go up and down per pair from there.

It's really not hard once you have a way of gauging skill.

The only thing it does is giving you a list, right? I have my constant list of teams and I could start making matches in the middle.

Lets say for the first day in a list that contains 1-10 as Teams.

Matches (day 1-5 playing every match against the teams on the other row):

Day1:
1-6
2-7
3-8
4-9
5-10

Day5:
1-10
2-6
3-7
4-8
5-9

Day6 (every team played against every team from the opposing side):
1-2
3-4
5-??
6-7
8-9
10-??

Is that what you mean? what would I do for the next "day"? I tried some alternating patterns to change the sequence and had a pretty good go with alternating that list with 2 different algorithms, but it never is consistently including all matches until the last day.

In a league with 20 teams, of course it shouldnt be that 2 teams wont play on one day, and I couldnt figure out an algorithm to avoid that up to now.
 
Toma said:
In a league with 20 teams, of course it shouldnt be that 2 teams wont play on one day, and I couldnt figure out an algorithm to avoid that up to now.
Oh okay, I guess I misunderstood. You want to permute pairings in a senseful manner.

I'd have to think on it to give you a meaningful answer.
 
Alright. Here's a brute-force method.

Say you have 6 teams, named 1, 2, 3, 4, 5 and 6.

All possible opponents for 1 are these:
2, 3, 4, 5 and 6
For 2, excluding already made matchups:
3, 4, 5, 6
For 3 accordingly:
4, 5, 6
4:
5, 6
5:
6
6:
-

Let's encode these pairings and list them. A pairing is encoded with two digits, where digit 1 is the first team's name, and digit 2 is the second team's name. So we end up with the following list:
12, 13, 14, 15, 16, 23, 24, 25, 26, 34, 35, 36, 45, 46, 56

Now we set up the matches by going through the list and picking 5 pairings per day, where each pairing pulls from the pool of pairings where one of the teams is participating. If said team has already been pulled this day, we do not pull and write a - instead.

Edit: Obviously, a pairing is not repeated.

The number of days is n-1, where n is the number of teams.

Day 1:
12, -, 34, -, 56
Day 2:
13, 24, -, -, -
Day 3:
14, 23, -, -, -
Day 4:
15, 26, -, -, -
Day 5:
16, 25, -, -, -

Matchups that haven't been pulled are:
35, 36, 45, 46

Now, we repeat the process with a different list order (we shuffle around the teams starting with 1, then those with 2, and so on). We write down the according solution and see if matchups end up not being picked. If some are not picked, we change the order again. If all matchups are picked, we are done.

Eventually, we end up with this solution:
Day 1:
12, -, 34, -, 56
Day 2:
16, 23, -, 45, -
Day 3:
13, 25, -, 46, -
Day 4:
14, 26, 35, -, -
Day 5:
15, 24, 36, -, -

All matchups have been pulled, each team plays every day.

The problem with this approach is that reordering the list (because the previous setup left matchups out) has to be done much more often with more teams.

You can sort of optimize the process by doing the reordering as soon as you end up with a day that features less than n/2 matchups.
 
wolfmat said:
Here's a brute-force method.

All matchups have been pulled, each team plays every day.

The problem with this approach is that reordering the list (because the previous setup left matchups out) has to be done much more often with more teams.

You can sort of optimize the process by doing the reordering as soon as you end up with a day that features less than n/2 matchups.

Hm, that is smart. I'll think a bit on my own whether I can find a way to program this for x teams, but I'll be back to report :P
 
Toma said:
Hm, that is smart. I'll think a bit on my own whether I can find a way to program this for x teams, but I'll be back to report :P
If you have an uneven number of teams, you have to add an extra day to the n/2 days; on that day, whatever's left plays. Keep that in mind.
 
During our introductionary Java programming course in upper secondary school we had as a final assignment to program a simple text-based yahtzee games that randomised five dice, let the player choose which ones to save, where to put the results etc. When it came to calculating the results, I had a friend who was dead set on only using if/else-if commands, with the result that his code was several times longer than ours and was just a sad mess. I can imagine his happiness when he finally got that to work :lol

As for me, my biggest "fuck yeah"-moment was probably when I got that yahtzee game finished well in time and had so much time left I polished the layout and added other more stuff than necessary to the game. Got the highest grade. Fuck yeah.
 
I used to code for a MUD. My last project involved:

- Turning the ROM 2.1 zone format into an XML DTD
- Converting 100+ ROM 2.1 zone files into XML files
- Subsequently loading and validating said XML files

This was my first experience implementing a stack, and when I got it all working it was definitely a "Fuck yeah" moment.
 
wolfmat said:
If you have an uneven number of teams, you have to add an extra day to the n/2 days; on that day, whatever's left plays. Keep that in mind.

Fuck yeah! I found out the correct non-brute force algorithm! Took me a while though, but its actually pretty easy >_> Seriously its soooo obvious, that I want to bang my head against the wall since I almost had the same solution yesterday but with a minor mistake that I overlooked.

Going through your method helped me understanding where my problem was, though :) Thanks.
 
My fuck yeah happened this summer at my internship.

I was able to take a 600 line REXX data matching program and port it to a 100 line AWK program...reducing the complexity and increasing the efficiency a shit ton.

Then I wished I had just learned Perl...
 
wolfmat said:
Could you outline it?

Hopefully, this is somewhat understandable. This is not all correct C# stuff, only my mind notes.

Previously needs checking whether its an uneven number, if its uneven add a "FREE" to the team list.

Also: TeamsWithMax[n] has previously been filled with n number of teams and TeamsWithoutMax[n-1] is the same list but missing the last element, since I'll have every match of Team[Max] through the if statement. Therefore, I dont need it anymore for the else statement.

Oh yeah and Matchcount is the count for which match it is on that day. Meaning, that on every matchday with 8 teams, there will be matches with a Matchcount of 1 to 4.
Code:
TeamsWithMax[n];
TeamsWithoutMax[n-1];
Max=TeamsWithMax.Count;
Daycount=Max-1;
Matchcount=1;

while Matchcount<=Max/2
{
     if Matchcount=1
     {
     Matches[Daycount].Add(TeamsWithMax[Daycount]);
     Matches[Daycount].Add(TeamsWithMax[Max]);
     Matchcount=Matchcount+1;
     }
     else
     {
     DummyPlus=Daycount+(Matchcount-1);
     DummyMinus=Daycount-(Matchcount-1);
  
     if DummyMinus<1
         {
         DummyMinus=Max-1+DummyMinus);
         }

     if DummyPlus>(Max-1)
         {
         DummyPlus=DummyPlus-(Max-1);
         }

     Matches[Daycount].Add(TeamsWithoutMax[DummyPlus]);
     Matches[Daycount].Add(TeamsWithoutMax[DummyMinus]);
     Matchcount=Matchcount+1;
     }
}

int counter=1;
foreach (List/string/whatever elem in Matches)
{
     while i<=Max/2
     {
     WriteLine(elem[counter] +":" + elem[counter+1]);
     counter=counter+2;
     }
}

DummyMinus and DummyPlus are getting an If exception because there are no List entries[-1], it just takes the value and counts from the current top value (Max-1) down (or the other way round for DummyPlus).

That makes it basically looking like this:

Code:
4 Teams

Daycount:Max |	Daycount+(Matchcount-1):Daycount-(Matchcount-1)
--------------------------------------------------------------
Daycount:Max |	Daycount+(Matchcount-1):Daycount-(Matchcount-1)
--------------------------------------------------------------
Daycount:Max |	Daycount+(Matchcount-1):Daycount-(Matchcount-1)

which then transforms into (remember that if a value is below 1, it will be counted from Max-1 down, and the other rule for a value above Max-1):


1:4 | 1+(2-1):1-(2-1)
-------------------------
2:4 | 2+(2-1):2-(2-1)
-------------------------
3:4 | 3+(2-1):3-(2-1)

=

1:4 | 2:3
----------
2:4 | 3:1
----------
3:4 | 1:2

And it works for every amount of teams because the base setup is really simple:

Code:
8 Teams
Daycount:Max	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Daycount:Max	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Daycount:Max	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Daycount:Max	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Daycount:Max	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Daycount:Max	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Daycount:Max	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)	|	Daycount+(Matchcount-1):Daycount-(Matchcount-1)

Fuck yeah! God, I love programming.
 
Toma said:
I started some minor programming in school with Basic and already thought it is very interesting to be able to WRITE the program, actively make decisions to tell the computer what to do. I think my first FUCK YEAH programming moment ever was the first time I was able to get "Hello World" shown on screen in the first language(Basic) I learned.
Same here, but I think that was just because we got a program to run and say whatever we wanted it to.

But for me my biggest "FUCK YEAH" moment was our first C++ assignment(from 10th grade) to create a calculator program. I was soo excited I called my mom into the room to do some..er...calculations, except she didn't think it was as awesome as I did, as she just responded with a "that's nice.." lol
 
Status
Not open for further replies.
Top Bottom