Bu sayfadaki yazılar
Sayfanın metni
Sayfa 27
SATIR 18030
SATIR atılıyor, yığın arkasından da atılıyor.
"çevreye
SATIR
kendini çağırıyor.
SATIR 18080
SATIR 10090
SATIR 10100-10120: demektir.
SATIR 10130
SATIR 10140 1: ©
Burada yol çok göstergeci bakma"
1! Seçilmiş
1 Yığın göstergeci bir
Burada bir alt O yüzden O'na ait koordinatta
Tek seçenek varsa o yolda bir adım yürümek.
ihtimalli demek. X,Y yığına bir arttırılıyor ve — MS'ye — alınıyor. altprogramının önerdiği yönde bir adım ihtimali değerlendirmek için altprogram kendi eksiltiliyor.
1 Çözüm bulunmuşsa aynı durum koduyla geri dönülüyor.
seviyedeki izler siliniyor altprogramın yolu tıkanmış (Çözümsüz olduğu belirleniyor.)
1 Yığından koordinat okunuyor.
yeni ihtimalleri değerlendirmek için
“çevreye bakma" işleminden itibaren yeni baştan başlanıyor. SATIR 15000-1506! “Çevreye bakma" altprogramı. DA hafızasında kaç yönün boş olduğu bildiriliyor. DA sıfır ise yol tıkanmış demektir. Şayet hedefi bulursa olarak geri dönüyor. Bundan başka çağıran programa seçme derdinden kurtulması için boş yönlerden birini öneriyor. ALTPROGRAM! Kullanılan Değişkenlerin Listesi BAK XW: (X-WIDTH) X-Yönündeki genişlik —>—— | HEDEF DURUM KODU |>-| GERİ DÖN | — YW: (Y-WIDTH) Y-Yönündeki genişlik H MU? BİR nişlik A A: Rekursif altprogram çalışma | alanı H İ C : İlk ekran ve onun çözülmüş halini içeren hafıza mem İHTİMALLİ YÜRÜ SX : X-Koordinatları yığını H YOL SY : Y-Koordinatları yığını KOORDİNATLARI SP : (STACKPOINTER) Yığın Gös- YAZ, tergeci T RC : (RETURNCODE) Geri dönüş YIĞIN GÖSTERGECİNİ kodu (0 veya 21) BİR yar D : (DIRECTION) Yön DA : (DIRECTIONS AVAILABLE) BİRİNİ SEÇ VE O Seçilebilir yön sayısı YOLDA BİR ADIM AT DD: D'nin ara değerlerini saklar DX : D'yi X yönünde yorumlar ÇAĞIR DY: D'yi Y yönünde yorumlar X : X-Koordinatı CN Y : Y-Koordinatı MS : SP'nin en büyük değerini saklar KOORDİNATLARI U$ : Geçen zamanı saat, dakika, sa- AL niye cinsinden saklar XS : Başlangıç noktasının X-Koordi- em —>| natı BİR Mİ? YS : Başlangıç noktasının Y-Koordinatı ÇIKMAZ YOLU | > İŞARETLE
S : Başlangıç var mı, yok mu? Bitiş var mı, yok mu?
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 26
PROGRAMIN SATIR SATIR AÇIKLAMASI
SATIR 100- 170: Programla ilgili açıklamaları içeren REM satırları. SATIR 200: X ve Y yönündeki genişlikleri alma. SATIR 210- 300: Dolu bir labirent hazırlama (XW ve YW genişliklerinde). Sol üst köşeye S (Başlangıç, Start) sağ alt köşeye E (Bitiş, End) yazmak.
Fakat gene de bunların yerleri değiştirilebilir.
SATIR 310- 330: İki satır alta "RUN 1000" yazma (programın çözüm kısmı böyle çağırılıyor) ve programın ilk bölümünü bitirme.
SATIR 500: XW ve YW değerlerinin belirlenmesi. Bu satır değiştirilerek labirentin ebatları değiştirilebilir. (örneğin:
SATIR 1000: İkinci ve asıl kısmın başlangıcı. XW ve YW değerlerinin alınması. SATIR 1010: Boyutlu hafızaların belirlenmesi.
SATIR 1030: DX ve DY değerlerini okuyan ve bu verilerin bulunduğu kısım.
SATIR 1040: Ekrandan okumadan önce A ve hafızalarını sanki bütün labirent doluymuş gibi belirlemek.
SATIR 1050- 1100: A ve C'yi ekrandan okumak! *'lar labirent sınırı, *'lar dolu alan, S başlangıç, E bitiş ve boşluk boş alanı simgeliyor.
SATIR 1110: SP ve MS hafızalarını başlangıç değerlerine (1) oturtmak. SATIR 1120: Başlangıç veya bitiş yoksa "HATA!" mesajını verip
Programı bitirmek.
SATIR 1130: Komputer'in sistem saatini sıfırlamak ve asıl koordinatlar olarak başlangıç noktasının koordinatlarını belirlemek.
SATIR 1140: Rekursif altprogramı çağırıp labirenti çözdürmek. SATIR 1150: U$'e çözüm için gerekli olan zamanı almak. SATIR 1160: Labirentin çözümü yoksa "HATA!" mesajını verip programı bitirmek.
SATIR 1170- 1190: Bulunan çözümü C hafızasına "C" karakterleriyle işlemek. SATIR 1200- 1220: Problemin çözüldüğünü bildirip geçen zamanı yazmak. SATIR 1230- 1270: Hatırlatma amacıyla başlangıç şeklini ekrana vermek. SATIR 1310: Labirentin çözülmüş şeklini ekrana vermek. SATIR 1320: Programı bitirme.
SATIR 2000: C hafızasını ekrana çıkartmak için (1-2, Çözüm)
SATIR 1800: Rekursif altprogramın başlangıcı. "Çevreye bakma" altprogramını çağırma.
SATIR 1810: Çözüm bulunmuşsa "bir" durumuyla geri dönme.
SATIR 18820: 1 Yol tıkanmışsa "sıfır" geri dönme.