APPLICATIONSPROGRAMMATION ★ SPRİTE İLE HAREKETLENDİRME

3D-Road (Sizin Amstrad)Applications Programmation
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Araba oyunları bizim için her zaman bir bilmece olmuştur. Çeşitli hareketli oyunları değişik sprite propramları kullanarak Basic'te bile yazmak mümkündür. Ama araba oyunlarının kıvrılan yolunu, yaklaştıkça büyüyen arabalarını genelde kafamızda koca bir soru işareti ile seyretmişizdir.

Esasında bunu yapmak o kadar da zor değildir. Olay ikinci dereceden bir denkiem kullanarak noktaları buna göre yerleştirmekten başka bir şey değildir. Doğal olarak böyle bir program Basic dilinde yazılırsa çok yavaş olur. Bu yüzden program makine dilinde yazılmıştır. Arabanın çizimi ise bir dizi DRAW komutuna eşdeğer makine dili döngüsünden oluşmaktadır.

Program mode O'da ekranda 3 boyutlu bir yol çizip onu hareket ettirir ve çeşitli boyutlarda bir araba çizer. Araba çizgilerden oluşmaktadır. Program Basic'e üç tane RSX komutu ekler:

|VIEV, |ROAD, |CAR

Önce yükleme programını yazıp kaydedin. Sonra da çalıştırın. Program data satırlarını okuyup kontrol edecektir. Eğer data satırlarında hata varsa hatalı satırları size gösterecektir. Tüm datalar hatasız bir şekilde hafızaya yüklendikten sonra sizden makine dili programı kaydetmek için bir disket veya kaset hazırlamanız istenecektir. Kayıt yapıldıktan sonra artık 3-D ROAD programı kullanılabilir haldedir.

Bundan sonra yapacağınız programlarda 3-D ROAD'u kullanmak istediğinizde:

MEMORY &9FFF:LOAD "3D-ROAD”,&A000 :CALL &A138 yazmanız yeterli olacaktır.

YENİ KOMUTLAR VE KULLANIMLARI

3-D ROAD bir tek mode O'da kullanılabilir. Yolun çizimi ekranın yukarıdan 5. ve 16. satırları, sondan 3. ve 18. kolonları tarafından sınırlanan bir dikdörtgen içinde yapılır. Bir dizi window ve cls komutlarıyla bu dikdörtgenin rengi değiştirilerek araba penceresine benzetilebilir
Yol çizgisi 15.ink kullanılarak yapılır. Yani yolun rengini değiştirmek için “INK 15, renk” kullanabilirsiniz. Program ekran adresleri ile çalıştığından mode 0 komutundan sonra ekran scroll yapılmamalıdır.

|VIEW, yön, eğim

|VIEW komutu boş ekrana yolu çizmek veya ekrandaki yolu silmek için kullanılır, ilk parametre yönü belirler. Sıfır sağ, bir ise sol anlamına gelir, ikinci parametre ise eğim derecesidir. 21 ile 4096 veya daha büyük bir sayı olursa yol dümdüz olacaktır. Yolu ekrandan silmek için en son verilen parametreleri vermek gerekir. Örneğin yolun eğimi en son |ROAD, 1,234 ile değiştirilmişse |VIEW, 1,234 ile yol silinebilir.

|ROAD, yön, eğim

|VIEW komutu ile çizilmiş yolun, eğimini değiştirmeye yarar. Parametreler yine aynıdır. Yalnız burada dikkat edilecek iki nokta vardır. Birincisi yönün hiçbir zaman |ROAD komutu ile değiştirilemeyeceğidir. Yani yön değişkeni her zaman aynı kalmalıdır. Yön değiştirmek için |VIEW komutu ile yol silinmeli ve yeni bir |VIEW komutu ile de yol diğer yönde çizilmelidir. Örneğin sağa doğru 400 eğiminden, sağa doğru 200 eğimine geçmek istiyoruz. Bunun için aşağıdaki işlemleri yapmak gerekir:

|ROAD,0,400:REM eğimi sağa doğru 400 yap

|VIEW,0,400:REM yolu sil |VIEW,1,200 : REM sola doğru 200 eğiminde çiz

