quote:Very good advice.
Originally posted by NotMe:
Write the code for Tic-Tac-Toe so that you have something to turn in, then make a backup and start extending it to Othello.
If that works well, move on to Chess.
code:I would say 10 minutes time spent figuring why this was wrong if i dont count the time watching Bleach.bool validPath( int ox, int oy, int tx, int ty, side_t oSide )
{
if(oSide == WHITE)
{
for ( int c = oy+1; c < ty; c++ )
{
if ( board[oy][c].itsType != EMPTY )
{
return false;
}
}
return true;
}
if(oSide == BLACK)
{
for ( int c = oy+1; c < ty; c-- )
{
if ( board[ox][c].itsType != EMPTY )
{
return false;
}
}
return true;
}
}
quote:Really? Could you teach me?
Originally posted by Blayne Bradley:
So ya, as it turns out I am really good at begugging C++.
quote:This would be the only reason why chess would be scored higher; if it weren't for these complexities, like it's been said, why would it be worth more? Making it a "straight up" game is no different than doing Othello. There's got to be more to it than just determining valid moves.
Don't forget Castling, promotion, and en passant. Not to mention 3 move repetition, stalemate, 50 move rule, etc. Oh, and not just promotion to a Q, but underpromotion.
quote:You realize that trivial rules are not the same thing as optional rules, right?
We decided that going into all of the more trivial rules of chess would not get us additional marks, so we are designing straight up chess
quote:... now this may be rude, but screw you.
Originally posted by Noemon:
Hey, Blanye, I appreciate your updating the existing thread on the subject rather than starting a new one. Thanks.
quote:Indeed, if I were to play a game of chess online via the program, and it lacked any one of those rules, I would stop using the server immediately, without a second thought. It changes the game completely without any one of them.
Originally posted by TomDavidson:
quote:You realize that trivial rules are not the same thing as optional rules, right?
We decided that going into all of the more trivial rules of chess would not get us additional marks, so we are designing straight up chess
quote:Yeah, that's definitely rude. What prompted your comment, Jon?
Originally posted by JonHecht:
quote:... now this may be rude, but screw you.
Originally posted by Noemon:
Hey, Blanye, I appreciate your updating the existing thread on the subject rather than starting a new one. Thanks.
code:These are the awesome grpahics we currently have.[BC][BKn][BB][BQ][BK][BB][BKn][BC]
[BP][BP][BP][BP][BP][BP][BP][BP]
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ]
[WP][WP][WP][WP][WP][WP][WP][WP]
[WC][WKn][WB][WQ][WK][WB][WKn][WC]
quote:There is no compromise that involves me and Ego playing in the same game. If you have a different solution, by all means let's hear it. I do note, I am not discussing this. I tried to be reasonable for six weeks. I laid out my reasoning. I swallowed insults. I asked Ego to consider whether his non-native English might cause problems even where he didn't intend them. I've had it. If you want to play a game including me, it will not include Ego. If you prefer to continue the game we've got, it will not include me short of Ego getting banned. There is no argument you can make that will lead to me playing in the same game with Ego, so don't even start.
Originally posted by Blayne Bradley:
Also King of Men, me and Lurken may have found a compromise in regards to our issue.
quote:Have you verified with your professor that a game that superficially resembles chess but is not actually chess will still receive full marks?
it is a class project not us trying to emulate the entire game of chess it wont award us extra marks
code:switch(origin.itsType)
{
case PAWN:
{
switch(origin.itsSide)
{
case WHITE:
{
cout << "deltay: " << deltay << endl;
cout << "aDeltay: " << aDeltay << endl;
cout << "deltax: " << deltax << endl;
cout << "aDeltax: " << aDeltax << endl;
if( (origin.itsSide == WHITE) && (origin.y == 1) )
{
if( ((deltay == 1) || (deltay == 2)) && (aDeltax==0) )
{
return true;
}
}
else if ( (deltay == 1) && (aDeltax == 1) && (target.itsType != EMPTY))
{
return true;
}
else
{
if( deltay == 1 && aDeltax == 0)
{
return true;
}
else
{
return false;
}
}
}
break;
case BLACK:
{
if( (origin.y == 6) )
{
if( ((deltay == -1) || (deltay == -2)) && (aDeltax==0) )
{
return true;
}
else
{
return false;
}
}
else if ( (deltay == -1) && (aDeltax == 1) && (target.itsType != EMPTY))
{
return true;
}
else
{
if(deltay==-1 && aDeltax==0)
{
return true;
}
else
{
return false;
}
}
}
break;
}
}
break;
quote:I disagree, or perhaps I emphasize differently; the first step must be to really understand all the possible game-logic cases, which he clearly doesn't. At least, he hasn't thought about them thoroughly. Programming is relatively trivial if you really understand what's going on; so to translate into programming logic, you have to really think about the game logic, what's possible, and what's not. I think that's the important step that's missing, not knowledge of OOP and whatnot. If you can do X in procedural, it's pretty simple to pick up the OOP way of doing it. But to understand the procedural you have to learn the programming-oriented way of thinking about the problem, which is to understand all the edge cases and step through all the branches yourself. Not that attacking with an unmoved pawn is an 'edge' case, by any means!
Originally posted by fugu13:
However, it really isn't the game logic that's important. As we can see from his response, Blayne pretty much gets the game logic, it is translating all that knowledge into programming logic that is the issue.
quote:That in your job description, too? I've got millions of lines of code that look immaculate!
Originally posted by El JT de Spang:
I myself am known in some circles for writing long, utterly useless, but perfectly indented, code.
quote:
Blayne, I don't know what what level your class is... Have you studied OOP? Polymorphism and inheritance? Or is this a straight up pseudo-C++ assignment with only functions and scalar/vector object types?
quote:Correct me if I'm wrong, but aren't you fairly close to graduating?
Originally posted by Blayne Bradley:
Coulda swore I posted but we do some OOP, mostly structures/classes/function, next semester we do OOP in detail.
quote:What reason does he give for bailing and refusing to send you the latest version.
In related news I think I got screwed over by my partner, he's decided to bail and is refusing to send me the latest version of the project we were working on.