Beispiel #1
0
static void SetComputers( Short num ) {
  FormPtr frm;
  ControlPtr cPtr;
  Word oIdx;

  if( num > (MaxPlayers - 1) || num < 0 ) {
    ErrNonFatalDisplayIf( true, "SetComputers: Out of Bounds");
    return;
  }

  if( stor.tmpcomputers == num ) {
    return;
  }

  frm = FrmGetActiveForm();


  /* Unset the old one */
  oIdx = FrmGetObjectIndex( frm, cbtnVal[stor.tmpcomputers] );
  cPtr = FrmGetObjectPtr( frm, oIdx );
  CtlSetValue( cPtr, false );

  /* Set new one */
  oIdx = FrmGetObjectIndex( frm, cbtnVal[num] );
  cPtr = FrmGetObjectPtr( frm, oIdx );
  CtlSetValue( cPtr, true );

  stor.tmpcomputers = num;

  if( stor.tmpcomputers + stor.tmpplayers > MaxPlayers ) {
    SetPlayers( MaxPlayers - stor.tmpcomputers );
  }
  
  return;
}
Beispiel #2
0
//Function start mode "new game"
void MainGame::StartNewGame()
{
	SetPlayers();
	SetStartBoard();
	currentmove = 0;
	currentmaxmove = 0;
	arbiter = true;
}
Beispiel #3
0
static Boolean DialogNewGameHandleEvent (EventPtr e)
{
    Boolean handled = false;
    FormPtr frm;

    CALLBACK_PROLOGUE

    switch (e->eType) {
    case frmOpenEvent:
        frm = FrmGetActiveForm();
        FrmDrawForm(frm);
        handled = true;
        break;

    case ctlSelectEvent:
        switch(e->data.ctlSelect.controlID) {

        case btn_Variants_frmNewGame:
            DialogVarients();
            handled = true;
            break;

        case btn_OK_frmNewGame:
            if( DialogGetNames() == false ) {
                handled = true;
                /* So, DGN was canceled, so we eat the result */
            }
            break;

#if 0
        case cbtn_0:
            SetComputers( 0 );
            break;
        case cbtn_1:
            SetComputers( 1 );
            break;
        case cbtn_2:
            SetComputers( 2 );
            break;
        case cbtn_3:
            SetComputers( 3 );
            break;
        case cbtn_4:
            SetComputers( 4 );
            break;
        case cbtn_5:
            SetComputers( 5 );
            break;
        case cbtn_6:
            SetComputers( 6 );
            break;
        case cbtn_7:
            SetComputers( 7 );
            break;
        case cbtn_8:
            SetComputers( 8 );
            break;
        case cbtn_9:
            SetComputers( 9 );
            break;
#else
        case cbtn_0:
        case cbtn_1:
        case cbtn_2:
        case cbtn_3:
        case cbtn_4:
        case cbtn_5:
        case cbtn_6:
        case cbtn_7:
        case cbtn_8:
        case cbtn_9:
            SetComputers( 0 );
            break;
#endif
        case pbtn_1:
            SetPlayers( 1 );
            break;
        case pbtn_2:
            SetPlayers( 2 );
            break;
        case pbtn_3:
            SetPlayers( 3 );
            break;
        case pbtn_4:
            SetPlayers( 4 );
            break;
        case pbtn_5:
            SetPlayers( 5 );
            break;
        case pbtn_6:
            SetPlayers( 6 );
            break;
        case pbtn_7:
            SetPlayers( 7 );
            break;
        case pbtn_8:
            SetPlayers( 8 );
            break;
        case pbtn_9:
            SetPlayers( 9 );
            break;
        case pbtn_10:
            SetPlayers( 10 );
            break;

        }
        break;

    default:
        break;
    }

    CALLBACK_EPILOGUE

    return handled;
}
Beispiel #4
0
// This function works as follows. It expects a list of four items. If falling short of that, the missing ones will be padded with AI. If going beyond that, only the first four are effective.
RankUp::RankUp( const std::initializer_list<PlayerId>& playerIds ) {
  SetPlayers( playerIds );
}