Rival Regions tarzı bir oyun nasıl yapılır ?

Bu konuyu okuyanlar

Owlturk38

Öğrenci
Katılım
26 Temmuz 2018
Mesajlar
2
Reaksiyon puanı
0
Puanları
1
Yaş
21
Selamun Aleyküm Arkadaşlar
Rival Regions tarzı bir oyun nasıl yapılır , hangi programlar kullanılmalıdır bunu öğrenmek istiyorum yardımcı olabilirmisiniz.

Screenshot_2018-07-26-15-09-35-364.jpeg
 

alisso

Öğrenci
Katılım
15 Kasım 2018
Mesajlar
23
Reaksiyon puanı
5
Puanları
3
Yaş
23
Merhaba hocam, öncelikle bu tür oyunlar için PHP bilmen lazım. Onu baştan söyleyeyim.

Eğer PHP biliyorsan , ve tasarım için html/css/js biliyorsan, istersen başlayalım.

Hocam öncelikle Php kodlarını mysql ye bağlayacaksın.

$baglanti = @mysql_connect('host', 'kullanici adi', 'sifre');
$veritabani = @mysql_select_db('veritabanı adı');

if($baglanti && $veritabani) {
echo 'Bağlantı kuruldu.';
} else {
echo 'Bağlantı kurulamadı.';
}

mysql_close($baglanti); // MYSQL sunucusu ile bağlantımızı koparttık
?>

mysql_connect('host', 'kullanıcı adı', 'şifre')or die("Bağlantı Kurulamadı");
mysql_select_db('veritabani adi')or die('Veritabanı Bulunamadı');

mysql_query('SQL CÜMLESİ')or die("Sorgu çalıştırılamadı");

Şimdi gelelim telif yememek için yapman gerekenlere...

HTML
<form action="mail.php" method="post">
Adınız: <br/>
<input type="text" name="ad" /><br/>
E-Posta adresiniz: <br/>
<input type="text" name="eposta" /><br/>
Konu: <br/>
<input type="text" name="konu" /><br/>
Mesajınız: <br/>
<textarea name="mesaj"></textarea><br/>
<input type="submit" value="Mesajı Gönder" />
</form>

PHP

if(isset($_POST['ad']) && isset($_POST['eposta']) && isset($_POST['konu']) && isset($_POST['mesaj'])) {
if(empty($_POST['ad']) || empty($_POST['eposta']) || empty($_POST['konu']) || empty($_POST['mesaj'])) {
echo 'Lütfen boş yer bırakmayın!';
} else {
$ad = strip_tags($_POST['ad']);
$eposta = strip_tags($_POST['eposta']);
$konu = strip_tags($_POST['konu']);
$mesaj = strip_tags($_POST['mesaj']);
$icerik = 'Ad: ' . $ad . '<br/>E-Posta: '. $eposta . '<br/>' . $mesaj;
mail('[email protected]', $konu, $icerik);
echo 'Mesajınız Gönderildi! Teşekkürler.';
}
} else {
echo 'Lütfen Formu Kullanın!';
}

Tamamdır.

Oyun içerisinde tarih ve saat oluşturmak ve veritabanı yüklemesinde hata almamak için yapmamız gerekenlere geldik.

date_default_timezone_set('Europe/Istanbul');

olarak ayarlayalım.

// Örnek sonuç: 29.07.2013 12:13:00
echo date('d.m.Y H:i:s');

// Örnek sonuç: Saat: 12:13
echo 'Saat: ' . date('H:i');

// Örnek sonu: 29 July 2013 Monday
echo date('d F Y l');

ile devam edelim.

Sayfalama işlemlerine başladık, bu işlemde oyunumuzun menülerini oluşturacağız. Ama veritabanımıza bağlanacak.

menu.php dosyası oluşturun ve şunları yazın

$sayfada = 5; // sayfada gösterilecek içerik miktarını belirtiyoruz.

$sorgu = mysql_query('SELECT COUNT(*) AS toplam FROM mesajlar');
$sonuc = mysql_fetch_assoc($sorgu);
$toplam_icerik = $sonuc['toplam'];

$toplam_sayfa = ceil($toplam_icerik / $sayfada);

Menüden bir bağlantıya tıklandığında, sayfayı siteyi yenilemeden çıkarmak adına devam edelim

// eğer sayfa girilmemişse 1 varsayalım.
$sayfa = isset($_GET['sayfa']) ? (int) $_GET['sayfa'] : 1;