Dikkat edilmesi gereken ikinci konu ise yolun eğiminin program tarafından ikinci dereceden bir denklem kullanılarak hesaplanıp ekrana çizildiğidir. Bu yüzden, örneğin 21'den 2000'e kadar bir döngü içinde yolun eğimi değiştirilirse eğimin azalmasının gittikçe yavaşladığı gözlenecektir. Mesela eğim 21'den 22'ye çıkarılınca yolun eğiminin değişmesine rağmen 2000'den 2001'e çıkarılınca bir fark görülmemektedir. Bundan dolayı yolun kıvırlamasının düzgün olması için demo programındaki gibi bir döngü kullanılması gerekir.

|CAR,x,y,büyüklük,renk |CAR komutu x ve y koordinatlarında bir araba çizer. Rengi son parametreyle seçilebilir. Ayrıca 3 boyut efektinin sağlanabilmesi için araba değişik boyutlarda çizilebilir.

Arabanın büyüklüğü 1 ile7arasında değişebilen büyüklük parametresi ile belirlenir.

Arabanın çizimi Basic'deki DRAW ve MOVE komutlarına benzer döngüler kullandığından x, 0 ile 640 arasında, y ise 0 ile 400 arasında bir sayı olmalıdır. Eğer arabaların yolun çizildiği araba penceresinin dışına taşmaması isteniyorsa grafik penceresi Basic'in ORIGIN komutu ile ufaltılabilir. Arabaların yolun eğimine göre her zaman yolun içinde çizilebilmeleri için demo programının son satırlarındaki araba hareket alt programı veya ona benzer bir program kullanılabilir.

Arabayı silmek için ise aynı |VIEW komutunda olduğu gibi verdiğiniz son parametrelerin aynısını vermeniz gerekir.

Örneğin: "|CAR, 320, 200,5,11" ekrana bir araba çizer.

"|CAR,320,200,5,11" bir daha yazılırsa araba silinir. Böylece araba çizilip silinerek hareket etmesi sağlanır.

3-D ROAD'U KULLANIYORUZ...

3-D Road programı ile. çok değişik şeyler yapılabilir. Bundan sonrası sizin programcılığınıza kalıyor. Programın yapabildiklerini görmek için demo programını yazın. Her ihtimale karşı kaydedin. Eğer 3-D Road hafızada yoksa:

MEMORY &9FFF: LOAD “3D-ROAD'',&A000:CALL &A138 yazın. Sonra da demo programını çalıştırın.

Demo programı ekrana 3 gösterge çizer. Sonra bir motor gürültüsü başlar. Motorun devri yükseldikçe göstergelerden biri de yükselir. Sonra ekrandaki yol kıvrılmaya başlar.SPACE'e her bastığınızdabir araba çıkar.

3-D Road programını daha iyi kullanabilmek için demo programını incelemenizi tavsiye ederim. Gerisi sizin yaratıcılığınıza ve sizin programcılığınıza kalıyor...

NOT: Önceki sayılarda yayınlanan XOR-SPRITE programının adresleri ile 3-D Road programının adresleri iki program aynı anda kullanılabilecek şekilde ayarlanmıştır. Yani hem sprite'ları hem de yolu aynı anda kullanabileceksiniz. Böylece biraz uğraşırsanız siz de belki bir SÜPER CYCLE veya OUT RUN programlayabilirsiniz !!!

Sizin Amstrad

★ PUBLISHER: Sizin Amstrad
★ ANNÉE: 1989
★ CONFIG: 64K + AMSDOS
★ LiCENCE: LISTING
★ LANGAGE:
★ AUTHOR: Kerem Erdem
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» 3D-Road    (Sizin  Amstrad)    TURKISH    LISTINGDATE: 2022-07-08
DL: 112
TYPE: PDF
SiZE: 265Ko
NOTE: 5 pages/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Spriter v1
» Applications » Hisoft Sprites (Schneider CPC-Welt)
» Applications » Capteur de sprite
» Applications » Spriter (CPC Amstrad International)
» Applications » ArIom Sprites (Amstrad Computer User)
» Applications » RSX Supersprites Mode 0 (Pride Utilities)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 267 millisecondes et consultée 465 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.