Ejemplo n.º 1
0
void terminal_readline()
{
	uint32_t x = 0;
	uint32_t y = 0;

	while (1) 
	{
		KeyboardUpdate();
		char c = KeyboardGetChar();

		if (c == 0)
			continue;

		terminal_screen[y*terminal_width + x] = c;
		if (c == '\n') 
		{
			y++;
			y = y % 75;
			x = 0;
		}
		else
		{
			x++;
			x = x % 240;
		}

		terminal_display();
	}

}
Ejemplo n.º 2
0
int main(int argc, char** argv)
{
	srand(time(NULL));

	int random1, random2;

	//создаем корабли
	for(int i=0;i<SHIP_COUNT;i++){
		random1 = rand() % CITY_COUNT;

		SHIPS[i].id = i;
		SHIPS[i].from = random1;

		while(true){
			random2 = rand() % CITY_COUNT;
			//printf("%d - %d\n", random1, random2);

			if(random1 != random2){
				SHIPS[i].to = random2;
				break;
			}			
		}
		
		SHIPS[i].in_way = false;
		SHIPS[i].on_board = 0;
		SHIPS[i].arrive_time = 0;

		pthread_create(&SHIPS_THREADS[i], NULL, ship_creation, (void *)&SHIPS[i]);
	}

	//создаем пассажиров
	int passenger_number = 0;
	for(int i=0;i<CITY_COUNT;i++){
		for(int j=0;j<PASSENGER_COUNT;j++){
			PASSENGERS[passenger_number].id = passenger_number;
			PASSENGERS[passenger_number].in_way = false;
			PASSENGERS[passenger_number].city = i;
			PASSENGERS[passenger_number].ship = 0;

			pthread_create(&PASSENGERS_THREADS[passenger_number], NULL, passenger_creation, (void *)&PASSENGERS[passenger_number]);

			passenger_number++;
		}
	}

	while(true){ // Каждую секунду обновляем консоль
		terminal_display();
		sleep(1);
	}

	return 0;
}