// eğer 1'den küçük bir sayfa sayısı girildiyse 1 yapalım.
if($sayfa < 1) $sayfa = 1;

// toplam sayfa sayımızdan fazla yazılırsa en son sayfayı varsayalım.
if($sayfa > $toplam_sayfa) $sayfa = $toplam_sayfa;

// kaçıncı içerikten başlanacağını ifade edecek limit değeri.
$limit = ($sayfa - 1) * $sayfada;

$sorgu = mysql_query('SELECT * FROM mesajlar LIMIT ' . $limit . ', ' . $sayfada);

while($icerik = mysql_fetch_assoc($sorgu)) {
// ...
}

Sayfa sayısı

for($s = 1; $s <= $toplam_sayfa; $s++) {
if($sayfa == $s) { // eğer bulunduğumuz sayfa ise link yapma.
echo $s . ' ';
} else {
echo '<a href="?sayfa=' . $s . '">' . $s . '</a> ';
}
}

Şimdi oyununuzun güncellemeler bölümünü oluşturalım


<<İlk sayfa <Önceki 35 36 37 38 [39] 40 41 42 43 Sonraki> Son sayfa>>

// yukarıdan geldiği varsayılan değişkenler:
// $toplam_sayfa ve $sayfa

$sayfa_goster = 11; // gösterilecek sayfa sayısı

$en_az_orta = ceil($sayfa_goster/2);
$en_fazla_orta = ($toplam_sayfa+1) - $en_az_orta;

$sayfa_orta = $sayfa;
if($sayfa_orta < $en_az_orta) $sayfa_orta = $en_az_orta;
if($sayfa_orta > $en_fazla_orta) $sayfa_orta = $en_fazla_orta;

$sol_sayfalar = round($sayfa_orta - (($sayfa_goster-1) / 2));
$sag_sayfalar = round((($sayfa_goster-1) / 2) + $sayfa_orta);

if($sol_sayfalar < 1) $sol_sayfalar = 1;
if($sag_sayfalar > $toplam_sayfa) $sag_sayfalar = $toplam_sayfa;

if($sayfa != 1) echo ' <a href="?sayfa=1">&lt;&lt;İlk sayfa</a> ';
if($sayfa != 1) echo ' <a href="?sayfa='.($sayfa-1).'">&lt;Önceki</a> ';

for($s = $sol_sayfalar; $s <= $sag_sayfalar; $s++) {
if($sayfa == $s) {
echo '[' . $s . '] ';
} else {
echo '<a href="?sayfa='.$s.'">'.$s.'</a> ';
}
}

if($sayfa != $toplam_sayfa) echo ' <a href="?sayfa='.($sayfa+1).'">Sonraki&gt;</a> ';
if($sayfa != $toplam_sayfa) echo ' <a href="?sayfa='.$toplam_sayfa.'">Son sayfa&gt;&gt;</a>';

Çoklu dil desteği / Global bir oyun istiyorsanız

lang.php oluşturun ve şunları yazın

<?php
// dili belirtiyoruz
$dil = 'en_US';
putenv('LC_ALL=' . $dil);
setlocale(LC_ALL, $dil);

// burada hangi kataloğumuzu kullanacağımızı
// ve dil dosyaların hangi dizinde olduğunu
// yani: /diller/en_US/LC_MESSAGES/projemiz.po
$katalog = 'projemiz';
bindtextdomain($katalog, "./diller");

// burada da kataloğumuzun adını belirtiyoruz.
textdomain($katalog);

$baslik = 'Deneme başlık';
$yazar = 'Musa Avcı';
$icerik = 'Selam Dünya';

// ve devamında örnek sayfamız ...
?>
<h2><?php echo $baslik ?></h2>
<p>
<?php echo _('Yazar') . ': ' . $yazar ?> -
<?php echo _('Tarih') . ': ' . date('d.m.Y') ?>
</p>
<p><?php echo $icerik ?></p>
<?php echo _('Yorumlar') ?>

Şimdi güncelleme notlarınızın yazar bölümünü ayarlayalım. ( Kusura bakma otamatiği bilmiyorum )

mes.php oluşturun ve yazın

<h2><?php echo $baslik ?></h2>
<p>
<?php echo _('Yazar') . ': ' . $yazar ?> -
<?php echo _('Tarih') . ': ' . date('d.m.Y') ?>
</p>
<p><?php echo $icerik ?></p>
<?php echo _('Yorumlar') ?>


Evet, oyunun temelini atmak için ilk aşamayı bitirdik.
 
Üst