Bir Codeigniter oyun geliştirme

0 Cevap php

PHP (bazı yapılmış web siteleri ve iki tarayıcı oyun tecrübesi ile 5 ~ etrafında yıl) deneyimi oldukça makul miktarda var. Bu gerçekten yerine sadece Joomla gibi bir şey için bir eklenti veya modül gelişen bir çekirdek motor etrafında berbat ettik ilk kez. Ben (Java gibi) diğer nesne yönelimli dillerde deneyim geniş bir miktar var.

Benim soru kendimi çok normal bir site gibi site gelişmekte bulmak, ama o daha esnek olmak istiyorum ve ben "doğru yapıyor" emin değilim. Ben yarım bir CMS inşa ediyorum gibi bir şekilde, ben hissediyorum.

Örneğin, ben görünümler anda görüntülenen ediliyor ne denetleyen bir kontrolör üzerinden kurmak ana sayfa var. Ana görünümü sayfası bu gibi görünüyor:

<?php $this->load->view("headerview"); ?>
<?php $this->load->view($contentview); ?>
<?php $this->load->view("footerview"); ?>

bir görünüm dosyasının kendisinde (yani dinamik diğerleri gerçekten değişmez, contentView yükleyebilirsiniz). Bu benim ana kontrol dosyası aracılığıyla TÜM kontrolünü yapmak beri, bu doğru, benim ilk soru?

Benim indeks fonksiyonu "contentView" ve "gameview" için değişkenler ile yüklenecek görünüm olarak Mainview ayarlar. "ContentView" oyun olduğunda, bir bölünme bölmesini oyuncular istatistikleri ve böyle gösteren biri ve oyuncu (bir savaşta tüccar dükkan, dünyayı keşfetmek, vb) şu anda hangisi sayfa diğer gösteren vardır. Ne ne belirler burada gösterilir ediliyor (aynı zamanda "ana" denetleyicisi geçti) "gamecontent" değişkendir.

<?php $this->load->view("menubar"); ?>
<?php $this->load->view($gamecontent); ?>

Kısacası, tüm bakış taşıma şu ana kontrolör yapılıyor, tek bir denetleyici yani.

$data['title'] = "Experimental Page";
$data['maincontent'] = "gameview";
if($page == 1) {
    $data['gamecontent'] = "townview";
} else if ($page == 2) {
    $data['gamecontent'] = "merchantview";
} else if ($page == 3) {
    $data['gamecontent'] = "explorationview";
} else if ($page == 4) {
    $data['gamecontent'] = "hospitalview";
} else if ($page == 5) {
    $data['gamecontent'] = "fightview";
} else if ($page == 6) {
    $data['gamecontent'] = "adminview";
}

$this->load->helper(array('form','url'));
$this->load->library('form_validation');
$this->load->view('mainview', $data);

Ben henüz savaş ve alışveriş fonksiyonları ekleyerek başlamış değil, ama bu kontrol çok hızlı, çok büyük oluyor görebilirsiniz. Bu bana çok ters geliyor, ama nedense ben düzgün çekirdek kurulumu düzenlemek için nasıl formüle edilemez.

Amacım her biri çok şifa, mücadele, keşfetmek ve gibi, ayrı bir oyun fonksiyonu kolları, ve çok benim modelleri gibi ayrılır (kullanıcı, çetelerin, öğeler, vb) böylece (umarım) denetleyicileri kadar parçalanmasıdır.

Herkes bana doğru bu projeyi düzenlemek için nasıl anlamaya yardımcı olabilir?

0 Cevap