コード例 #1
0
ファイル: awari.c プロジェクト: Bencepapa/CymonsGames
void playgame (void) {
  int c, numpl;

  for (c = 0; c < 13; c++) board[c] = 3;
  board[6] = board [13] = memory[memory[0]] = numpl = 0;
  do {
    printf ("\nHow many players (1 - 2) ? ");
    scanf ("%d", &numpl);
    if (numpl < 1 || numpl > 2) {
      printf ("Please input either 1 or 2.\n");
      numpl = 0;
    }
  } while (!numpl);
  turn = 0;
  do {
    drawboard ();
    if (domove (playermove (0), 6))
      if (!endgame()) {
        drawboard ();
        printf ("Again.\n");
        domove (playermove (0), 6);
      }
    drawboard ();
    if  (!endgame ()) {
      if (domove ((numpl - 1) ? playermove (1) : computermove (), 13))
        if (!endgame()) {
          drawboard ();
          printf ("Again.\n");
          domove ((numpl - 1) ? playermove (1) : computermove (), 13);
        }
      printf("\n");
    }
  } while (!endgame ());
  drawboard ();
  printf ("\nGame Over.\n");
  c = board[6]-board[13];
  if (c < 0) printf ("%s by %d points.\n",
    (numpl - 1) ? "Player 2 wins" : "I win", (-c));
  else {
    if (!(numpl - 1) && memory[0] < 50) memory[0]++;
    if (c == 0) printf ("Drawn game.\n");
    else printf ("Player 1 wins by %d points.\n", c);
  }
}
コード例 #2
0
ファイル: migong.c プロジェクト: Quanhua-Guan/cgame
int main()
{
  step ps;
  int key;
  int row=1,line=1;
  init(WHITE);
  createmap(&ps);

  drawmap(BLUE);
  drawpeople(row,line,RED);
  while(1)
  {


    key=bioskey(0);
    switch(key)
    {
     case UP:if(path[row-1][line]==0)
     {
      drawpeople(row,line,WHITE);
      row--;
      drawpeople(row,line,RED);

    }break;
    case DOWN:if(path[row+1][line]==0)
    {
      drawpeople(row,line,WHITE);
      row++;
      drawpeople(row,line,RED);

    }break;
    case RIGHT:if(path[row][line+1]==0)
    {
      drawpeople(row,line,WHITE);
      line++;
      drawpeople(row,line,RED);

    }break;
    case LEFT:if(path[row][line-1]==0)
    {
      drawpeople(row,line,WHITE);
      line--;
      drawpeople(row,line,RED);

    }break;
    case ESC:closegraph();exit(0); break;
    case BS: computermove(row,line,&ps);
    del_23();
    getch();
    cleardevice();
    drawmap(BLUE);
    drawpeople(row,line,RED);
    default :break;


  }
  if(line==(N-2)&&row==(N-2))
  {

    closegraph();
    printf("\n\n\n\n\t\t\t\tGood Job");
    sleep(5);
    break;

  }

}
return 1;
}