コード例 #1
0
ファイル: meeting.c プロジェクト: pcorliss/Teensy-Projects
char waitKeyPress(void){
  char c = getKeyPress();
  uint16_t counter = 50;
  //_delay_ms(50);
  while(c != 0 && c == getKeyPress() && counter < 1000){
    _delay_ms(10);
    counter += 10;
  }
  return c;
}
コード例 #2
0
ファイル: main.cpp プロジェクト: ShenJiahuan/2048
int main()
{
	system("mode con cols=48 lines=23");
	SetConsoleTitle(L"2048");
	hideCursor();
	int data[ROW][COL];
	bool isInitial = true;
	bool isChanged = false;
	bool isEnded = false;
	int haveWinned = FALSE;
	int score = 0;
	initialNumber(data);
	randNumber(data, isInitial);
	printColor(data, score);
	do
	{
		isChanged = false;
		int key;
		getKeyPress(key);
		numberMove(data, key, isChanged);
		numberAdd(data, key, isChanged, score);
		numberMove(data, key, isChanged);
		if (isChanged)
		{
			randNumber(data, isInitial);
		}
		printColor(data, score);
		isEnded = isFinished(data);
		isWinned(data, haveWinned);
		if (haveWinned == JUSTWINNED)
		{
			if (MessageBox(NULL, TEXT("ÄãÓ®ÁË£¡ÊÇ·ñ¼ÌÐø£¿"), TEXT("2048"), MB_YESNO | MB_SYSTEMMODAL) == IDNO)
			{
				while (1)
				{
					_getch();
				}
			}
		}
	} while (!isEnded);
	if (isEnded)
	{
		MessageBox(NULL, TEXT("ÓÎÏ·½áÊø"), TEXT("2048"), MB_OK | MB_SYSTEMMODAL);
	}
	while (1)
	{
		_getch();
	}
	return 0;
}
コード例 #3
0
int QKeyPushButton::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QPushButton::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: pressedKey((*reinterpret_cast< bool(*)>(_a[1]))); break;
        case 1: getKeyPress((*reinterpret_cast< bool(*)>(_a[1]))); break;
        default: ;
        }
        _id -= 2;
    }
    return _id;
}
コード例 #4
0
ファイル: aiHuman.cpp プロジェクト: music960633/tetris
void AI_Human::getCmdList(PlayerInfo info, CmdList& cmdList){	
   cmdList.clear();

   KeyPress key;
   getKeyPress(key);
   switch(key){
      case KEY_UP   : cmdList.push_back(TURNRIGHT); break;
      case KEY_RIGHT: cmdList.push_back(MOVERIGHT); break;
      case KEY_LEFT : cmdList.push_back(MOVELEFT) ; break;
      case KEY_DOWN : cmdList.push_back(MOVEDOWN) ; break;
      case KEY_SPACE: cmdList.push_back(HARDDROP) ; break;
      case KEY_C    : cmdList.push_back(HOLD)     ; break;
      case KEY_X    : cmdList.push_back(TURNRIGHT); break;
      case KEY_Z    : cmdList.push_back(TURNLEFT) ; break;
      default       : break;
   }
}
コード例 #5
0
ファイル: CPU.c プロジェクト: julie2234/422project
void determineInterrupt(CpuPtr cpu, int interruptType, int processID)
{
    switch(interruptType)
    {
    case 0: // timer interrupt
    {
        printf("------------------------------\nTimer Interrupt\n------------------------------\n");
        scheduler(cpu->controller);
        break;
    }

    case 1: //KB interrupt
    {
        char key_press = getKeyPress();
        printf("------------------------------\nKB I/O Interrupt - %c key pressed, ", key_press);
        setProcessReady(cpu->controller, 1);
        break;
    }

    case 2: //hdd interrupt
    {
        printf("------------------------------\nHDD I/O Interrupt, ");
        setProcessReady(cpu->controller, 2);

        break;
    }

    case 3: //video interrupt
    {
        printf("------------------------------\nVIDEO I/O Interrupt, ");
        setProcessReady(cpu->controller, 3);
        break;
    }


    default:
    {
        //do nothing
    }
    }
    //interruptFlag = 0;
}