Қате суретті таңдау


Жұмыс түрі:  Материал
Тегін:  Антиплагиат
Көлемі: 14 бет
Таңдаулыға:   

Мазмұны

Кіріспе

1. Теориялық бөлім . . . 3

1. 1. Ішкі деректер құрылымын әзірлеу және бағдарламалық қосымшаның пайдаланушы интерфейсін анықтау . . . 3

1. 2. Бағдарламалық қосымшаның сипаттамасы және функционалдығы . . . 3

1. 3 ?!? . . . 5

2. Тәжірибелік бөлім . . . 8

2. 2. Қарапайым түсінік . . . 8

2. 3. Ойын программасын құру және нәтижесін алу . . . 8

Қорытынды . . . 11

КІРІСПЕ

Тақырыбы:С++ тілінде ойын құрастыру.

Жұмыстың өзектілігі:интуитивті интерфейсі бар қарапайым ойын құрастыру.

Міндеттері:

-қолмен де, автоматты түрде де бірдей емес 4 суретті көрсететін бағдарламаны

жазу және оны ыңғайлы табуды қамтамасыз ету.

- Кодтың нәтижесін алу және тестілеу.

Қазіргі уақытта компьютерлік әлемде көптеген бағдарламалау тілдері бар. Компьютерде жұмыс істейтін бағдарлама көбінесе компьютердің өзімен анықталады, өйткені бағдарламаны қолданатын адам бастапқы деректерді компьютерге клавиатурадан енгізеді, ал компьютер нәтижені экранға шығарады. Шын мәнінде, клавиатурадан немесе файлдан енгізілген бастапқы деректерді монитор экранына немесе файлға шығарылатын нәтижеге түрлендіруді компьютердің процессоры орындайды. Процессор түрлендіруді командалық бағдарламаға сәйкес орындайды. Осылайша, компьютер қандай да бір жұмысты аяқтауы үшін, осы жұмыстың орындалуын қамтамасыз ететін командалар тізбегін жасау керек немесе бағдарлама жазу керек деп айтылады.

Бағдарламалау-бұл келесі қадамдар тізбегі ретінде ұсынылуы мүмкін бағдарламаны құру (әзірлеу) процесі:

* бағдарламаға қойылатын талаптарды анықтау;

* тапсырманы шешу алгоритмін жасау немесе таңдау;

* командаларды жазу;

* оңтайландыру(кодты қысқарту, керек емес жағын жою) ;

* тестілеу.

Қазіргі уақытта бағдарламашылар Компьютерлік бағдарламалық жасақтаманы ғана емес, сонымен қатар алгоритмдік ойлауды, компьютерлік дағдыларды, сондай-ақ танымдық қызығушылықтарды, есте сақтау мен зейінді дамыту үшін әртүрлі зияткерлік ойындарды дамытады.

Компьютерлік ойындар-бұл заманауи компьютерлік құралдардың көмегімен келтірілген табиғи(қарапайым) ойын моделі.

Бағдарламалық жасақтама Rad Studio 10. 4 бағдарламалау ортасында жасалған.

1 ТЕОРИЯЛЫҚ БӨЛІМ

1. 1 Ішкі деректер құрылымын әзірлеу және бағдарламалық қосымшаның пайдаланушы интерфейсін анықтау

Пайдаланушы интерфейсі ұғымы экрандағы суретті ғана емес-үш өлшемді, анимациялық, жай сәнді дизайнда жасалған -бұл пайдаланушының жүйемен өзара әрекеттесу тәсілдерін қамтиды. Пайдаланушы интерфейсі-бұл "интерфейс элементтері" жиынтығы және олардың экранда орналасуы.

Пайдаланушы интерфейсі-бұл пайдаланушының бағдарламалық жасақтамамен өзара әрекеттесуіне әсер ете алатын бағдарламаның элементтері мен компоненттері.

Оның ішінде:

- ақпаратты көрсету құралдары, көрсетілетін ақпарат, форматтар және кодтар;

- командалық режимдер, пайдаланушы тілі-интерфейс;

- деректерді енгізу құрылғылары мен технологиялары;

