int main() { setupGame(); addLength(); addLength(); drawBoard(); drawFood(); Game(); getchar(); }
void checkSnakeCollision() { if (::Snake.begin()->begin()->first == BOARD_X || ::Snake.begin()->begin()->second == BOARD_Y || ::Snake.begin()->begin()->first == BOARD_WIDTH || ::Snake.begin()->begin()->second == BOARD_HEIGHT) { exit(0); } else if (::Snake.begin()->begin()->first == ::Food.begin()->first && ::Snake.begin()->begin()->second == ::Food.begin()->second) { addLength(); removeFood(); resetFood(); drawFood(); } else { bool first = true; std::vector<std::map<short, short>>::iterator it = Snake.begin(); for (const auto s : Snake) { if (first) { first = false; } else { if (s.begin()->first == it->begin()->first && s.begin()->second == it->begin()->second) { exit(0); } } } } }
void Programme::addSubElement( QDomElement &element) { if(element.localName().compare("Icon", Qt::CaseInsensitive)==0) { Icon *cn = Icon::fromElement(element); addIcon(cn); return; } if(element.localName().compare("Category", Qt::CaseInsensitive)==0) { Category *cn = Category::fromElement(element); addCategory(cn); return; } if(element.localName().compare("SubTitle", Qt::CaseInsensitive)==0) { SubTitle *cn = SubTitle::fromElement(element); addSubTitle(cn); return; } if(element.localName().compare("LastChance", Qt::CaseInsensitive)==0) { LastChance *cn = LastChance::fromElement(element); addLastChance(cn); return; } if(element.localName().compare("Audio", Qt::CaseInsensitive)==0) { Audio *cn = Audio::fromElement(element); addAudio(cn); return; } if(element.localName().compare("Subtitles", Qt::CaseInsensitive)==0) { Subtitles *cn = Subtitles::fromElement(element); addSubtitles(cn); return; } if(element.localName().compare("Date", Qt::CaseInsensitive)==0) { Date *cn = Date::fromElement(element); addDate(cn); return; } if(element.localName().compare("PreviouslyShown", Qt::CaseInsensitive)==0) { PreviouslyShown *cn = PreviouslyShown::fromElement(element); addPreviouslyShown(cn); return; } if(element.localName().compare("Country", Qt::CaseInsensitive)==0) { Country *cn = Country::fromElement(element); addCountry(cn); return; } if(element.localName().compare("OrigLanguage", Qt::CaseInsensitive)==0) { OrigLanguage *cn = OrigLanguage::fromElement(element); addOrigLanguage(cn); return; } if(element.localName().compare("StarRating", Qt::CaseInsensitive)==0) { StarRating *cn = StarRating::fromElement(element); addStarRating(cn); return; } if(element.localName().compare("Credits", Qt::CaseInsensitive)==0) { Credits *cn = Credits::fromElement(element); addCredits(cn); return; } if(element.localName().compare("Title", Qt::CaseInsensitive)==0) { Title *cn = Title::fromElement(element); addTitle(cn); return; } if(element.localName().compare("Video", Qt::CaseInsensitive)==0) { Video *cn = Video::fromElement(element); addVideo(cn); return; } if(element.localName().compare("New", Qt::CaseInsensitive)==0) { New *cn = New::fromElement(element); addNew(cn); return; } if(element.localName().compare("Rating", Qt::CaseInsensitive)==0) { Rating *cn = Rating::fromElement(element); addRating(cn); return; } if(element.localName().compare("EpisodeNum", Qt::CaseInsensitive)==0) { EpisodeNum *cn = EpisodeNum::fromElement(element); addEpisodeNum(cn); return; } if(element.localName().compare("Length", Qt::CaseInsensitive)==0) { Length *cn = Length::fromElement(element); addLength(cn); return; } if(element.localName().compare("Url", Qt::CaseInsensitive)==0) { Url *cn = Url::fromElement(element); addUrl(cn); return; } if(element.localName().compare("Review", Qt::CaseInsensitive)==0) { Review *cn = Review::fromElement(element); addReview(cn); return; } if(element.localName().compare("Language", Qt::CaseInsensitive)==0) { Language *cn = Language::fromElement(element); addLanguage(cn); return; } if(element.localName().compare("Premiere", Qt::CaseInsensitive)==0) { Premiere *cn = Premiere::fromElement(element); addPremiere(cn); return; } if(element.localName().compare("Desc", Qt::CaseInsensitive)==0) { Desc *cn = Desc::fromElement(element); addDesc(cn); return; } }
int main(void) { initializeList(); while(1) { printf("1. Insert new item. 2. Delete item at. 3. Delete item.\n"); printf("4. (Add from homework). 5. Print. 6. exit.\n"); printf("7. Get Length. 8. Insert Item At. 9. Clear.\n"); printf("10. Delete Last. 11. Delete All.\n"); int ch; scanf("%d",&ch); if(ch==1) { int item; scanf("%d", &item); insertItem(item); } else if(ch==2) { int pos; scanf("%d", &pos); deleteItemAt(pos); } else if(ch==3) { int item; scanf("%d", &item); deleteItem(item); } else if(ch==5) { printList(); } else if(ch==6) { break; } else if(ch==7) { printf("%d\n",addLength()); } else if(ch==8) { int item,position; scanf("%d %d", &position,&item); insertItemAt(position,item); } else if(ch==9) { clear(); } else if(ch==10) { deleteLast(); } else if(ch==11) { deleteAll(); } } }
void run() { if (_arguments.count() == 1) { console.write("Usage: run [-c] <name of file to send>\n"); return; } int fileNameArgument = 1; bool comFile = false; if (_arguments[1] == String("-c")) { comFile = true; fileNameArgument = 2; } String fileName = _arguments[fileNameArgument]; String data = File(fileName).contents(); int l = data.length(); _com = AutoHandle(CreateFile( L"COM3", GENERIC_READ | GENERIC_WRITE, 0, // must be opened with exclusive-access NULL, // default security attributes OPEN_EXISTING, // must use OPEN_EXISTING 0, // not overlapped I/O NULL), // hTemplate must be NULL for comm devices String("COM port")); //IF_ZERO_THROW(SetupComm(_com, 1024, 1024)); DCB deviceControlBlock; SecureZeroMemory(&deviceControlBlock, sizeof(DCB)); IF_ZERO_THROW(GetCommState(_com, &deviceControlBlock)); deviceControlBlock.DCBlength = sizeof(DCB); deviceControlBlock.BaudRate = 19200; deviceControlBlock.fBinary = TRUE; deviceControlBlock.fParity = FALSE; deviceControlBlock.fOutxCtsFlow = FALSE; deviceControlBlock.fOutxDsrFlow = FALSE; // DTR_CONTROL_ENABLE causes Arduino to reset on connect //deviceControlBlock.fDtrControl = DTR_CONTROL_ENABLE; deviceControlBlock.fDtrControl = DTR_CONTROL_DISABLE; deviceControlBlock.fDsrSensitivity = FALSE; deviceControlBlock.fTXContinueOnXoff = TRUE; deviceControlBlock.fOutX = TRUE; deviceControlBlock.fInX = TRUE; deviceControlBlock.fErrorChar = FALSE; deviceControlBlock.fNull = FALSE; deviceControlBlock.fRtsControl = RTS_CONTROL_DISABLE; deviceControlBlock.fAbortOnError = TRUE; deviceControlBlock.wReserved = 0; deviceControlBlock.ByteSize = 8; deviceControlBlock.Parity = NOPARITY; deviceControlBlock.StopBits = ONESTOPBIT; deviceControlBlock.XonChar = 17; deviceControlBlock.XoffChar = 19; IF_ZERO_THROW(SetCommState(_com, &deviceControlBlock)); //COMMTIMEOUTS timeOuts; //SecureZeroMemory(&timeOuts, sizeof(COMMTIMEOUTS)); //timeOuts.ReadIntervalTimeout = 0; //timeOuts.ReadTotalTimeoutMultiplier = 0; //timeOuts.ReadTotalTimeoutConstant = 0; //IF_ZERO_THROW(SetCommTimeouts(_com, &timeOuts)); IF_ZERO_THROW(SetCommMask(_com, EV_RXCHAR)); //IF_ZERO_THROW(ClearCommBreak(_com)); //IF_ZERO_THROW(PurgeComm(_com, PURGE_RXCLEAR | PURGE_TXCLEAR)); //IF_ZERO_THROW(FlushFileBuffers(_com)); //DWORD error; //IF_ZERO_THROW(ClearCommError(_com, &error, NULL)); //_com.set(CreateFile(L"run.output", GENERIC_WRITE, 0, NULL, // CREATE_ALWAYS, 0, NULL)); Sleep(2000); ReaderThread thread(this); //thread.start(); sendByte(0x7f); // Put Arduino in raw mode sendByte(0x76); // Clear keyboard buffer sendByte(0x72); // Put Arduino in tester mode //sendByte(0x78); // Put Arduino in tester raw mode // The buffer in the Arduino only holds 255 bytes, so we have to send // it in chunks. We do this by buffering the data on the host PC side, // and sending the buffer when it's full or when we're done. _bufferCount = 0; // When running a .com file, we need the instruction pointer to start // at 0x100. We do this by prepending 0x100 NOP bytes at the beginning. // In DOS this area would contain the Program Segment Prefix structure. console.write(hex(l) + "\n"); Byte checkSum = 0; if (comFile) { addLength(l + 0x100); for (int i = 0; i < 0x100; ++i) { addByte(0x90); checkSum += 0x90; } } else addLength(l); for (int i = 0; i < l; ++i) { addByte(data[i]); // Send data byte checkSum += data[i]; if ((i & 0xff) == 0) console.write("."); } addByte(checkSum); flush(); IF_ZERO_THROW(FlushFileBuffers(_com)); console.write("Upload complete.\n"); // Dump bytes from COM port to stdout until we receive ^Z //thread.join(); }