void Init(){ char kb = 's', default_kb = 's'; Randomxy(&snake->posx, &snake->posy); snake->next = snake; snake->prv = snake; tail = snake;//构成循环 Paint(body); CreateFood(); while (1){ if (kbhit())kb = getch(); if (kb < 97) kb += 32; switch (kb){ case'w': if (default_kb != 's'){ Move; tail->posy--; }else kb = default_kb; break; case 's':if (default_kb != 'w') { Move; tail->posy++; }else kb = default_kb; break; case'a': if (default_kb != 'd') { Move; tail->posx--; }else kb = default_kb; break; case'd': if (default_kb != 'a'){ Move; tail->posx++; }else kb = default_kb; break; } default_kb = kb; snake = tail; tail = tail->prv; //新的头结点,要一个节点标记蛇身最后一个 if (IsEat()) {CreateFood(); CreateNode(); Paint(create);} Paint(body); } }
bool command::IsUserEat(){ return (IsEat(ArrayOfCommand[1]) && IsMark(ArrayOfCommand[2]) && JumlahString == 1); }