- пайдаланушы мен компьютер арасындағы диалогтар, өзара әрекеттесу және транзакциялар;

- Пайдаланушының кері байланысы;

- нақты пәндік салада шешім қабылдауды қолдау;

- бағдарламаны және оған арналған құжаттаманы пайдалану тәртібі.

Бірақ бұл әзірленген бағдарламалық жасақтамада біз әр адам осы ойынды түсініп, ойнай алатындай етіп минимализм стилінде визуалды объектілермен пайдаланушы интерфейсін жасаймыз.

Бағдарламалық өнімді жобалау процесінің бастапқы кезеңдерінде осы процесті, сондай-ақ дамудың сапасы мен күрделілігін анықтайтын негізгі шешімдер қабылдау қажет. Мұндай шешімдері жатқызады:

- бағдарламалық жасақтама архитектурасын таңдау;

- пайдаланушы интерфейсінің түрін таңдау;

- әзірлеу тәсілін таңдау;

- бағдарламалау тілі мен ортасын таңдау;

"Қосымша суретті табыңыз" компьютерлік ойынының ерекшелігін ескере отырып, біз бағдарламалық жасақтама компьютерде жұмыс істейтін бір пайдаланушыға арналған бір пайдаланушының архитектурасын жасаймыз.

Алдыңғы тарауда біз визуалды нысандары бар пайдаланушы интерфейсіне тоқталдық, онда көптеген сценарийлерді жүзеге асыруға болады, олардың операциялары белгілі бір жұмыс сатысында мүмкін болатын көптеген операцияларды анықтауды қамтиды. Бағдарламалық жасақтаманы әзірлеудің объектіге бағытталған визуалды орталары мұны жасауға мүмкіндік береді. Нысанға бағытталған бағдарламалау тілі объект қабылдай алатын хабарламалар тізімі түрінде қатаң анықталған интерфейс арқылы сыртқы әлеммен өзара әрекеттесетін жабық тәуелсіз нысан ретінде объект ұғымына негізделген. Нысанның қасиеттері, мінез-құлқы және жағдайы бар. Мінез-құлық қасиеттері бірдей Нысандар сыныптарға біріктіріледі. Нысанға бағытталған тілдегі бағдарлама-бұл сынып сипаттамаларының жиынтығы. Сыныптар, өз кезегінде, оларды құрайтын объектілердің қасиеттері мен мінез-құлқының сипаттамасын білдіреді. Сипаттар басқа, әдетте, қарапайым нысандармен ұсынылады. Мінез-құлық хабар алмасу арқылы сипатталады.

Нысанға бағытталған тілдерге келесі сипаттамалар тән:

* дерексіз деректер түрлері;

* алдыңғы жағын іске асыруды жасыру (инкапсуляция) ;

* объектілердің қасиеттері мен мінез-құлқын мұрагерлік;

* атауды мәнмен динамикалық байланыстыру;

* хабарлама атауларының полиморфизмі;

* жадты автоматты басқару.

1. 2 Бағдарламалық қосымшаның сипаттамасы және функционалдығы

Оқиғаларды бағдарламалау мен Объектілік тәсілді қолдануды қамтитын визуалды нысандары бар интерфейс таңдалғандықтан, Visial C++, Borland Delphi 7. 0, Borland C++ Builder, Rad Studio 10. 4 және оған ұқсастар тапсырманы орындау үшін ең қолайлы заманауи визуалды бағдарламалау орталары болып саналады.

Бүгінгі таңда осы орталардың арасында айырмашылықтар бар: Microsoft корпорациясының визуалды орталары "Windows астында"бағдарламалаудың төменгі деңгейін қамтамасыз етеді. Бұл олардың артықшылығы мен кемшілігі. Артықшылығы - "стандартты емес жағдайдың" пайда болу ықтималдығы төмендейтіндіктен, яғни компоненттер кітапханасын жасаушылар ұсынбаған жағдай, бірақ кемшілігі-бұл Delphi, C++ Builder және Rad Studio-мен жұмыс істейтін бағдарламашыдан құтылған "күнделікті" жұмыс бағдарламашысын айтарлықтай жүктейді.

Бұл ойынды дамыту үшін біз RAD Studio әмбебап бағдарламалау ортасына тоқталамыз.

