Esempio n. 1
0
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);
	}
}
Esempio n. 2
0
	bool command::IsUserEat(){
		return (IsEat(ArrayOfCommand[1])  && IsMark(ArrayOfCommand[2]) && JumlahString == 1);
	}