Cи тілінде бағдарламалау Берикжан Касымов, 2018-2019


§ Перне – бағыттауыштар арқылы басқару



Pdf көрінісі
бет31/34
Дата28.06.2022
өлшемі2.75 Mb.
#459535
1   ...   26   27   28   29   30   31   32   33   34
devcpp 1 Kaz66

 § Перне – бағыттауыштар арқылы басқару
 
  Алдын ала анализ жасау 
Жұмыс істеу принципі өте қарапайым: перненің кодын алу және нысанды 
керекті жаққа жылжыту. Егер фигураның х және у коодинаталарын өзгертудегі 
циклдің 1 қадамын dx және dy  арқылы белгілейміз, қозғалыстың төрт бағытына 
төмендегідей нәтиже аламыз: 
солға қозғалу dx < 0, dy = 0 
оңға қозғалу dx < 0, dy = 0 
жоғары қозғалу dx = 0, dy < 0 
төменге қозғалу dx = 0, dy > 0 
Яғни, бұдан мынадай қорындыға келеміз, перненің басылуының кодына 
байланысты осы төртеуінің біреуін таңдаймыз. Ол үшін if шартты опреаторын 
бірнеше рет қолдануға болады, бірақ бірнеше нұсқаулардың ішінен таңдауды 
ұйымдастыратын арнайы switch операторын қолданған ыңғайлы.
Курсорды пернелер арқылы басқару пернелері қарапайым пернелер емес өл да 
кедергі тудыратын мәселе. Олар символдар кестесінде коды жоқ – функциональ-
ды пернелер қатарына жатады. Арнайы пернеледің біреуі басылған кезде жүйе 
оны 2 рет басылды деп сезеді, символдың бірінші басылғандағы коды әр 
уақытта нольге тең, ал екінші басылғанға біз арнайы код аламыз (оны скан-код 
деп атайды, пернетақтадағы перненің реттік номері). Егер екінші кодты 
анализдап беретін болсақ, онда біз оның қысқартылған түрін қолданамыз: 
 
солға 75 жоғары 72 
оңға 77 төмен 80 
Мұндай әдісте тек бір ғана жетспеушілік бар: символдар кестесіндегі 75, 77, 72 
және 80 кодтары пернелерді басқанда сезеді, яғни латынның бас әріптерімен K, 
M, H және P парапар болады. 


Cи тілінде бағдарламалау Берикжан Касымов, 2018-2019 
 
58 
http://astanabilim.kz/infor/c
  
  Қарапайым жағдай 
Перне-тілше батырмасы басылған кезде ғана фигура қозғалатын бағдарлама 
құру керек. Циклда біз фигураны саламыз, одан соң перненің басылуын күтеміз 
және оның кодын getch функциясының көмегімен қабылдай аламыз. Осыдан 
кейін фигураны өшіреміз (координаталары өзгеріп кетпей тұрғанда) және осы 
кодқа тәуелді фигураның координаталарын керекті жағдайға өзгертеміз.
Бұл жерде соңы жоқ While(1) циклі қолданылады. Бұл циклдан шығу үшін 
бір ғана әдіс бар – ол break опреаторын қолдану арқылы шығамыз (циклдан 
ертерек шығу әдісі). 
Switch операторында координата мәні бірге өзгеріп отырады, кезкелген қадамды 
қолдануға болады. Төменде орналасқан жолдар орындалмау үшін әрбір 
нұсқаның соңына break операторын жазып отыру керек. Негізгі бағдарламаның 
басында code бүтін анымалыны сипаттау қажет.
  Тоқтамай қозғалу 
Енді күрделі жағдайларды қарастырайық ешқандай перне басылмаса да нысан 
берілген бағытқа қозғалады, ал перне-тілше батырмасын басқан кезде бағытын 
өзгертеді. Бұл жерде қозғалыстың бағытын өзгертетін dx және dy айнымалы-
ларын қолданамыз. Алдымен біз перне басылғандығын, сосын оның кодын 
анықтаймыз, оны code айнымалысына меншіктейміз және switch операторының 
көмегімен ол басылуды ұйымдастырып жазамыз. 


Cи тілінде бағдарламалау Берикжан Касымов, 2018-2019 
 
59 
http://astanabilim.kz/infor/c
  


Достарыңызбен бөлісу:
1   ...   26   27   28   29   30   31   32   33   34




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет