
(Bon après moi j'aurais mis des espaces après les points virgules et autour des signes = dans les for, mais bon c'est pour faire chier

int returnMoves = numlegalfullmoves;
if (!numlegalfullmoves)
{
if ((!numlegaldie1moves) || (abs (die2) > abs (die1)))
{
for (unsigned short i = 0; i < numlegaldie2moves; i++)
{
legalmoves[i][1] = legaldie2moves[i];
legalmoves[i][3] = legalmoves[i][2] = legalmoves[i][0] = -128;
}
returnMoves = numlegaldie2moves;
}
if (!numlegaldie2moves)
{
for (unsigned short i = 0; i < numlegaldie1moves; i++)
{
legalmoves[i][0] = legaldie1moves[i];
legalmoves[i][3] = legalmoves[i][2] = legalmoves[i][1] = -128;
}
returnMoves = numlegaldie1moves;
}
}
return returnMoves;
BOOL newFlagThatICreated;
if (((newFlagThatICreated = CURRENT_VIEW) && (CURRENT_VIEW->hasFocus())) || (index >= 6))
{
switch (index)
{
case 0: editUndo(); break;
case 1: editRedo(); break;
case 2: editCut(); break;
case 3: editCopy(); break;
case 4: editPaste(); break;
case 15: projectCompile(); break;
case 16: projectMake(); break;
case 5: // F1 context help
{
int line,col,i;
CURRENT_VIEW->cursorPosition().position(line, col);
QString textLine=CURRENT_VIEW->document()->line(line);
QString wordUnderCursor;
for (i = col - 1 ; i >= 0 ; i--)
{
QChar c=textLine[i];
if ( ((c >= 'A') && (c <= 'Z')) || ((c >= 'a') && (c <= 'z')) || ((c >= '0') && (c <= '9')) || (c == '_') || (c == '$') || (c == '#') )
{
wordUnderCursor.prepend(c);
}
}
int len=textLine.length();
for (i=col;i<len;i++)
{
QChar c=textLine[i];
if ( ((c >= 'A') && (c <= 'Z')) || ((c >= 'a') && (c <= 'z')) || ((c >= '0') && (c <= '9')) || (c == '_') || (c == '$') || (c == '#') )
{
wordUnderCursor.append(c);
}
}
// always open at least the index
force_qt_assistant_page(1);
assistant->openAssistant();
if (wordUnderCursor.isEmpty())
{
return;
}
QString docFile = lookup_doc_keyword(wordUnderCursor);
if (docFile.isEmpty())
{
return;
}
// wait for Qt Assistant to actually open
while (!assistant->isOpen())
{
QCoreApplication::processEvents(QEventLoop::ExcludeUserInput,1000);
}
assistant->showPage(QString(tigcc_base) + QString("/doc/html/") + docFile);
break;
}
case 6: case 7:
if (newFlagThatICreated)
{
// keyReturn is not in any interface, but it's a public slot...
CURRENT_VIEW->qt_metacall(QMetaObject::InvokeMetaMethod, CURRENT_VIEW->metaObject()->indexOfMethod("keyReturn()"), NULL);
current_view_newLineHook();
}
else
{
QKeyEvent *keyEvent=new QKeyEvent(QEvent::KeyPress, Qt::Key_Return, '\n', 0, "\n");
QApplication::postEvent(focusWidget(), keyEvent);
}
break;
case 8:
if (newFlagThatICreated)
{
new TemplatePopup(CURRENT_VIEW); /* Joli, rien a foutre de la gestion de la memoire a ce que je vois ! */
}
break;
case 9: case 10:
if ( newFlagThatICreated && IS_FILE(currentListItem) && (CURRENT_VIEW == static_cast<ListViewFile *>(currentListItem)->kateView) )
{
QString fileText=CURRENT_VIEW->document()->text();
CATEGORY_OF(category, currentListItem);
// Completion only operates on C files.
if ( (category ==cFilesListItem) || (category == qllFilesListItem) || ((category == hFilesListItem) && !fileText.isEmpty() && (fileText[0] != '|') && (fileText[0] != ';')) )
{
// Disable newLineHook.
shortcuts[6]->setEnabled(FALSE);
shortcuts[7]->setEnabled(FALSE);
new CompletionPopup(CURRENT_VIEW, pathInProject(currentListItem), this, this); /* Toujours une belle gestion de la memoire... */
}
}
break;
case 11: // next file
case 12:
{
Q3ListViewItem *item=currentListItem;
if (!item)
{
item=rootListItem;
}
Q3ListViewItem *origItem=item;
do
{
item=item->itemBelow();
if (!item)
{
item=rootListItem
}
if (item == origItem)
{
return; // no suitable items to select
}
} while ((item == rootListItem) || IS_CATEGORY(item));
fileTreeClicked(item);
if (CURRENT_VIEW) CURRENT_VIEW->setFocus();
{
break;
}
}
case 13: // switch transfer target
case 14:
{
preferences.linkTarget = (preferences.linkTarget == LT_TIEMU) ? LT_REALCALC : LT_TIEMU;
savePreferences();
// Apply the preferences to the debug menu.
debugPauseAction->setEnabled(!compiling && (preferences.linkTarget == LT_TIEMU));
debugResetAction->setEnabled(!compiling && (preferences.linkTarget == LT_TIEMU));
bool runnable = (!settings.archive) && (!settings.flash_os) && (preferences.linkTarget != LT_NONE);
menuBar()->setItemVisible(5, runnable); //debugMenu
debugRunAction->setVisible(runnable);
debugPauseAction->setVisible(runnable);
break;
}
default:
break;
}
}
int returnMoves = numlegalfullmoves;
unsigned short i;
if (!numlegalfullmoves)
{
if ( (!numlegaldie1moves) || (abs(die2) > abs(die1)) )
{
for (i = 0 ; i < numlegaldie2moves ; i++)
{
legalmoves[i][1] = legaldie2moves[i];
legalmoves[i][3] = legalmoves[i][2] = legalmoves[i][0] = -128;
}
returnMoves = numlegaldie2moves;
}
if (!numlegaldie2moves)
{
for (i = 0 ; i < numlegaldie1moves ; i++)
{
legalmoves[i][0] = legaldie1moves[i];
legalmoves[i][3] = legalmoves[i][2] = legalmoves[i][1] = -128;
}
returnMoves = numlegaldie1moves;
}
}
return returnMoves;
}
GoldenCrystal (./63) :
Godzil, je crois que tu t'es un peu foiré sur les parenthèses autour du = tout en haut
Godzil (./55) :
Tellement plus propre...
GoldenCrystal (./56) :
Ah tiens, t'as réussi à rendre le code agréable à lire… Marrant
Godzil (./59) :
Tellement plus propre...
Folco (./61) :
Pareil, je supporte pas ces symboles accolés
Kevin Kofler (./68) :, un seul return, et une variable valeur de retour qui traîne comme en BASIC.
Lionel Debroux (./72) :
Les return multiples par fonction ne sont pas non plus une bonne chose pour la gestion des erreurs (hormis, dans certains styles de code, des early return pour la validation initiale des paramètres de la fonction, par exemple)
ni si on veut mettre des traces à chaque entrée et sortie de fonction dans une base de code, sans pouvoir utiliser la programmation aspect pour ce faire
squalyl (./74) :
de toute façon l'early return est une poudre aux yeux, le compilateur n'en fait qu'un jump vers LE return de la fonction.
Kevin Kofler (./79) :
Pour des projets vraiment à moi, regarde par exemple:
http://www.tigen.org/kevin.kofler/bbowda/
PpHd (./81) :
(Ca compile pas... Il me manque o8para.h ?)
lbl: { du code, peu importe lequel if ( hu ) { break lbl ; } d'autre code } Ça continue ici si le break est appelé %)