Rad Studio-бірнеше маңызды технологиялардың тіркесімі:

* машина кодына жоғары өнімді компилятор;

* нысанға бағытталған модель компоненті;

* бағдарламалық прототиптерден қосымшаларды визуалды (және, демек, жылдам) құру. - бұл бірнеше маңызды технологиялардың тіркесімі:

* машина кодына жоғары өнімді компилятор;

* нысанға бағытталған модель компоненті;

* бағдарламалық прототиптерден қосымшаларды визуалды (және, демек, жылдам) құру.

Менің ойымша, Rad Studio қарапайым және түсінікті. Тілдің негізгі құрылымдары бағдарламада айқын көрінеді, бұл жазбаша кодтың жақсы жазылуына ықпал етеді. Rad Studio графикалық интерфейсі өте жақсы ойластырылған және даму ортасы тек даму ортасының өзі автоматты түрде жасайтын бағдарламаның негізгі бөлігін жасырып, жұмыс істеу керек код бөліктеріне қол жеткізуге мүмкіндік береді.

Жоғарыда айтылғандардың барлығы объектіге-бағытталған бағдарламалау технологиясын, C++ builder тілін, Rad Studio 10. 4 ортасын таңдауды анықтады.

Әзірленген бағдарламалық қосымшада біз қолдандық:

1. TForm класы Rad Studio-ның ең маңызды құрамдас бөлігі болып табылады, ол осы жүйенің қосымшаларды жобалау және әзірлеу бойынша барлық жұмысына негізделген. Форма (TForm класы) оның жұмыс істеуінің ең күрделі алгоритмдерін оңай конфигурациялауға және ұйымдастыруға мүмкіндік беретін қасиеттердің, әдістер мен оқиғалардың кең жиынтығын қамтиды. Барлық қасиеттер объект инспекторында сипатталған.

2. TPanel-панель. TPanel компоненті-бұл жалпы мақсаттағы контейнер. Оның тақырыбы жоқ, сондықтан элементтерді функционалды топтау үшін ыңғайлы емес. Оның Caption қасиеті мәтіндік жол ретінде көрсетіледі және оны хабарламаларды шығару үшін пайдалануға болады. Бұл сыныптың компоненттері көбінесе осы терезенің өлшемдерінің өзгеруіне қарамастан, терезенің бір жағында орналасқан көршілес компоненттерін орналастыру үшін қалыпқа орналастырылады.

3. TLabel-белгі. TLabel класс компоненті әр түрлі мәтіндік жазулар түрінде орналастыруға арналған . Ол үшін Caption компонентінің орталық қасиеті қызмет етеді. Font қасиетін қолдана отырып, сіз жазудың түрін әртараптандыруыңызға(өзгертуге) болады. АutоSize логикалық қасиетін қолдана отырып, құрамдас бөлікке Caption мәтінін орнатылған штрифті ескере отырып толығымен көрсету үшін өлшемдерін автоматты түрде өзгертуге рұқсат ете аласыз.

4. TButton-батырма. TButton компоненттері бағдарламаларды басқару үшін кеңінен қолданылады.

TButton әрекет-жасау терезесінің параметрлерінде оның әрекетін басқару үшін бірнеше қасиеттерді ұсынады. (onClick, Caption, onMouseMove және т. б. ) Пайдаланушылар әрекеттерді бастау үшін батырмаларды басқару элементтерін таңдайды.

Пайдаланушы басқару элементін(Button) басқан кезде жауап беру үшін OnClick оқиға өңдегін пайдаланыңыз.

Әдетте OnClick пайдаланушы тышқанның сол жақ батырмасын басып, басқару элементіне апарған кезде пайда болады. Бұл оқиға келесі жағдайларда да орын алуы мүмкін:

-Пайдаланушы SPACE(ПРОБЕЛ) батырмасын басқан кезде;

-Пайдаланушы ENTER батырмасын басқан кезде.

5. TTimer-уақыт. Таймер компоненті бағдарламада уақыт аралықтарын орнатады, содан кейін бағдарламаланған оқиға басталады, мысалы, бағдарлама терезесін жабу немесе басқа терезеге ауысу.

Timer компонентіне уақыт беру керек болса, онда "OnTimer"оқиға қасиетіне өтетін уақытты миллисекундтарда жазу керек.

Интервал OnTimer оқиғасының қаншалықты жиі болатынын анықтайды. Көрсетілген аралық өткен сайын OnTimer оқиғасы орын алады. Інсіз келісім бойынша ​мәні-1000 единица(1000 миллисекунд=1 секунд) .

6. TImage графикалық кескінді көрсетеді. Графикалық кескінді пішінде көрсету үшін суретті пайдаланыңыз. Сурет сипатындағы сурет нысанын нақты нүктелік кескінді, белгішені, метафайлды немесе TImage көрсететін басқа графикалық нысанды көрсету үшін пайдаланыңыз. Кескіннің қасиеттері мен әдістерін файлдан суретті жүктеу, суретті уақыт аралығында тазарту және басқа басқару үшін кескінді тағайындау сияқты нәрселер үшін пайдалануға болады.

Stretch суретті басқару элементінің шекараларына дәл сәйкес келетін етіп өзгерту керек пе, жоқ па, соны көрсетеді. [ 1 ]

Суреттің өлшемін және кескін басқару формасын өзгерту үшін Strech басқару элементінің мәнін true мәніне өзгерту керек. Суретті басқару элементінің өлшемі өзгерген кезде кескіннің өлшемі де өзгереді(Мысалы 250*400 өлшемді image элементіне 30*40 өлшемді суретті қойған кезде суреттің ішіндегі текст оқылынбайтын болады) . Созылу кескіннің биіктігі мен енін тәуелсіз өзгертеді. Сонымен, масштабтаудың қарапайым өзгеруінен айырмашылығы, егер кескін басқару элементі кескінмен бірдей пішінге ие болмаса, созылу суретті оқылынбайтындай етілуі мүмкін. Ал егер суретті емес, image элементін өзгерткіңіз келсе, онда autosize немесе proportional элементінің мәнін true мәніне өзгерту керек.

Бағдарламаны іске қосқаннан кейін TButton көмегімен іске асырылған "Start" батырмасы бар негізгі форма пайдаланушының алдында пайда болады.

1. 3 ?!?(История)

Компьютерлік ойындардың тарихы 1940-1950 жылдары, академиялық ортада қарапайым ойындар мен модельдеу дамыған кезде басталады. Компьютерлік ойындар ұзақ уақыт бойы танымал болған жоқ, тек 1970-1980 жылдары аркада автоматтары, ойын консольдері және үйлік компьютерлері көпшілікке пайда болған кезде, компьютерлік ойындар танымал мәдениеттің(поп-культура) бір бөлігі болды. 1960-1970 жылдары АҚШ-тың университеттік және ғылыми ортасында әртүрлі ойындар - оқу бағдарламалары, бағдарламалау жаттығулары және студенттердің көңіл көтеруі үшін құрылып жатты.

1966 жылы АҚШ Қорғаныс министрлігінің мердігері(подрядчик) Sanders Associates компаниясында жұмыс істеген американдық инженер Ральф Баер өз бастамасымен ойындарға арналған "телевизиялық құрылғы" жобасымен жұмыс істей бастады, оны Channel LP (ағылш. - "let's play") деп атаған [ 2 ] . Sanders Associates-тің ірі теледидар өндірушілері арасында серіктес(партнер) табуға алғашқы әрекеттері сәтсіз болғанына қарамастан, 1971 жылы Баер мен оның қызметкерлері Magnavox компанияларымен келісімшартқа отырды; құрылғының прототипі, сол кезде Brown Box[1 сурет] атымен белгілі бір коммерциялық өнімге айналды-"Magnavox Odyssey" атты алғашқы үй ойын консолі [ 3 ], [2 сурет] .

1 сурет. "Қоңыр қорап" - Ральф Баер жасаған теледидарға арналған ойын консолінің прототипі.

2 сурет. Коммерциялық версиясы, Magnavox Odyssey консолі


1972 жылы Atari компаниясы, Аллан Алкорн инженерімен жасалған Pong [3 сурет] аркада автоматын шығарды - бұл Computer Space-пен[4 сурет] салыстырғанда әлдеқайда қарапайым және арзан жүйе теннис ойынына еліктеді және бастапқыда екі ойыншыға арналған. Atari аркада автоматтарының ірі өндірушілерінің ешқайсысымен серіктестік туралы келісе алмады және Wells Fargo-дан(банк) несие(кредит) алып, автоматты өзі шығара бастады-автомат үлкен жетістікке жетті[ 2 ] .

3 сурет. Atari компаниясы жасаған Pong автоматы.

4 сурет. Nutting Associates компаниясы жасаған Computer Space автоматы.

2 ТӘЖІРИБЕЛІК БӨЛІМ

2. 2. Қарапайым түсінік

Бағдарламаның принципі өте қарапайым. Дұрыс суретті басқан кезде-1 ұпай беру және ойынның келесі деңгейіне көшіру, ал дұрыс емес суреттерді басқан кезде-ұпайсыз келесідеңгейге көшу. Ойын аяқталғаннан кейін пайдаланушыға ойын аяқталған туралы терезе көрсету.

Пайдаланушы келесі әрекеттерді орындай алады:

1. Ойынды бастау.

2. Қате суретті таңдау.

3. Ойыннан шығу.

2. 3 Тестілеуші программа құру және нәтижесін алу

Программаның блок-схемасы:

Иә Жоқ

Программаның коды:

#include <vcl. h>

#pragma hdrstop

#include "Unit1. h"

//

#pragma package(smart_init)

#pragma resource "*. dfm"

TForm1 *Form1;

AnsiString pic_path[8] ={"kit. bmp", "kit. bmp", "kit. bmp", "dog. bmp",

"tel. bmp", "dog. bmp", "dog. bmp", "dog. bmp"};

int answers[8] ={0, 0, 0, 1, 1, 0, 0, 0};

int k = 0;

int score = 0;

int CountPic = 4;

//

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

void __fastcall TForm1::NextLevel()

{

if(k<=CountPic)

{

for(int i=1; i<=CountPic; i++)

{

TImage* im = (TImage*) FindComponent("Image"+IntToStr(i) ) ;

im->Picture->LoadFromFile("pic\\"+pic_path[k+i-1] ) ;

im->Tag = answers[k+i-1] ;

}

k+=CountPic;

}

else

{

Timer1->Enabled = false;

ShowMessage("Ойын бітті!") ;

for(int i=1; i<=CountPic; i++)

{

TImage* im = (TImage*) FindComponent("Image"+IntToStr(i) ) ;

im->Visible= false;

}

}

}

//

void __fastcall TForm1::Button1Click(TObject *Sender)

{

NextLevel() ;

Button1->Caption = "Келесі";

Timer1->Enabled = true;

}

//

void __fastcall TForm1::Image1Click(TObject *Sender)

{

score += ((TImage*) Sender) ->Tag;

Label1->Caption = "Upai = "+IntToStr(score) ;

NextLevel() ;

Timer1->Enabled = false;

Timer1->Enabled = true;

}

//

void __fastcall TForm1::Timer1Timer(TObject *Sender)

{

NextLevel() ;

}

Ойынды жасау түсінігі:

Ең бірінші 4 Image ашамыз[5 сурет]

5 сурет. Төрт Image ашу.

AnsiString массивын жариялаймыз, программа орналасқан жердегі суреттерді жүктеу үшін [6 сурет]

6 сурет. AnsiString массиввын қосу және суреттерді жүктеу.

Суреттердің сақталған жері:[7 сурет]

7 сурет. Суреттердің орналасқан жері.

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Paіnt бағдарламасын іске қосу
DELPHI-дiң графикалық мүмкiндiктерi және қолданбалары
Терезеден терезеге көшу
Шашка ойынын Паскаль программалау тілінде құру
Кіші мектеп жасындағы балаларды психодиагностикалау ерекшеліктері
Delphi-да ойын жасау
Білімді бақылауды автоматтандыру. Тест құру теориясы мен әдістемесі
Электронды оқулықтың тиімділігі
Бет бойынша жылжу
Электрондық оқулық құру туралы
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz