@Kifoter

Почему неправильно работает код с++?

У меня есть тут два файла вот они:
тени:
#include <iostream>
#include <string>
#include <vector>

using namespace std;

vector<vector<int>> shadows(vector<vector<vector<int>>> seed)
{

	vector<vector<int>> shadows;
	vector<int> coords;
	int index = 0;
	//1
	for(int x = 0; x < seed.size(); x++) {
		for(int y = 0; y < seed[x].size(); y++){
			//for(int z = 0; z < seed[x].size(); z++) {
				if (y - 1>= 0) {
					index = y - 1;
				}
				if(seed[x][y][1] - 60 == seed[x][index][1]) {
					coords = {seed[x][y][1] - 60, seed[x][y][0], 1, 0};
					shadows.push_back(coords);
					//z = seed[x].size();
				}
			//}
		}
	}
   return shadows;

мир:

#include <iostream>
#include <limits>
#include <string>
#include <vector>
#include <iomanip>
using namespace std;

int random(int min, int max)
{
	static const double fraction = 1.0 / (static_cast<double>(RAND_MAX) + 1.0);
	// Равномерно распределяем рандомное число в нашем диапазоне
	return static_cast<int>(rand() * fraction * (max - min + 1) + min);
}

vector<vector<vector<int>>> world()
{
	int chose;
	int height = 7;
	srand(static_cast<unsigned int>(time(0)));

	vector<vector<vector<int>>> seed;
	vector<vector<int>> yLine;
	vector<int> coords;

	for (int x = 0; x < 40; x++)
	{
		chose = random(1, 3);
		if (chose == 1) {
			height -= 1;
		}
		
		if (chose == 3) {
			height += 1;
		}
		
		for (int y = 0; y < height; y++)
		{
			coords = {x * 60, y * 60};
			yLine.push_back(coords);
		}
		seed.push_back(yLine);
	}

	return seed;


один создает мир а другой ресует тени (прозрачные квадраты черного цвета) размер блока 60 пикселей и работать оно должно было так под каждым блоком есть тень но если под блоком нет блока то тени там тоже нет но результат почемуто вот такой
5ff3441570b36230156956.jpeg
там весь мир повернут в право на 90 градусов.

Можно увидеть что тени лежат градиентом с права(с низу) и еще очень большим количеством друг на другу (по этому черное все а так квадраты прозрачный черный цвет). Там еще есть файл который все рисует и собирает вместе (на SFML). Если будет надо я его тоже скину.
  • Вопрос задан
  • 79 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы