bugün
- kibarhergele10
- sözlüğün kırbacı10
- hilafetin türklere faydası9
- bir sözlük hanımı dmye nasıl davet edilir4
- sözlüğün vahşi kelebeğine eş arıyoruz29
- cuma namazına gitmeyen yazarlar silinsin8
- yakıştırdığım çiftler serisi 153
- kız sanılan yazarlar6
- insanların birbirini gizlice puanlaması3
- şeytanın kariyer değişikline gitmesi3
- evde tekken yan odadan gelen khkaha ve ağlama sesi6
- 9 ekim 2026 gazetecilere operasyon4
- öbür dünyada referans istenmesi2
- yazarların sağlık sorunları7
- istanbul şu an güneşli 22 derece4
- samimiyetin bir noktadan sonra hakarete dönüşmesi3
- 9 ekim 2026 galatasaray kasımpaşa maçı11
- hangi yazarla çift olursunuz28
- ölümden sonra yapılan performans değerlendirmesi2
- ucan tekme atan hipopotam43
- pforzheim şu an 10 derece3
- patatesin her ortama uyum sağlaması5
- kasımpaşa2
- futbol8
- galatasaray4
- berna laçin'in gözaltına alınması41
- azerbaycan3
- whatsapp telegram discord grupları sözlüğü bitirdi18
- uyuyan insanın asıl amacı3
- tai lung2
- özgür özel'in mersin de tutuklu başkan ziyareti2
- erecto birader ile edirne ciğer tavası yemek2
- karmanın tam iyi çalışmaması2
- sinek as6
- penis boyu takıntısı6
- mezar taşına karekod yaptırmak2
- hesabı siliyorum sözlük bir şey diyor musun19
- ya bi siktirin gidin15
- togg5
- kendinden zeki biriyle konuştuğunu anladığın an3
- bir erkeğe ilk adım nasıl atılır18
- mezar komşunuzun çok ses yapması3
- çindeki üç boğaz barajı dünyanın eksenini kaydırdı3
- sözlükte eleştiri kaldıramayan küçük krallık19
- silvermist sözlükten gitmesin kampanyası11
- yazar fake mi diye arkadaşlarına mesaj atmak35
- insanların durduk yere birbirine ayar vermesi2
- tomtom mahallesi4
- bakıp bakıp adım atmayan erkek17
- cemil tugay12
korkunç bir cehennem senaryosu gibi görünüyor... her çıkmaz sokağa girdiğinizde içinde olduğunuz harita güncellenir, ve rastgele bir konumda yeniden çıkışı aramaya başlayıp, sonsuz bir döngüye girersiniz.
(video artık mevcut değil)
#include <SFML/Graphics.hpp>
#include <vector>
#include <cstdlib>
#include <ctime>
#include <stack>
#include <iostream>
#include <string>
#include <algorithm>
// Sabitler
const int WINDOW_WIDTH = 1920; // Pencere genişliği
const int WINDOW_HEIGHT = 1080; // Pencere yüksekliği
const int CELL_SIZE = 20; // Hücre boyutu (piksel)
const int GRID_WIDTH = WINDOW_WIDTH / CELL_SIZE; // Izgara genişliği
const int GRID_HEIGHT = WINDOW_HEIGHT / CELL_SIZE; // Izgara yüksekliği
// Labirent hücre durumları
enum Cell {
WALL = 0,
PATH = 1,
VISITED = 2 // Sarı hücre
};
// DFS yığını hücreleri takip etmek için kullanılır
std::stack<std::pair<int, int>> dfsStack;
// Labirent oluşturma algoritması (Derinlik-Öncelikli Arama)
void createMaze(std::vector<std::vector<Cell>>& maze) {
int startX = 1, startY = 1;
maze[startX][startY] = PATH; // Başlangıç hücresini açık olarak işaretle
dfsStack.push({startX, startY});
while (!dfsStack.empty()) {
int x, y;
std::tie(x, y) = dfsStack.top();
std::vector<std::pair<int, int>> neighbors;
// Komşu hücreleri kontrol et
if (x > 1 && maze[x - 2][y] == WALL) neighbors.push_back({x - 2, y});
if (x < GRID_WIDTH - 2 && maze[x + 2][y] == WALL) neighbors.push_back({x + 2, y});
if (y > 1 && maze[x][y - 2] == WALL) neighbors.push_back({x, y - 2});
if (y < GRID_HEIGHT - 2 && maze[x][y + 2] == WALL) neighbors.push_back({x, y + 2});
if (!neighbors.empty()) {
// Rastgele bir komşu seç ve labirenti oluştur
int randIndex = std::rand() % neighbors.size();
int newX = neighbors[randIndex].first;
int newY = neighbors[randIndex].second;
maze[newX][newY] = PATH; // Yeni hücreyi açık olarak işaretle
maze[(x + newX) / 2][(y + newY) / 2] = PATH; // Duvarı kaldır
dfsStack.push({newX, newY}); // Yeni hücreyi yığına ekle
} else {
dfsStack.pop(); // Geriye doğru ilerle
}
}
}
// Şifreleme fonksiyonu (basit dönüşüm)
std::string encryptPath(const std::vector<std::pair<int, int>>& path) {
std::string encryptedMessage;
for (const auto& coord : path) {
// Her koordinatı alfanümerik formata dönüştür
encryptedMessage += std::to_string(coord.first) + "," + std::to_string(coord.second) + ";";
}
return encryptedMessage;
}
// Yürüyüşçünün geçerli bir hareket seçeneği olup olmadığını kontrol et
bool hasValidMoves(const std::vector<std::vector<Cell>>& maze, int x, int y) {
return (x > 1 && maze[x - 1][y] == PATH) ||
(x < GRID_WIDTH - 2 && maze[x + 1][y] == PATH) ||
(y > 1 && maze[x][y - 1] == PATH) ||
(y < GRID_HEIGHT - 2 && maze[x][y + 1] == PATH);
}
int main() {
sf::RenderWindow window(sf::VideoMode(WINDOW_WIDTH, WINDOW_HEIGHT), "Labirentte Rastgele Yürüyüş");
std::srand(static_cast<unsigned>(std::time(nullptr)));
// Labirent verisi
std::vector<std::vector<Cell>> maze(GRID_WIDTH, std::vector<Cell>(GRID_HEIGHT, WALL));
createMaze(maze); // Labirenti oluştur
// Rastgele başlatılan yürüyüşçü için başlangıç noktası
int x = 1 + (std::rand() % (GRID_WIDTH - 2)); // Rastgele başlangıç noktası X
int y = 1 + (std::rand() % (GRID_HEIGHT - 2)); // Rastgele başlangıç noktası Y
maze[x][y] = VISITED; // ilk hücreyi ziyaret edildi olarak işaretle
std::vector<std::pair<int, int>> visitedCells; // Ziyaret edilen hücrelerin koordinatları
sf::RectangleShape cell(sf::Vector2f(CELL_SIZE, CELL_SIZE));
sf::RectangleShape walker(sf::Vector2f(CELL_SIZE, CELL_SIZE));
walker.setFillColor(sf::Color::Yellow); // Yürüyüşçü rengi sarı
sf::Clock clock;
while (window.isOpen()) {
sf::Event event;
while (window.pollEvent(event)) {
if (event.type == sf::Event::Closed)
window.close();
}
float dt = clock.restart().asSeconds();
// Yürüyüşçünün geçerli bir hareket seçeneği olup olmadığını kontrol et
if (!hasValidMoves(maze, x, y)) {
// Eğer yoksa, yürüyüşçüyü yeni bir rastgele konumdan başlat
x = 1 + (std::rand() % (GRID_WIDTH - 2));
y = 1 + (std::rand() % (GRID_HEIGHT - 2));
maze = std::vector<std::vector<Cell>>(GRID_WIDTH, std::vector<Cell>(GRID_HEIGHT, WALL));
createMaze(maze); // Yeni bir labirent oluştur
visitedCells.clear(); // Ziyaret edilen hücreleri temizle
}
// Rastgele yürüyüş algoritması ile sonraki adımı seç
int direction = std::rand() % 4;
switch (direction) {
case 0: if (maze[x - 1][y] == PATH) x--; break; // Sol
case 1: if (maze[x + 1][y] == PATH) x++; break; // Sağ
case 2: if (maze[x][y - 1] == PATH) y--; break; // Yukarı
case 3: if (maze[x][y + 1] == PATH) y++; break; // Aşağı
}
// Yürüyüşçü bir koridora girdiyse, o hücreyi sarıya çevir
if (maze[x][y] == PATH) {
maze[x][y] = VISITED; // Ziyaret edildi olarak işaretle
visitedCells.push_back({x, y}); // Ziyaret edilen hücreyi sakla
}
// Ekranı çiz
window.clear();
for (int i = 0; i < GRID_WIDTH; ++i) {
for (int j = 0; j < GRID_HEIGHT; ++j) {
if (maze[i][j] == WALL) {
cell.setFillColor(sf::Color(0, 100, 0)); // Koyu yeşil duvar
} else if (maze[i][j] == PATH) {
cell.setFillColor(sf::Color(0, 255, 0)); // Yeşil boş hücre
} else if (maze[i][j] == VISITED) {
cell.setFillColor(sf::Color::Yellow); // Sarı hücre (ziyaret edildi)
}
cell.setPosition(i * CELL_SIZE, j * CELL_SIZE);
window.draw(cell);
}
}
// Yürüyüşçüyü çiz
walker.setPosition(x * CELL_SIZE, y * CELL_SIZE);
window.draw(walker);
window.display();
}
// Ziyaret edilen hücrelerin koordinatlarını şifrele
std::string encryptedMessage = encryptPath(visitedCells);
std::cout << "Şifrelenmiş Yol: " << encryptedMessage << std::endl;
return 0;
}
(video artık mevcut değil)
#include <SFML/Graphics.hpp>
#include <vector>
#include <cstdlib>
#include <ctime>
#include <stack>
#include <iostream>
#include <string>
#include <algorithm>
// Sabitler
const int WINDOW_WIDTH = 1920; // Pencere genişliği
const int WINDOW_HEIGHT = 1080; // Pencere yüksekliği
const int CELL_SIZE = 20; // Hücre boyutu (piksel)
const int GRID_WIDTH = WINDOW_WIDTH / CELL_SIZE; // Izgara genişliği
const int GRID_HEIGHT = WINDOW_HEIGHT / CELL_SIZE; // Izgara yüksekliği
// Labirent hücre durumları
enum Cell {
WALL = 0,
PATH = 1,
VISITED = 2 // Sarı hücre
};
// DFS yığını hücreleri takip etmek için kullanılır
std::stack<std::pair<int, int>> dfsStack;
// Labirent oluşturma algoritması (Derinlik-Öncelikli Arama)
void createMaze(std::vector<std::vector<Cell>>& maze) {
int startX = 1, startY = 1;
maze[startX][startY] = PATH; // Başlangıç hücresini açık olarak işaretle
dfsStack.push({startX, startY});
while (!dfsStack.empty()) {
int x, y;
std::tie(x, y) = dfsStack.top();
std::vector<std::pair<int, int>> neighbors;
// Komşu hücreleri kontrol et
if (x > 1 && maze[x - 2][y] == WALL) neighbors.push_back({x - 2, y});
if (x < GRID_WIDTH - 2 && maze[x + 2][y] == WALL) neighbors.push_back({x + 2, y});
if (y > 1 && maze[x][y - 2] == WALL) neighbors.push_back({x, y - 2});
if (y < GRID_HEIGHT - 2 && maze[x][y + 2] == WALL) neighbors.push_back({x, y + 2});
if (!neighbors.empty()) {
// Rastgele bir komşu seç ve labirenti oluştur
int randIndex = std::rand() % neighbors.size();
int newX = neighbors[randIndex].first;
int newY = neighbors[randIndex].second;
maze[newX][newY] = PATH; // Yeni hücreyi açık olarak işaretle
maze[(x + newX) / 2][(y + newY) / 2] = PATH; // Duvarı kaldır
dfsStack.push({newX, newY}); // Yeni hücreyi yığına ekle
} else {
dfsStack.pop(); // Geriye doğru ilerle
}
}
}
// Şifreleme fonksiyonu (basit dönüşüm)
std::string encryptPath(const std::vector<std::pair<int, int>>& path) {
std::string encryptedMessage;
for (const auto& coord : path) {
// Her koordinatı alfanümerik formata dönüştür
encryptedMessage += std::to_string(coord.first) + "," + std::to_string(coord.second) + ";";
}
return encryptedMessage;
}
// Yürüyüşçünün geçerli bir hareket seçeneği olup olmadığını kontrol et
bool hasValidMoves(const std::vector<std::vector<Cell>>& maze, int x, int y) {
return (x > 1 && maze[x - 1][y] == PATH) ||
(x < GRID_WIDTH - 2 && maze[x + 1][y] == PATH) ||
(y > 1 && maze[x][y - 1] == PATH) ||
(y < GRID_HEIGHT - 2 && maze[x][y + 1] == PATH);
}
int main() {
sf::RenderWindow window(sf::VideoMode(WINDOW_WIDTH, WINDOW_HEIGHT), "Labirentte Rastgele Yürüyüş");
std::srand(static_cast<unsigned>(std::time(nullptr)));
// Labirent verisi
std::vector<std::vector<Cell>> maze(GRID_WIDTH, std::vector<Cell>(GRID_HEIGHT, WALL));
createMaze(maze); // Labirenti oluştur
// Rastgele başlatılan yürüyüşçü için başlangıç noktası
int x = 1 + (std::rand() % (GRID_WIDTH - 2)); // Rastgele başlangıç noktası X
int y = 1 + (std::rand() % (GRID_HEIGHT - 2)); // Rastgele başlangıç noktası Y
maze[x][y] = VISITED; // ilk hücreyi ziyaret edildi olarak işaretle
std::vector<std::pair<int, int>> visitedCells; // Ziyaret edilen hücrelerin koordinatları
sf::RectangleShape cell(sf::Vector2f(CELL_SIZE, CELL_SIZE));
sf::RectangleShape walker(sf::Vector2f(CELL_SIZE, CELL_SIZE));
walker.setFillColor(sf::Color::Yellow); // Yürüyüşçü rengi sarı
sf::Clock clock;
while (window.isOpen()) {
sf::Event event;
while (window.pollEvent(event)) {
if (event.type == sf::Event::Closed)
window.close();
}
float dt = clock.restart().asSeconds();
// Yürüyüşçünün geçerli bir hareket seçeneği olup olmadığını kontrol et
if (!hasValidMoves(maze, x, y)) {
// Eğer yoksa, yürüyüşçüyü yeni bir rastgele konumdan başlat
x = 1 + (std::rand() % (GRID_WIDTH - 2));
y = 1 + (std::rand() % (GRID_HEIGHT - 2));
maze = std::vector<std::vector<Cell>>(GRID_WIDTH, std::vector<Cell>(GRID_HEIGHT, WALL));
createMaze(maze); // Yeni bir labirent oluştur
visitedCells.clear(); // Ziyaret edilen hücreleri temizle
}
// Rastgele yürüyüş algoritması ile sonraki adımı seç
int direction = std::rand() % 4;
switch (direction) {
case 0: if (maze[x - 1][y] == PATH) x--; break; // Sol
case 1: if (maze[x + 1][y] == PATH) x++; break; // Sağ
case 2: if (maze[x][y - 1] == PATH) y--; break; // Yukarı
case 3: if (maze[x][y + 1] == PATH) y++; break; // Aşağı
}
// Yürüyüşçü bir koridora girdiyse, o hücreyi sarıya çevir
if (maze[x][y] == PATH) {
maze[x][y] = VISITED; // Ziyaret edildi olarak işaretle
visitedCells.push_back({x, y}); // Ziyaret edilen hücreyi sakla
}
// Ekranı çiz
window.clear();
for (int i = 0; i < GRID_WIDTH; ++i) {
for (int j = 0; j < GRID_HEIGHT; ++j) {
if (maze[i][j] == WALL) {
cell.setFillColor(sf::Color(0, 100, 0)); // Koyu yeşil duvar
} else if (maze[i][j] == PATH) {
cell.setFillColor(sf::Color(0, 255, 0)); // Yeşil boş hücre
} else if (maze[i][j] == VISITED) {
cell.setFillColor(sf::Color::Yellow); // Sarı hücre (ziyaret edildi)
}
cell.setPosition(i * CELL_SIZE, j * CELL_SIZE);
window.draw(cell);
}
}
// Yürüyüşçüyü çiz
walker.setPosition(x * CELL_SIZE, y * CELL_SIZE);
window.draw(walker);
window.display();
}
// Ziyaret edilen hücrelerin koordinatlarını şifrele
std::string encryptedMessage = encryptPath(visitedCells);
std::cout << "Şifrelenmiş Yol: " << encryptedMessage << std::endl;
return 0;
}
Gündemdeki Haberler
Güncel Önemli Başlıklar