SlideShare une entreprise Scribd logo
1  sur  27
Tema: “Inteligjenca Artificiale ne animim”
Abstrakt
Fusha e inteligjencës artificiale është një fushë e gjerë dhe është e përfshirë në shumë
aplikacione të dobishme që kanë një përdorim të gjerë në jetën e përditshme moderne.
Kompleksiteti i teknikave të inteligjencës artificiale përfshihet gjerësisht në disa
programe të rëndësishme kompjuterike.
Teknikat e hapësirës së kërkimit në zbatime të përditshme kanë nevojë për një skicim
të detajuar të objektit ose projekteve në terren dhe këto shpesh nuk janë të lehtë për të
kuptuar, dhe ajo që është perceptuar si animacion grafik mund të shërbej si mënyrë
mësimdhënie në këtë temë.
Në këtë temë do të trajtojmë krijimin e një loje aplikative dhe hapat që duhen ndjekur
për realizimin e kësaj loje duke u bazuar në inteligjencën artificiale dhe
Human-computer-interactive (HCI)
Fjalët kyçe : Inteligjencë Artificiale,aplikacioni tic-tac-toe (loja)
Human-computer-interactive(HCI)
Hyrje
Inteligjenca artificiale është krijuar si term për herë të parë nga ekspertët më të mirë në
një konferencë kërkimore të mbajtur në Dartmouth në vitin 1958. Interesi përreth
IA(Inteligjenca Artificiale) është bazuar në mendimin se, krijimi i makinave inteligjente
e ka bërë jetën tonë më të lehtë, më të sigurtë, dhe më të kënaqshme. Për të tjerët kjo ka
qenë një mendim i gabuar dhe here-here shqetësues për shkak të problemeve eventuale
mes njerëzve dhe makinave inteligjente, e cila është theksuar shpesh nga mediat,sidomos
në filma.
Pas lindjes së IA, pritjet e shtypit dhe publikut ishin shumë të larta. Megjithatë,
progresi në fushën e IA nuk ka qenë aq i shpejtë siç ishte menduar fillimisht. Sot, IA
është përdorur në një gamë të gjerë të aplikacioneve. Këto shkojnë nga algoritmet
biologjike deri në sistemet logjikë, dhe në bazë të sistemeve të shpërndara përmes
internetit ,përmes kërkimeve dhe kontrollit me anë të robotikës kompjuretike.Në
shumicën e këtyre aplikacioneve përfshihen algoritme tepër komplekse.
'Teknikat Artificiale Inteligjente "janë drejtuar nga Profesor Phil Green në Universitetin
e Sheffield. Kjo është përforcuar me një program të gjendjeve të kërkimit shkruar në
gjuhën e programimit Java.
Qëllimi i këtij projekti është të krijojë programe softuer-ike, të cilat tregojnë
grafikisht punimet e hapësirës dhe teknikave të ndryshme të gjendjeve gjatë kërkimit duke
përdorur animacione kompjuterike. Programet do të formojnë mjete mësimore të
dizajnuara për të përcjellë nocione dhe metodologji të gjithanshme për një përdorues,në
një mënyrë sa më efektive. Në një përpjekje për të mbajtur vëmendjen e përdoruesve për
aq kohë sa të jetë e mundur, mjetet e të mësuarit duhet të jenë sa më interaktive të jetë e
mundur, duke i dhënë një shumëllojshmëri opsioneve gjatë përdorimit të tyre. Idealisht
programet softuerike duhet të jenë të përfshira në një botë të gjerë në web...
Me këto koncepte të ideuara,është shpresuar se mjetet e të mësuarit do të
ndihmojë studentët të kuptojnë më shpejtë materialin e dhënë dhe mënyrën e krijimit të
tij , në të njëjtën kohë duke e bërë atë më të këndshëm.Studentët do të kenë mundësinë
për të shprehur mendimet e tyre mbi të, këto mendime do të analizohen dhe do të veprohet
në përputhje me rrethanat.
Kërkesat dhe analizë
Me kërkesat dhe analizë nënkuptojmë analizën e qëllimeve dhe objektivave
të këtij projekti. Kjo është një vlerësim i asaj që projekti ka qëllim që të arrijë.
Dizajni
Dizajni paraqet pamjen e jashtme të softwer-it të krijuar në këtë projekt,duke e
paraqitur me anë të kodit që kemi krijuar,kompiluesin ,zhvillimi dhe ecuria e tij, dhe për
të shfaqur teknikat e kërkimit në mënyrë më efektive. Një pjesë e kësaj teme është
idea,dizajni, projektimi që është i përgjithshëm dhe testimi në këtë projekt. Pas kësaj,
softwar-i do të zbatohet në fusha specifike problemore,ku përfshihen,hartimi i kodit dhe
ndërfaqja e përdoruesit.
Aplikacioni dhe testimi i tij
Testimi dhe rezultatet : diskutohet strategjia pas testimit të aplikacionit të
krijuar. Ajo jep rezultatet e mbledhura ,reagimet nga përdoruesit e softwar-it dhe
interpretim e asaj që është përpjekur të realizoj.
∙ Vlerësimi dhe konkluzioni
Një vlerësim i projektit në tërësi , i cili nxjerr në mënyrë të përmbledhur arritjet
kryesore të projektit. Gjithashtu, dështimet dhe kritikat e projektit janë të
diskutueshme.Këtu unë shpreh opinionet e mia për këtë projekt dhe sugjeroj
fushat për përmirësim. Planet për punë të mëtejshme që mund të bëhen për të
zgjeruar këtë projekt janë gjithashtu të përfshir
2. Kërkesat dhe Analiza
2.1 Kërkesat funksionale
Ky kapitull nxjerr kërkesat e detajuara të këtij projekti, qëllimet dhe
objektivat që shpresojmë se do të arrihen.
2.2 Ndërveprimi kompjuter-njeri
Bashkëveprimi(interaktivë) i kompjuter-njeri HCI (Human-Computer
Interactive) është disiplina që ka të bëjë me hartimin, vleresimin dhe
implementimin e sistemet informatikë interaktive për përdorim njerëzor dhe me
studimin e fenomeneve kryesore përreth tyre .
Nëse një program ka një ndërfaqe popullore është e mundshme që të shërbejë si një
faktor i madh pozitiv në ankesën e përgjithshëm me përdoruesit. Që një software i
prodhuar do të mund të përdoret për të mësuar, ndërsa ndërfaqja e përdoruesit duhet të
jetë e thjeshtë në mënyrë që përdoruesit të shpenzojnë sa më pak kohë të jetë e mundur
për të mësuarit se si të përdorin sistemin.
Atributet e përdorshmërisë
Guru Nielsen përcaktoj që çështja në HCI të jetë se si përdoruesit mund të bëjnë
përdorimin e funksioneve të një sistemi. Ai përcakton përdorshmërin me këto
atribute:
• Të nxënit(mësuarit): sistemi duhet të jetë i lehtë për t’u mësuar në
mënyrë që përdoruesi mund të mësoj shpejtë nga mundësit që ofron sistemi.
• Efikasiteti: sistemi duhet të jetë efikas për t'u përdorur, kështu që sapo përdoruesi
ka mësuar sistemin, produktiviteti i individit të jetë i një niveli më të lartë.
• I paharrueshëm: sistemi duhet të jetë i lehtë për të kujtuar, në mënyrë që përdorues
të ndryshëm të jenë në gjendje të kthehen në sistem, pas një periudhe kohe, pa pasur nevojë
ti rikthehen përsëri nga fillimi.
• Gabimet: sistemi duhet të ketë një normë të ulët gabimi, në mënyrë që kur
përdoruesit bëjnë disa gabime gjatë përdorimit të sistemit, këto gabime të rregullohen
lehtësisht dhe sa më shpejtë. Duhet të tregoj, që “këtu ka ndodhur një gabim”.
• Kënaqshmëria: Sistemi duhet të jetë i këndshme për t'u përdorur, në
mënyrë që përdoruesit të jenë të kënaqur subjektivishtë kur përdorin atë,pra ta
pëlqejnë atë
Parimet e përdorshmërisë
Nielsen rekomandon parimet e mëposhtme për dezenjimin e ndërfaqes së përdoruesit:
• Dialog i thjeshtë dhe natyrore: dialogu nuk duhet të përmbajë informacion që është
i parëndësishme, ose pak e nevojshme.Të gjitha informatat duhet të paraqiten në një mënyrë
të natyrshme dhe logjike.
• Flisni gjuhën e përdoruesit : dialogu duhet të shprehet qartë në fjalët,
frazat, dhe konceptet e njohur për përdoruesit.
• Minimizimi i ngarkesës (Load) në kujtesë: ky përdorues duhet të mbaj mend
informatat nga një pjesë e dialogut në një tjetër. Udhëzime për përdorimin e sistemit
duhet të jenë të dukshme ose të shikohen lehtësisht sa herë të jetë e mundur dhe e
nevojshme.
• Lidhja logjike: përdoruesit nuk duhet të pyes veten nëse fjalë të ndryshme,
situata, ose veprime të thonë të njëjtën gjë.
• Reagimi: sistemi duhet të mbaj gjithmonë të informuar përdoruesit në lidhje me
atë që po ndodh, përmes reagimeve të përshtatshme brenda një kohe të arsyeshme.
• Daljet e shënuara qartë: përdoruesit shpesh bëjnë gabime në sistem gjatë
aplikimit ose ekzekutimit të programit apo software-it dhe do të ketë nevojë për një "dalje
emergjente duke lënë hapësira të padëshiruar, pa pasur nevojë të shkojë përmes një dialogu
të zgjeruar.
• Shortcuts(shkurtore): përshpejton bashkëveprimin ndërmjet përdoruesit dhe
sistemit ose softwar-it në mënyrë të tillë që sistemi mund të kujdeset për të dy përdoruesit,atë
ekspert dhe atë papërvojë.
• Parandalimi gabimeve: duhet të krijohet një dizajn që shfaqet në formë teksti
i cili parandalon kryerjen e një gabimi nga përdoruesi gjatë përdorimit.
• Ndihma dhe dokumentacioni: sistemi mund të përdoret pa dokumentacion,pra
nuk është e nevojshme në aplikim. Por çdo aplikacion ose software është i shoqëruar
gjithonë me një manual përdorimi dhe me liçencë.
Ligji ’ Fitts '
Ligji ‘Fitts' ka të bëjë me kohën që duhet për të vënë një një objekt në ndërfaqen
grafike të tij. Pra,koha që i duhet një objekti në saj të distancës dhe madhësisë së
objektit ". Ky ligj mund të jetë i dobishëm në një ndërfaqje për shkak të
komponentëve interaktive të tilla si madhësia e butonave sa është e mundur
praktikisht dhe sa më afër për zonat që tregohet nga pajisja, kjo do tu japi
përdoruesve kontroll të shpejtë.
3. Dizajni
3.1 Mbështetja e Kompjuterit në mësimdhënie
Shkenca e mbështetjes së kompjuterit në mësimdhënie Cal (Computer astitment
learning) ka të bëjë me hartimin dhe zhvillimin e një mjeti kompjuterikë që është
prodhuar për të edukuar. Idet në këtë fushë janë të rëndësishme sepse projekti ka një
pedagogji bazë.
"Kur kemi të bëjmë me zhvillimin e Web-it në të mësuar ... Një nga faktorët më të
rëndësishëm për t’u marr në konsideratë është mbajtja e vëmendjes së nxënësve
dhe të angazhojnë mendjen e tyre si dhe kohë të mjaftueshme për të mësuar çfarë
ndodhë".
Theksojmë disa dallime të mëposhtme të mëdha midis materiale mësimore në web
dhe të mësuarit bazuar në letër (ose libra):
• Materialet për dizajnin: përdoruesit e materialeve mësimore web nuk duhet
të shikojnë vetëm informatat që janë të pranishëm për ta, ata kanë nevojë për të
bashkëvepruar në mënyrë interaktive. Dizajni juaj duhet të përfshijë materialet
ndërveprimi , imazhe dhe koncepte që përcjellin funksione dhe ide për përdoruesin dhe
kuptimin dizajnit në ekranin e kompjuterit.
• Dizajni organizative: ka shumë arsye themelore organizative për të bërë
nënndarjen e çdo informacioni në pjesët e saj përbërëse. Çdo organ i njohurive për
t'u përdorur në një mjedis të internetit duhet të jenë të dizajnuara në mënyrë që numri
i variablave në minimum. Kjo është bërë duke përdorur një kombinim të dizajnit
grafik dhe faqeve së bashku me ndarjen e informacionit në njësitë e saj diskrete.
• Dizenjimi i faqes: organizimi hapësinorë i grafikës dhe tekstit në një mjedis me
bazë Web duhet të ndihmojë të angazhohen nxënësit ne të mësuarin e tyre, por
gjithashtu duhet të drejtojnë vëmendjen e nxënësve , të ndihmojnë ata të bëjnë
informacion si prioritetin dhe ndërveprimet e tyre më të këndshme dhe të efektshme.
• Dizajni grafik: optimizmi i pamjes dhe përvoja e të mësuarit në web është i rëndësishëm
për efikasitetin e përgjithshëm të sistemit të të mësuarit. Përdorimi i një menuje të plotë
dhe të qartë në ekran, sepse për shembull, nxënësit mund të ndjejë një ngarkesë grafike
dhe nuk arrin të kuptoj lidhjen logjike të menusë dhe programit . Për të shmangur këtë ne
do të duhet të marrim në konsideratë një strategji projektimit që ju tërheq nxënësit në
materiale me kohët arsyeshme.
Tabela 3.1 zhvillimin e një shprehjes dhe dëgjimit pakete Cal (Computer-Assisted
Learning), jep udhëzime të projektimit kryesore.
Përkufizimi Udhëzimi
Interaktive Përdoruesi mund të bëjë më shumë sesa thjesht të shtypni butona
dhe të shikoj rezultatin(pra mund të japi ide ose zgjidhje të
problemit).
I menjëhershëm Nëse është e mundur, sistemi reagon ndaj veprimeve të përdoruesit
në kohë reale.
Eksploruese Një seksion i rëndësishëm janë parametrat themelor të hapësirës
ndaj ndonjë efekti ose proceset që janë vënë në dispozicion për
përdoruesit për manipulim të drejtpërdrejtë.
Uniform Të ndiqet një stil i qëndrueshme në projektimin e ndërfaqes
Lehtësia në Nëse është e mundur, aktivizimi i drejtpërdrejtë i objekteve
përdorim
Dokumenti i Dokumentacion gjithëpërfshirës dhe uniforme HTML është në
nevojshëm. dispozicion për secilin demostrim, të plotë me sugjerimet për
eksplorim dhe lexim të mëtejshëm.
Tabela 3.1 – udhëzimet e dizajnit Cal
Është e qartë se pikat e dhëna në këtë tabelë synojnë prodhimin e një softuer-i që i
jep çdo përdoruesi mundësi më të mëdha për të mësuar dhe vënë ide përpara. Ata
respektohen kur prodhimet e softwar-i kanë një natyre edukative.
3.2 Testimi
Një pjesë e rëndësishme e projektit është testimi ku mblidhet çdo informacion në
lidhje me përdoruesit dhe sistemit.Duke kërkuar pyetje të hapura është një mënyrë e
mirë për të arritur reagime nga përdoruesit rreth aspekteve të veçanta të sistemit, të
tilla si: "Përshkruani kush funksione,janë më të bezdisshëm në sistem", ose "Kush
janë aspektet që favorizojnë sistemin? ". Për fat të keq,shpesh përdoruesit mund të
kërkojnë përgjigje që janë të vështirë për t’u interpretuar.
Shkallët e pyetjeve
Në mënyrë që të shohim reagimet e përdoruesve duhet theksuar pyetja : sa pajtohen apo
nuk pajtohen me këtë projekt,duke pasur parasysh se mundësitë e përgjigjeve janë : 1 =
plotësisht dakort,
2 = pjesërisht dakord,
3 = as dakord as kundër,
4 = fuqimisht dakord,
Mirë do ishte të krijonit një pyetje të tillë ,si më mëposhtme:
"A ishte shumë e lehtë për të mësuar se si të përdorni këtë sistem?"
Unë mendojë se ky sistem më lejon për të arritur produktivitet më të lartë.
Përfundimi
Është e mundshme që një kombinim i pyetje të hapura dhe përgjigjeve të kthyera të
jenë të mjaftueshme për të nxjerrë mendimet e përdoruesve.
4. Aplikacioni
4.1 Loja tic-tak-toe
Tic-tac-toe është një lojë klasike për fëmijë që përforcon paragjykimet tona drejt një
realitet klasike. Ajo është luajtur nbi një tabel e ndarë në 9 fusha ku çdo fushë përmban
disa element (ose kuadrata në të).Kjo është një lojë e thjeshtë por shumë
intuitive,duke u përpjekur të jesh fituesi i kësaj loje me disa lëvizje dhe zgjedhje të
menduara mirë.
4.2 Qëllimi
Loja tic-tac-toe të jep mundësin që të mendosh dhe logjikosh në mënyrë mekanike,edhe
pse mund të duket shumë e thjeshtë çdo lëvizje duhet menduar dhe vepruar duke parë
dhe lëvizjen e kundërshtarit (p.sh përdoruesi me kompjuterin ose mes dy lojtarëve). Loja
ka rregullat e saj nga ku mund të ndjekësh dhe zbatosh për të vazhduar lojën duke arritur
deri në fitore . Një lojë e ka potencialin për të lejuar që lojtarët të jenë fillestar ose të
jenë të dy me përvojë. Nga ku në lojë fton një angazhim krijuese.
4.3 Rregullat
Tic-tac-toe është luajtur në një tabel të thjeshtë , dhe luhet nga dy lojtarë ,ku lojtari i parë
ka shënjuesin X,ndërsa lojtari i dytë ka shënjuesin O,lojtari i parë me shënjuesin X bën
përzgjedhjen e parë. Pas kësaj e merr radhën lojtari i dytë,dhe më pas loja luhet me radhë
duke vazhduar dhe përzgjedhur çdo kuadrat të tabelës derisa njeri prej lojtarëve arrin të
shenoj deri në tre shënjues (me X për lojtarin e parë dhe me O për lojtarin e dytë) në mënyrë
horizontale,vertikale ose dhe ne mënyrë diagonale.Nëse kjo nuk arrihet atehere në lojë nuk
ka fitues dhe loja nbyllet në barazim.
4.4 Algoritmi i lojës tic-tac-toe (pseudo-kodi)
1.Fillo
2.Shiko për një vend për të shënuar treshen i pari për të dal fitimtarë në lojë.
3.Nëse gjendet : filloj të realizoj objektivat e synuara.
4.Nëse nuk u gjet: shikoni që kundërshtarët mos të realizojnë shënimin e treshes së
mundshme.
5.Nëse gjenden: të krijoj pengesa që kundërshtari të arrijë fitoren.
6.Nëse nuk u gjet: të shënoj një shenjë, kështu që ekziston mundësia e realizimit të një
treshe.
7.Shko në hapin 1.
4.5 Aplikoacioni Ndërtimi i formës dhe funksioneve (kodit) së lojës në Microsoft Visual
Basic
4.5.1 Krijim i formës së tabelës hyrse
Pasi kemi instaluar programin Microsoft Visual Basic 6.0 dhe e hapim atë,krijojmë një
formë e cila do të jetë dhe forma hyrëse e lojës që do të krijojmë.
Pas kësaj fillojmë të ndërtojmë strukturën e lojës duke filluar nga ndërfaqa,atributet dhe
funksionet e çdo butoni apo ngjarjeje e cila nevojitet për realizimin e këtij projekti (ose
aplikacion).Figura 4.2 dhe 4.3 tregon krijimin e një forme teksti në tabelën hyrëse të
lojës me atributet e saj.
Krijojmë formën tjetër në të cilën përdoruesit i jepet një opsion mbi të cilin ai duhet të
zgjedh nëse do të luaj duke marr ‘X’ apo ‘O’ gjatë kohës që do luajë.Figura 4.4 tregon
në formën e një teksti dhe opsionin mbi të cilin lojtari(ose përdoruesi)duhet të zgjedh
Pema e kërkimit për realizimin e një loje tic-tac-toe
duke klikuar mbi ‘X’ ose ‘O
Krijojmë butonin ‘OK’ i cili do të mundësoj fillimin e lojës.
Figura 4.1 tregon formën hyrëse të lojës.
Kodi realizon klikimin e butonit ‘OK’ i cili mundëson fillimin e
lojës Tic-tac-toe
Forma e nisjes së lojës për tic-tac-toe .Përdoruesi zgjedh nëse ai ose ajo
dëshiron të jetë "X" ose "O"(duke zgjedhur butonin e duhur opsional)Dhe
pastaj klikon OK.
Private Sub Form_Load()
CenterForm Me
End Sub
Private Sub cmdOK_Click()
gstrPlayerLetter = IIf(zgjidhXoseO(0).Value, "X", "O")
gstrComputerLetter = IIf(gstrPlayerLetter = "X", "O", "X")
frmTicTacToe.Show
Unload Me
End Sub
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As
Single)
End Sub
Ndërtojmë 9 kuadrata brënda tabelës që krijuam duke i dhënë atributet dhe funksione për secilin prej
tyre.
4.5.2. Krijim i formës së tabelës së lojës Tic-tac-toe
Krijojmë përsëri një formë e cila do shërbej për krijimin e lojës tic-tac-toe.
Krijojmë butonin ‘Luaj përsëri’ e cila do të shërbej për të rinisur loja pasi ka mbaruar
loja e parë.
Figura 4.14 Krijimi i butonit ‘Luaj përsëri’
Kodi i funksionit të butonit ‘Luaj përsëri
'*******************************************************
*****************************
'* Ngjarjet e komandave të butonave
'***************************************************
****
*****************************
Private Sub cmdluajpërsëri_Click()
fillo_Lojë_të_re
End Sub
Gjithashtu krijojmë dhe një buton i cili bën mbylljen e lojës me anë të komandës ‘Mbyll lojën’
Figura 4.16 Krijimi i butonit ‘Mbyll lojën’
∙ Kodi i funksionit të butonit ‘Mbyll lojën’
Private Sub cmdmbyll_Click()
Unload Me
End Sub Figura 4.17 Atributet e butonit ‘Mbyll lojën’
Krijojmë gjithashtu disa funksione të cilat llogarisin disa statistika të lojës si: lojrat e luajtura,lojra të humbura,lojra të
fituar si dhe lojra të cilat dalin barazim
Figura 4.18 Statistika të lojës
Figura4.15 Atributet e butonit “luaj perseri”
Figura 4.19 Forma e plotë e lojës Tic-tac-toe
Krijimi i funksionit të numërimit të lojrave të luajtura.
Figura 4.20 Numërimit
të lojrave të luajtura
Kodi i funksionit të lojrave të luajtura
Private Sub Label12_Click()
End Sub
Figura 4.21 Atributet e numërimit të lojrave të luajtura
Ndërtojmë një funksion ’Timer’, i cili shërben si një tekst mesazh që shfaqet sa herë që lojtari humbet,fiton apo del barazim.
Figura 4.22 Krijimi i ‘timer’ Figura 4.24 Shfaqja e tekst mesazhit nga
funksioni ‘timer’
Figura 4.23 Atributet e ‘timer’
∙ Kodi i funksionit‘timer’
Ngjarja e llogaritjes së kohës
Private Sub tmrFlash_Timer()
'Timer-i aktivizohet(ose shfaqet) kur loja mbaron. Në çdo interval kohe,
Ajo shfaqet në kuadratet lblWins, i cili raporton rezultatin e lojës
("ju fituat", "ju humbet", "ju barazuat")...
lblWins.Visible = Not lblWins.Visible
End Sub
4.5.3. Ndërtimi i funksioneve (kodi) të lojës tic-tac-toe në Microsoft Visual Basic
Fillimisht bëjmë deklarimet për çdo funksion që do të krijojmë
Option Explicit
'************************************************************************************ '*
Moduli-Deklararimi i niveleve të ndryshme *
'************************************************************************************
Private mintlojëtëluajtura As Integer
Private mintlojëtëfituara As Integer
Private mintlojëtëhumbura As Integer
Private mintlojëbarazim As Integer
Private mblnlojëtëpërfunduara As Boolean
Private mintGameOutcome As Integer
Private Const mintLojë_barazim As Integer = 0
Private Const mintKompjuteri_fitoj As Integer = 1
Private Const mintLojtari_fitoj As Integer = 2
Pasi kemi zgjedhur opsionin ‘X’ ose ‘O’ në formën hyrëse të lojës Tic-tac-toe klikojmë mbi
butoni ‘OK’ për të nisur lojën dhe do na shfaqet një mesazh në formë teksti se kush do të nisë
lojën i pari (kompjuteri apo përdoruesi).Në këtë rast përdoruesi ka zgjedhur shënjuesin me shënjë
‘X’ . Këtu kompjuteri i cili do shënjoj i pari në kuadrat.
Figura 4.25 Shfaqja e tekst mesazhit Pasi shtypim butonin
‘OK’
Figura 4.26 Shënjon Kompjuteri i pari
Private Sub fillo_Lojë_të_re( )
'
' Kjo rutinë kryen të gjitha detyrat e nevojshme për nisur
një lojë të re
Dim intX As
Integer Dim
intGoesFirst
As Integer
Randomize
intGoesFirst = Int(2 * Rnd + 1)
'Informon përdoruesin se cili do shënjoj i pari. Nëse
është kompjuteri,
ai shënjon i pari...
If intGoesFirst = 1 Then
MsgBox "Kompjuteri do të shënjoj i
pari.", , "Lojë e re" radhaekompjuterit
Else
MsgBox "Ju do të shënjoni i
pari.", , "Lojë e re" End If
End Sub
' Kjo rutinë zbaton strategjinë e kompjuterit për të bërë
një lëvizje
Private Sub
radhaekompjut
erit() Dim intX
As Integer
Dim blnMoveMade As Boolean
'Së pari, të shohim nëse kompjuteri mund të fitojë me
këtë lëvizje duke vendosur "X" Ose "O"brenda në 1
nga sekuencat 8 mundshme për të fituar. Nëse është
kështu,shpallë atë fitues.
If Kompjuteri_fitoj(0, 1, 2) Then
lojëtëpërfunduara
mintKompjuteri_fitoj, 0: Exit Sub
If Kompjuteri_fitoj(0, 4, 8) Then
lojëtëpërfunduara
mintKompjuteri_fitoj, 1: Exit Sub
If Kompjuteri_fitoj(0, 3, 6) Then
lojëtëpërfunduara
mintKompjuteri_fitoj, 2: Exit Sub
If Kompjuteri_fitoj(1, 4, 7) Then
lojëtëpërfunduara
mintKompjuteri_fitoj, 3: Exit Sub
If Kompjuteri_fitoj(2, 5, 8) Then
lojëtëpërfunduara
mintKompjuteri_fitoj, 4: Exit Sub
If Kompjuteri_fitoj(2, 4, 6) Then
lojëtëpërfunduara
mintKompjuteri_fitoj, 5: Exit Sub
If Kompjuteri_fitoj(3, 4, 5) Then
lojëtëpërfunduara
mintKompjuteri_fitoj, 6: Exit Sub
If Kompjuteri_fitoj(6, 7, 8) Then
lojëtëpërfunduara
mintKompjuteri_fitoj, 7: Exit Sub
Figura 4.27 Strategjia e fitores së lojës nga kompjuteri
Private Function Kompjuteri_fitoj(pintPos1 As Integer, _
pintPos2 As Integer, _
pintPos3 As Integer) _
As Boolean
' Kjo rutinë përcakton nëse kompjuteri mund të fitojë në këtë lëvizje nga testimi për një vend të hapur brenda një
sekuence në njërën prej 8 mënyrave të mundshme për të fituar ...
If lblBox(pintPos1).Caption = "" _
And lblBox(pintPos2).Caption = gstrComputerLetter _
And lblBox(pintPos3).Caption = gstrComputerLetter Then
lblBox(pintPos1).Caption = gstrComputerLetter
Kompjuteri_fitoj = True
Exit Function
End If
If lblBox(pintPos1).Caption = gstrComputerLetter _
And lblBox(pintPos2).Caption = "" _
And lblBox(pintPos3).Caption = gstrComputerLetter Then
lblBox(pintPos2).Caption = gstrComputerLetter
Kompjuteri_fitoj = True
Exit Function
End If
If lblBox(pintPos1).Caption = gstrComputerLetter _
And lblBox(pintPos2).Caption = gstrComputerLetter _
And lblBox(pintPos3).Caption = "" Then
lblBox(pintPos3).Caption = gstrComputerLetter
Kompjuteri_fitoj = True
Exit Function
End If
Kompjuteri_fitoj = False
End Function
'Në qoftë se kompjuteri nuk mund të fitojë me këtë lëvizje, të shohim nëse lojtari mund të fitojë në lëvizjen e tij ose
'merr masa të bllokosh kompjuterin,duke marr një barazim"
If Kompjuteribllokon(0, 1, 2) Then Lojëbarazim: Exit Sub
If Kompjuteribllokon(0, 4, 8) Then Lojëbarazim: Exit Sub
If Kompjuteribllokon(0, 3, 6) Then Lojëbarazim: Exit Sub
If Kompjuteribllokon(1, 4, 7) Then Lojëbarazim: Exit Sub
If Kompjuteribllokon(2, 5, 8) Then Lojëbarazim: Exit Sub
If Kompjuteribllokon(2, 4, 6) Then Lojëbarazim: Exit Sub
If Kompjuteribllokon(3, 4, 5) Then Lojëbarazim: Exit Sub
If Kompjuteribllokon(6, 7, 8) Then Lojëbarazim: Exit Sub
'Në qoftë se ne shënojmë këtu, kompjuteri nuk mund të fitojë
me këtë lëvizje dhe nuk është e nevojshme ta bllokojmë.
Prandaj, zgjidhni një vend strategjik për të vendosur
shënjuesin e kompjuterit ...
blnMoveMade = True
Së pari shkojmë për kuadratin e mesit ...
Figura 4.28 Strategjia e bllokimit të kompjuterit për fituar
lojën dhe për të dal barazim
If lblBox(4).Caption = "" Then
lblBox(4).Caption = gstrComputerLetter
ndryshe provoni në pjesën e majtë sipër ...
ElseIf lblBox(0).Caption = "" Then
lblBox(0).Caption = gstrComputerLetter
ndryshe provoni në pjesën e e djathtë sipër ...
ElseIf lblBox(2).Caption = "" Then
lblBox(2).Caption = gstrComputerLetter
ndryshe provoni në këndin poshtë majtas ...
ElseIf lblBox(6).Caption = "" Then
lblBox(6).Caption = gstrComputerLetter
ndryshe provoni në këndin poshtë djathtas ...
ElseIf lblBox(8).Caption = "" Then
lblBox(8).Caption = gstrComputerLetter
'përndryshe, në qoftë se kuadrati i mesit është zënë , të shënjoj e majtë ose e djathta e tij...
ElseIf lblBox(4).Caption = gstrComputerLetter Then
If lblBox(3).Caption = "" Then
lblBox(3).Caption = gstrComputerLetter
ElseIf lblBox(5).Caption = "" Then
lblBox(5).Caption = gstrComputerLetter
Else
blnMoveMade = False
End If
Else
blnMoveMade = False
End If
'Në qoftë se ne nuk mund të bëjmë asnjë nga veprimet e mësipërme, thjesht përdorim levizjen e mëtejshme...
If Not blnMoveMade Then
For intX = 0 To 8
If lblBox(intX).Caption = "" Then
lblBox(intX).Caption = gstrComputerLetter
Exit For
End If
Next
End If
Kontrollo nëse lëvizja e kompjuterit shkakton fundin e lojës ose barazon ...
Lojëbarazim
End Sub
Funksioni i cili realizon bllokimin e lojtarit nga ana e kompjuterit për të arritur fitoren apo barazimin
Private Function Kompjuteribllokon(pintPos1 As Integer, _
pintPos2 As Integer, _
pintPos3 As Integer) _
As Boolean
Kjo rutinë përcakton nëse kompjuteri duhet të bllokojë lojtarin duke e parandaluar atë nga fitorja në lëvizjen e tij të
ardhshëme ...
If lblBox(pintPos1).Caption = "" _
And lblBox(pintPos2).Caption = gstrPlayerLetter _ And
lblBox(pintPos3).Caption = gstrPlayerLetter Then
lblBox(pintPos1).Caption = gstrComputerLetter
Kompjuteribllokon = True
Exit Function
End If
If lblBox(pintPos1).Caption = gstrPlayerLetter _
And lblBox(pintPos2).Caption = "" _
And lblBox(pintPos3).Caption = gstrPlayerLetter Then
lblBox(pintPos2).Caption = gstrComputerLetter
Kompjuteribllokon = True
Exit Function
End If
If lblBox(pintPos1).Caption = gstrPlayerLetter _ And
lblBox(pintPos2).Caption = gstrPlayerLetter _ And
lblBox(pintPos3).Caption = "" Then
lblBox(pintPos3).Caption = gstrComputerLetter
Kompjuteribllokon = True
Exit Function
End If
Kompjuteribllokon = False
End Function
Ndërtimi i funksionit të lojtarit fitues.
Kontrollo për të parë nëse lojtari ka fituar duke testuar mënyrat e mundshme për të fituar ose barazuar me këtë lëvizje
.'Nëse
lojtari fitoi,”Loja mbaroj" ,përndryshe radhën e ka kompjuteri...
Select Case True
Case Lojtari_fitoj(0, 1, 2): lojëtëpërfunduara mintLojtari_fitoj, 0
Case Lojtari_fitoj(0, 4, 8): lojëtëpërfunduara mintLojtari_fitoj, 1
Case Lojtari_fitoj(0, 3, 6): lojëtëpërfunduara mintLojtari_fitoj, 2
Case Lojtari_fitoj(1, 4, 7): lojëtëpërfunduara mintLojtari_fitoj, 3
Case Lojtari_fitoj(2, 5, 8): lojëtëpërfunduara mintLojtari_fitoj, 4
Case Lojtari_fitoj(2, 4, 6): lojëtëpërfunduara mintLojtari_fitoj, 5
Case Lojtari_fitoj(3, 4, 5): lojëtëpërfunduara mintLojtari_fitoj, 6
Case Lojtari_fitoj(6, 7, 8): lojëtëpërfunduara mintLojtari_fitoj, 7
Case Else: If Not Lojëbarazim Then radhaekompjuterit
End Select
End Sub
Figura 4.29 Strategjia e fitores së lojtarit
Private Function Lojtari_fitoj(pintPos1 As Integer, _
pintPos2 As Integer, _
pintPos3 As Integer) _
As Boolean
Kjo rutinë përcakton nëse lojtari ka fituar, nga një testimi prej 8 mënyrave të mundshme për të fituar
'Nëse ndonjë fushë në konfigurimin e testuar është bosh, lojtari ende nuk ka fituar...
If lblBox(pintPos1).Caption = "" _
Or lblBox(pintPos2).Caption = "" _
Or lblBox(pintPos3).Caption = "" Then
Lojtari_fitoj = False
Else
Nëse tre kuadrate kanë vlera të njëjtë, atëherë lojtari ka fituar,përndryshe lojë është ende në progres ...
If lblBox(pintPos1).Caption = lblBox(pintPos2).Caption _
And lblBox(pintPos1).Caption = lblBox(pintPos3).Caption Then
Lojtari_fitoj = True
Else
Lojtari_fitoj = False
End If
End If
End Function
Funksioni i llogaritjes së lojrave të luajtura,lojtave të fituar,lojrave të humbura dhe lojrave të dala barazim si
dhe shfaqja e tekst mesazhit:”Ju fituat”,”Ju humbët”,”Loja barazim”.
Private Sub lojëtëpërfunduara(pintGameOutcome As Integer, _
Optional pintLineIndex As Integer)
Kjo rutinë tregon një mesazh që tregon se loja përfundoi si: (lojtar ose ka fituar,ose ka humbur,ose ka dal barazim Ajo
gjithashtu përditëson statistikat e lojës.
Dim strOutcomeMsg As String
If pintGameOutcome =
mintlojëbarazim Then
strOutcomeMsg = "Loja barazim
!!!"
mintlojëbarazim = mintlojëbarazim + 1
Else
linWin(pintLineIndex).Visible = True
If pintGameOutcome =
mintKompjuteri_fitoj Then
strOutcomeMsg = "Ju humbët !!!"
mintlojëtëhumbura =
mintlojëtëhumbura + 1
Else
strOutcomeMsg = "Ju fituat !!!"
mintlojëtëfituara =
mintlojëtëfituara + 1 End If
End If
lblWins.Caption =
strOutcomeMsg
lblWins.Visible = True
Figura 4.30 Statistikat e lojës dhe shfaqja e
tekstmesazhit:”Ju fituat”.
Funksioni i rishfaqes së butonit ‘Luaj përsëri’
tmrFlash.Enabled = True
cmdluajpërsëri.Enabled = True
Funksioni i rezultateve të lojës
Update-timi i statistikave të lojës ...
mintlojëtëluajtura = mintlojëtëluajtura + 1
lbllojëtëluajtura.Caption = CStr(mintlojëtëluajtura)
lbllojëtëfituara.Caption = CStr(mintlojëtëfituara) Figura 4.30.1 Statistikat e lojës dhe shfaqja e
lbllojëtëhumbura.Caption = CStr(mintlojëtëhumbura) tekst mesazhit: ”Ju humbët”,
lbllojëbarazim.Caption = CStr(mintlojëbarazim)
mblnlojëtëpërfunduara = True
End Sub
Figura 4.30.2 Statistikat e lojës dhe shfaqja e tekst
mesazhit: ”Loja barazim”.
Ndërtimi i funksionit “Luaj përsëri”
'************************************************************************************'
Ngjarjet e komandave të butonave
************************************************************************************
Kjo rutinë kryen të gjitha detyrat e nevojshme për nisur një lojë të re ...
Private Sub fillo_Lojë_të_re() Private
Sub cmdluajpërsëri_Click()
fillo_Lojë_të_re
End Sub
Private Sub Form_Load()
CenterForm Me
fillo_Lojë_të_re
End Sub
Figura 4. 31 Funksioni i komandës “Luaj përsëri”.
Ndërtimi i funksionit “Mbyll Lojën” dhe shfaqa e tabelës konfirmuse: “je i sigurt që do të dalësh
nga loja?”
Private Sub cmdmbyll_Click()
Unload Me
End Sub
Private Sub Form_Unload(fshije As Integer)
If MsgBox("je i sigurt që do të dalësh nga loja?", _
vbYesNo + vbQuestion, _
"Mbyll Tic Tac Toe") = vbNo Then
fshije = 1
End If
End Sub
Figura 4. 32 Funksioni i komandës “Mbyll lojën” dhe shfaqja e tabelës së konfirmimit.
Referencat
1. Patrick HenryWinston, ArtificialIntelligence, third edition,
Addison- Wesley.
2. ualberta.ca/~zhao/cchess/
3. MsKaterina Pastra, Human Computer Interaction and Graphical
Interfaces, University of Sheffield.
4. Jakob Nielsen, Usability Engineering, AP Professional
5. Joseph P. Bigus and Jennifer Bigus, Constructing Intelligent Agents withJava,
John Wiley
6. Thevbprogrammer.com
Detyrë Kursi Inteligjenca Artificiale ne animim.docx

Contenu connexe

Similaire à Detyrë Kursi Inteligjenca Artificiale ne animim.docx

CIKLI I ZHVILLIMIT TE SOFTWARE (TIK 12)
CIKLI I ZHVILLIMIT TE SOFTWARE (TIK 12)CIKLI I ZHVILLIMIT TE SOFTWARE (TIK 12)
CIKLI I ZHVILLIMIT TE SOFTWARE (TIK 12)GERTAFERRO1
 
Praksat e mira të përdorshmërisë së web aplikacioneve përmes mjeteve të përmb...
Praksat e mira të përdorshmërisë së web aplikacioneve përmes mjeteve të përmb...Praksat e mira të përdorshmërisë së web aplikacioneve përmes mjeteve të përmb...
Praksat e mira të përdorshmërisë së web aplikacioneve përmes mjeteve të përmb...Metamorphosis
 
Orientim Karriere ne IT, programim, data & design
Orientim Karriere ne IT, programim, data & designOrientim Karriere ne IT, programim, data & design
Orientim Karriere ne IT, programim, data & designtctal
 
teknologjia informative / Ligjerata 5
teknologjia informative / Ligjerata 5teknologjia informative / Ligjerata 5
teknologjia informative / Ligjerata 5ilir 1122
 
Puna me internet (Komunikimet)
Puna me internet (Komunikimet)Puna me internet (Komunikimet)
Puna me internet (Komunikimet)LeonitaLikaj1
 
Tema perfundimisht
Tema perfundimishtTema perfundimisht
Tema perfundimishtMustaf Ameti
 
Qasja pedagogjike e të mësuarit të teknologjisë se si ta përdorim atë
Qasja pedagogjike e të mësuarit të teknologjisë se si ta përdorim atëQasja pedagogjike e të mësuarit të teknologjisë se si ta përdorim atë
Qasja pedagogjike e të mësuarit të teknologjisë se si ta përdorim atëSarandShijaku
 
Monitoring: of Systems and applications ; single site & multi - site
Monitoring: of Systems and applications ; single site & multi - site Monitoring: of Systems and applications ; single site & multi - site
Monitoring: of Systems and applications ; single site & multi - site Kushtrim Cakolli
 
PROJEKTIMI I PROGRAMIT PËR MENAXHIM TË DOKUMENTACIONIT NË SHKOLLAT E MESME TË...
PROJEKTIMI I PROGRAMIT PËR MENAXHIM TË DOKUMENTACIONIT NË SHKOLLAT E MESME TË...PROJEKTIMI I PROGRAMIT PËR MENAXHIM TË DOKUMENTACIONIT NË SHKOLLAT E MESME TË...
PROJEKTIMI I PROGRAMIT PËR MENAXHIM TË DOKUMENTACIONIT NË SHKOLLAT E MESME TË...UBT - Higher Education Institution
 
Punim seminarik sistemet informative –sistemi informatik dhe siguria në rrjet...
Punim seminarik sistemet informative –sistemi informatik dhe siguria në rrjet...Punim seminarik sistemet informative –sistemi informatik dhe siguria në rrjet...
Punim seminarik sistemet informative –sistemi informatik dhe siguria në rrjet...Shpejtim Rudi
 
PHP Day at UNICEF Lab of Kosova
PHP Day at UNICEF Lab of KosovaPHP Day at UNICEF Lab of Kosova
PHP Day at UNICEF Lab of KosovaFlamur Mavraj
 
Visual basic leksionet e mia
Visual basic leksionet e miaVisual basic leksionet e mia
Visual basic leksionet e miaMarkelian Laho
 

Similaire à Detyrë Kursi Inteligjenca Artificiale ne animim.docx (20)

Ti ku ne edukim
Ti ku ne edukimTi ku ne edukim
Ti ku ne edukim
 
CIKLI I ZHVILLIMIT TE SOFTWARE (TIK 12)
CIKLI I ZHVILLIMIT TE SOFTWARE (TIK 12)CIKLI I ZHVILLIMIT TE SOFTWARE (TIK 12)
CIKLI I ZHVILLIMIT TE SOFTWARE (TIK 12)
 
Praksat e mira të përdorshmërisë së web aplikacioneve përmes mjeteve të përmb...
Praksat e mira të përdorshmërisë së web aplikacioneve përmes mjeteve të përmb...Praksat e mira të përdorshmërisë së web aplikacioneve përmes mjeteve të përmb...
Praksat e mira të përdorshmërisë së web aplikacioneve përmes mjeteve të përmb...
 
Orientim Karriere ne IT, programim, data & design
Orientim Karriere ne IT, programim, data & designOrientim Karriere ne IT, programim, data & design
Orientim Karriere ne IT, programim, data & design
 
ligjerata.ppt
ligjerata.pptligjerata.ppt
ligjerata.ppt
 
ligjerata.ppt
ligjerata.pptligjerata.ppt
ligjerata.ppt
 
teknologjia informative / Ligjerata 5
teknologjia informative / Ligjerata 5teknologjia informative / Ligjerata 5
teknologjia informative / Ligjerata 5
 
Sisteme operative
Sisteme operativeSisteme operative
Sisteme operative
 
Rreth android
Rreth androidRreth android
Rreth android
 
Puna me internet (Komunikimet)
Puna me internet (Komunikimet)Puna me internet (Komunikimet)
Puna me internet (Komunikimet)
 
Tema perfundimisht
Tema perfundimishtTema perfundimisht
Tema perfundimisht
 
Qasja pedagogjike e të mësuarit të teknologjisë se si ta përdorim atë
Qasja pedagogjike e të mësuarit të teknologjisë se si ta përdorim atëQasja pedagogjike e të mësuarit të teknologjisë se si ta përdorim atë
Qasja pedagogjike e të mësuarit të teknologjisë se si ta përdorim atë
 
Programet aplikative
Programet aplikative Programet aplikative
Programet aplikative
 
Monitoring: of Systems and applications ; single site & multi - site
Monitoring: of Systems and applications ; single site & multi - site Monitoring: of Systems and applications ; single site & multi - site
Monitoring: of Systems and applications ; single site & multi - site
 
PROJEKTIMI I PROGRAMIT PËR MENAXHIM TË DOKUMENTACIONIT NË SHKOLLAT E MESME TË...
PROJEKTIMI I PROGRAMIT PËR MENAXHIM TË DOKUMENTACIONIT NË SHKOLLAT E MESME TË...PROJEKTIMI I PROGRAMIT PËR MENAXHIM TË DOKUMENTACIONIT NË SHKOLLAT E MESME TË...
PROJEKTIMI I PROGRAMIT PËR MENAXHIM TË DOKUMENTACIONIT NË SHKOLLAT E MESME TË...
 
Punim seminarik sistemet informative –sistemi informatik dhe siguria në rrjet...
Punim seminarik sistemet informative –sistemi informatik dhe siguria në rrjet...Punim seminarik sistemet informative –sistemi informatik dhe siguria në rrjet...
Punim seminarik sistemet informative –sistemi informatik dhe siguria në rrjet...
 
PHP Day at UNICEF Lab of Kosova
PHP Day at UNICEF Lab of KosovaPHP Day at UNICEF Lab of Kosova
PHP Day at UNICEF Lab of Kosova
 
Visual basic leksionet e mia
Visual basic leksionet e miaVisual basic leksionet e mia
Visual basic leksionet e mia
 
Ligjerata 5
Ligjerata 5Ligjerata 5
Ligjerata 5
 
Leksion_C.ppt
Leksion_C.pptLeksion_C.ppt
Leksion_C.ppt
 

Detyrë Kursi Inteligjenca Artificiale ne animim.docx

  • 1. Tema: “Inteligjenca Artificiale ne animim” Abstrakt Fusha e inteligjencës artificiale është një fushë e gjerë dhe është e përfshirë në shumë aplikacione të dobishme që kanë një përdorim të gjerë në jetën e përditshme moderne. Kompleksiteti i teknikave të inteligjencës artificiale përfshihet gjerësisht në disa programe të rëndësishme kompjuterike. Teknikat e hapësirës së kërkimit në zbatime të përditshme kanë nevojë për një skicim të detajuar të objektit ose projekteve në terren dhe këto shpesh nuk janë të lehtë për të kuptuar, dhe ajo që është perceptuar si animacion grafik mund të shërbej si mënyrë mësimdhënie në këtë temë. Në këtë temë do të trajtojmë krijimin e një loje aplikative dhe hapat që duhen ndjekur për realizimin e kësaj loje duke u bazuar në inteligjencën artificiale dhe Human-computer-interactive (HCI) Fjalët kyçe : Inteligjencë Artificiale,aplikacioni tic-tac-toe (loja) Human-computer-interactive(HCI)
  • 2. Hyrje Inteligjenca artificiale është krijuar si term për herë të parë nga ekspertët më të mirë në një konferencë kërkimore të mbajtur në Dartmouth në vitin 1958. Interesi përreth IA(Inteligjenca Artificiale) është bazuar në mendimin se, krijimi i makinave inteligjente e ka bërë jetën tonë më të lehtë, më të sigurtë, dhe më të kënaqshme. Për të tjerët kjo ka qenë një mendim i gabuar dhe here-here shqetësues për shkak të problemeve eventuale mes njerëzve dhe makinave inteligjente, e cila është theksuar shpesh nga mediat,sidomos në filma. Pas lindjes së IA, pritjet e shtypit dhe publikut ishin shumë të larta. Megjithatë, progresi në fushën e IA nuk ka qenë aq i shpejtë siç ishte menduar fillimisht. Sot, IA është përdorur në një gamë të gjerë të aplikacioneve. Këto shkojnë nga algoritmet biologjike deri në sistemet logjikë, dhe në bazë të sistemeve të shpërndara përmes internetit ,përmes kërkimeve dhe kontrollit me anë të robotikës kompjuretike.Në shumicën e këtyre aplikacioneve përfshihen algoritme tepër komplekse. 'Teknikat Artificiale Inteligjente "janë drejtuar nga Profesor Phil Green në Universitetin e Sheffield. Kjo është përforcuar me një program të gjendjeve të kërkimit shkruar në gjuhën e programimit Java. Qëllimi i këtij projekti është të krijojë programe softuer-ike, të cilat tregojnë grafikisht punimet e hapësirës dhe teknikave të ndryshme të gjendjeve gjatë kërkimit duke përdorur animacione kompjuterike. Programet do të formojnë mjete mësimore të dizajnuara për të përcjellë nocione dhe metodologji të gjithanshme për një përdorues,në një mënyrë sa më efektive. Në një përpjekje për të mbajtur vëmendjen e përdoruesve për aq kohë sa të jetë e mundur, mjetet e të mësuarit duhet të jenë sa më interaktive të jetë e mundur, duke i dhënë një shumëllojshmëri opsioneve gjatë përdorimit të tyre. Idealisht programet softuerike duhet të jenë të përfshira në një botë të gjerë në web... Me këto koncepte të ideuara,është shpresuar se mjetet e të mësuarit do të ndihmojë studentët të kuptojnë më shpejtë materialin e dhënë dhe mënyrën e krijimit të tij , në të njëjtën kohë duke e bërë atë më të këndshëm.Studentët do të kenë mundësinë për të shprehur mendimet e tyre mbi të, këto mendime do të analizohen dhe do të veprohet në përputhje me rrethanat. Kërkesat dhe analizë Me kërkesat dhe analizë nënkuptojmë analizën e qëllimeve dhe objektivave të këtij projekti. Kjo është një vlerësim i asaj që projekti ka qëllim që të arrijë. Dizajni Dizajni paraqet pamjen e jashtme të softwer-it të krijuar në këtë projekt,duke e paraqitur me anë të kodit që kemi krijuar,kompiluesin ,zhvillimi dhe ecuria e tij, dhe për të shfaqur teknikat e kërkimit në mënyrë më efektive. Një pjesë e kësaj teme është idea,dizajni, projektimi që është i përgjithshëm dhe testimi në këtë projekt. Pas kësaj, softwar-i do të zbatohet në fusha specifike problemore,ku përfshihen,hartimi i kodit dhe ndërfaqja e përdoruesit. Aplikacioni dhe testimi i tij Testimi dhe rezultatet : diskutohet strategjia pas testimit të aplikacionit të krijuar. Ajo jep rezultatet e mbledhura ,reagimet nga përdoruesit e softwar-it dhe interpretim e asaj që është përpjekur të realizoj.
  • 3. ∙ Vlerësimi dhe konkluzioni Një vlerësim i projektit në tërësi , i cili nxjerr në mënyrë të përmbledhur arritjet kryesore të projektit. Gjithashtu, dështimet dhe kritikat e projektit janë të diskutueshme.Këtu unë shpreh opinionet e mia për këtë projekt dhe sugjeroj fushat për përmirësim. Planet për punë të mëtejshme që mund të bëhen për të zgjeruar këtë projekt janë gjithashtu të përfshir 2. Kërkesat dhe Analiza 2.1 Kërkesat funksionale Ky kapitull nxjerr kërkesat e detajuara të këtij projekti, qëllimet dhe objektivat që shpresojmë se do të arrihen. 2.2 Ndërveprimi kompjuter-njeri Bashkëveprimi(interaktivë) i kompjuter-njeri HCI (Human-Computer Interactive) është disiplina që ka të bëjë me hartimin, vleresimin dhe implementimin e sistemet informatikë interaktive për përdorim njerëzor dhe me studimin e fenomeneve kryesore përreth tyre . Nëse një program ka një ndërfaqe popullore është e mundshme që të shërbejë si një faktor i madh pozitiv në ankesën e përgjithshëm me përdoruesit. Që një software i prodhuar do të mund të përdoret për të mësuar, ndërsa ndërfaqja e përdoruesit duhet të jetë e thjeshtë në mënyrë që përdoruesit të shpenzojnë sa më pak kohë të jetë e mundur për të mësuarit se si të përdorin sistemin. Atributet e përdorshmërisë Guru Nielsen përcaktoj që çështja në HCI të jetë se si përdoruesit mund të bëjnë përdorimin e funksioneve të një sistemi. Ai përcakton përdorshmërin me këto atribute: • Të nxënit(mësuarit): sistemi duhet të jetë i lehtë për t’u mësuar në mënyrë që përdoruesi mund të mësoj shpejtë nga mundësit që ofron sistemi. • Efikasiteti: sistemi duhet të jetë efikas për t'u përdorur, kështu që sapo përdoruesi ka mësuar sistemin, produktiviteti i individit të jetë i një niveli më të lartë. • I paharrueshëm: sistemi duhet të jetë i lehtë për të kujtuar, në mënyrë që përdorues të ndryshëm të jenë në gjendje të kthehen në sistem, pas një periudhe kohe, pa pasur nevojë ti rikthehen përsëri nga fillimi. • Gabimet: sistemi duhet të ketë një normë të ulët gabimi, në mënyrë që kur përdoruesit bëjnë disa gabime gjatë përdorimit të sistemit, këto gabime të rregullohen lehtësisht dhe sa më shpejtë. Duhet të tregoj, që “këtu ka ndodhur një gabim”. • Kënaqshmëria: Sistemi duhet të jetë i këndshme për t'u përdorur, në mënyrë që përdoruesit të jenë të kënaqur subjektivishtë kur përdorin atë,pra ta pëlqejnë atë Parimet e përdorshmërisë Nielsen rekomandon parimet e mëposhtme për dezenjimin e ndërfaqes së përdoruesit: • Dialog i thjeshtë dhe natyrore: dialogu nuk duhet të përmbajë informacion që është i parëndësishme, ose pak e nevojshme.Të gjitha informatat duhet të paraqiten në një mënyrë të natyrshme dhe logjike. • Flisni gjuhën e përdoruesit : dialogu duhet të shprehet qartë në fjalët, frazat, dhe konceptet e njohur për përdoruesit. • Minimizimi i ngarkesës (Load) në kujtesë: ky përdorues duhet të mbaj mend informatat nga një pjesë e dialogut në një tjetër. Udhëzime për përdorimin e sistemit duhet të jenë të dukshme ose të shikohen lehtësisht sa herë të jetë e mundur dhe e nevojshme. • Lidhja logjike: përdoruesit nuk duhet të pyes veten nëse fjalë të ndryshme, situata, ose veprime të thonë të njëjtën gjë. • Reagimi: sistemi duhet të mbaj gjithmonë të informuar përdoruesit në lidhje me atë që po ndodh, përmes reagimeve të përshtatshme brenda një kohe të arsyeshme. • Daljet e shënuara qartë: përdoruesit shpesh bëjnë gabime në sistem gjatë aplikimit ose ekzekutimit të programit apo software-it dhe do të ketë nevojë për një "dalje emergjente duke lënë hapësira të padëshiruar, pa pasur nevojë të shkojë përmes një dialogu të zgjeruar. • Shortcuts(shkurtore): përshpejton bashkëveprimin ndërmjet përdoruesit dhe sistemit ose softwar-it në mënyrë të tillë që sistemi mund të kujdeset për të dy përdoruesit,atë
  • 4. ekspert dhe atë papërvojë. • Parandalimi gabimeve: duhet të krijohet një dizajn që shfaqet në formë teksti i cili parandalon kryerjen e një gabimi nga përdoruesi gjatë përdorimit. • Ndihma dhe dokumentacioni: sistemi mund të përdoret pa dokumentacion,pra nuk është e nevojshme në aplikim. Por çdo aplikacion ose software është i shoqëruar gjithonë me një manual përdorimi dhe me liçencë. Ligji ’ Fitts ' Ligji ‘Fitts' ka të bëjë me kohën që duhet për të vënë një një objekt në ndërfaqen grafike të tij. Pra,koha që i duhet një objekti në saj të distancës dhe madhësisë së objektit ". Ky ligj mund të jetë i dobishëm në një ndërfaqje për shkak të komponentëve interaktive të tilla si madhësia e butonave sa është e mundur praktikisht dhe sa më afër për zonat që tregohet nga pajisja, kjo do tu japi përdoruesve kontroll të shpejtë. 3. Dizajni 3.1 Mbështetja e Kompjuterit në mësimdhënie Shkenca e mbështetjes së kompjuterit në mësimdhënie Cal (Computer astitment learning) ka të bëjë me hartimin dhe zhvillimin e një mjeti kompjuterikë që është prodhuar për të edukuar. Idet në këtë fushë janë të rëndësishme sepse projekti ka një pedagogji bazë. "Kur kemi të bëjmë me zhvillimin e Web-it në të mësuar ... Një nga faktorët më të rëndësishëm për t’u marr në konsideratë është mbajtja e vëmendjes së nxënësve dhe të angazhojnë mendjen e tyre si dhe kohë të mjaftueshme për të mësuar çfarë ndodhë". Theksojmë disa dallime të mëposhtme të mëdha midis materiale mësimore në web dhe të mësuarit bazuar në letër (ose libra): • Materialet për dizajnin: përdoruesit e materialeve mësimore web nuk duhet të shikojnë vetëm informatat që janë të pranishëm për ta, ata kanë nevojë për të bashkëvepruar në mënyrë interaktive. Dizajni juaj duhet të përfshijë materialet ndërveprimi , imazhe dhe koncepte që përcjellin funksione dhe ide për përdoruesin dhe kuptimin dizajnit në ekranin e kompjuterit. • Dizajni organizative: ka shumë arsye themelore organizative për të bërë nënndarjen e çdo informacioni në pjesët e saj përbërëse. Çdo organ i njohurive për t'u përdorur në një mjedis të internetit duhet të jenë të dizajnuara në mënyrë që numri i variablave në minimum. Kjo është bërë duke përdorur një kombinim të dizajnit grafik dhe faqeve së bashku me ndarjen e informacionit në njësitë e saj diskrete. • Dizenjimi i faqes: organizimi hapësinorë i grafikës dhe tekstit në një mjedis me bazë Web duhet të ndihmojë të angazhohen nxënësit ne të mësuarin e tyre, por gjithashtu duhet të drejtojnë vëmendjen e nxënësve , të ndihmojnë ata të bëjnë informacion si prioritetin dhe ndërveprimet e tyre më të këndshme dhe të efektshme. • Dizajni grafik: optimizmi i pamjes dhe përvoja e të mësuarit në web është i rëndësishëm për efikasitetin e përgjithshëm të sistemit të të mësuarit. Përdorimi i një menuje të plotë dhe të qartë në ekran, sepse për shembull, nxënësit mund të ndjejë një ngarkesë grafike dhe nuk arrin të kuptoj lidhjen logjike të menusë dhe programit . Për të shmangur këtë ne do të duhet të marrim në konsideratë një strategji projektimit që ju tërheq nxënësit në materiale me kohët arsyeshme.
  • 5. Tabela 3.1 zhvillimin e një shprehjes dhe dëgjimit pakete Cal (Computer-Assisted Learning), jep udhëzime të projektimit kryesore. Përkufizimi Udhëzimi Interaktive Përdoruesi mund të bëjë më shumë sesa thjesht të shtypni butona dhe të shikoj rezultatin(pra mund të japi ide ose zgjidhje të problemit). I menjëhershëm Nëse është e mundur, sistemi reagon ndaj veprimeve të përdoruesit në kohë reale. Eksploruese Një seksion i rëndësishëm janë parametrat themelor të hapësirës ndaj ndonjë efekti ose proceset që janë vënë në dispozicion për përdoruesit për manipulim të drejtpërdrejtë. Uniform Të ndiqet një stil i qëndrueshme në projektimin e ndërfaqes Lehtësia në Nëse është e mundur, aktivizimi i drejtpërdrejtë i objekteve përdorim Dokumenti i Dokumentacion gjithëpërfshirës dhe uniforme HTML është në nevojshëm. dispozicion për secilin demostrim, të plotë me sugjerimet për eksplorim dhe lexim të mëtejshëm. Tabela 3.1 – udhëzimet e dizajnit Cal Është e qartë se pikat e dhëna në këtë tabelë synojnë prodhimin e një softuer-i që i jep çdo përdoruesi mundësi më të mëdha për të mësuar dhe vënë ide përpara. Ata respektohen kur prodhimet e softwar-i kanë një natyre edukative. 3.2 Testimi Një pjesë e rëndësishme e projektit është testimi ku mblidhet çdo informacion në lidhje me përdoruesit dhe sistemit.Duke kërkuar pyetje të hapura është një mënyrë e mirë për të arritur reagime nga përdoruesit rreth aspekteve të veçanta të sistemit, të tilla si: "Përshkruani kush funksione,janë më të bezdisshëm në sistem", ose "Kush janë aspektet që favorizojnë sistemin? ". Për fat të keq,shpesh përdoruesit mund të kërkojnë përgjigje që janë të vështirë për t’u interpretuar. Shkallët e pyetjeve Në mënyrë që të shohim reagimet e përdoruesve duhet theksuar pyetja : sa pajtohen apo nuk pajtohen me këtë projekt,duke pasur parasysh se mundësitë e përgjigjeve janë : 1 = plotësisht dakort, 2 = pjesërisht dakord, 3 = as dakord as kundër, 4 = fuqimisht dakord, Mirë do ishte të krijonit një pyetje të tillë ,si më mëposhtme: "A ishte shumë e lehtë për të mësuar se si të përdorni këtë sistem?" Unë mendojë se ky sistem më lejon për të arritur produktivitet më të lartë. Përfundimi Është e mundshme që një kombinim i pyetje të hapura dhe përgjigjeve të kthyera të jenë të mjaftueshme për të nxjerrë mendimet e përdoruesve.
  • 6. 4. Aplikacioni 4.1 Loja tic-tak-toe Tic-tac-toe është një lojë klasike për fëmijë që përforcon paragjykimet tona drejt një realitet klasike. Ajo është luajtur nbi një tabel e ndarë në 9 fusha ku çdo fushë përmban disa element (ose kuadrata në të).Kjo është një lojë e thjeshtë por shumë intuitive,duke u përpjekur të jesh fituesi i kësaj loje me disa lëvizje dhe zgjedhje të menduara mirë. 4.2 Qëllimi Loja tic-tac-toe të jep mundësin që të mendosh dhe logjikosh në mënyrë mekanike,edhe pse mund të duket shumë e thjeshtë çdo lëvizje duhet menduar dhe vepruar duke parë dhe lëvizjen e kundërshtarit (p.sh përdoruesi me kompjuterin ose mes dy lojtarëve). Loja ka rregullat e saj nga ku mund të ndjekësh dhe zbatosh për të vazhduar lojën duke arritur deri në fitore . Një lojë e ka potencialin për të lejuar që lojtarët të jenë fillestar ose të jenë të dy me përvojë. Nga ku në lojë fton një angazhim krijuese. 4.3 Rregullat Tic-tac-toe është luajtur në një tabel të thjeshtë , dhe luhet nga dy lojtarë ,ku lojtari i parë ka shënjuesin X,ndërsa lojtari i dytë ka shënjuesin O,lojtari i parë me shënjuesin X bën përzgjedhjen e parë. Pas kësaj e merr radhën lojtari i dytë,dhe më pas loja luhet me radhë duke vazhduar dhe përzgjedhur çdo kuadrat të tabelës derisa njeri prej lojtarëve arrin të shenoj deri në tre shënjues (me X për lojtarin e parë dhe me O për lojtarin e dytë) në mënyrë horizontale,vertikale ose dhe ne mënyrë diagonale.Nëse kjo nuk arrihet atehere në lojë nuk ka fitues dhe loja nbyllet në barazim. 4.4 Algoritmi i lojës tic-tac-toe (pseudo-kodi) 1.Fillo 2.Shiko për një vend për të shënuar treshen i pari për të dal fitimtarë në lojë. 3.Nëse gjendet : filloj të realizoj objektivat e synuara. 4.Nëse nuk u gjet: shikoni që kundërshtarët mos të realizojnë shënimin e treshes së mundshme. 5.Nëse gjenden: të krijoj pengesa që kundërshtari të arrijë fitoren. 6.Nëse nuk u gjet: të shënoj një shenjë, kështu që ekziston mundësia e realizimit të një treshe. 7.Shko në hapin 1.
  • 7. 4.5 Aplikoacioni Ndërtimi i formës dhe funksioneve (kodit) së lojës në Microsoft Visual Basic 4.5.1 Krijim i formës së tabelës hyrse Pasi kemi instaluar programin Microsoft Visual Basic 6.0 dhe e hapim atë,krijojmë një formë e cila do të jetë dhe forma hyrëse e lojës që do të krijojmë. Pas kësaj fillojmë të ndërtojmë strukturën e lojës duke filluar nga ndërfaqa,atributet dhe funksionet e çdo butoni apo ngjarjeje e cila nevojitet për realizimin e këtij projekti (ose aplikacion).Figura 4.2 dhe 4.3 tregon krijimin e një forme teksti në tabelën hyrëse të lojës me atributet e saj. Krijojmë formën tjetër në të cilën përdoruesit i jepet një opsion mbi të cilin ai duhet të zgjedh nëse do të luaj duke marr ‘X’ apo ‘O’ gjatë kohës që do luajë.Figura 4.4 tregon në formën e një teksti dhe opsionin mbi të cilin lojtari(ose përdoruesi)duhet të zgjedh Pema e kërkimit për realizimin e një loje tic-tac-toe
  • 8. duke klikuar mbi ‘X’ ose ‘O Krijojmë butonin ‘OK’ i cili do të mundësoj fillimin e lojës. Figura 4.1 tregon formën hyrëse të lojës. Kodi realizon klikimin e butonit ‘OK’ i cili mundëson fillimin e lojës Tic-tac-toe Forma e nisjes së lojës për tic-tac-toe .Përdoruesi zgjedh nëse ai ose ajo dëshiron të jetë "X" ose "O"(duke zgjedhur butonin e duhur opsional)Dhe pastaj klikon OK. Private Sub Form_Load() CenterForm Me End Sub Private Sub cmdOK_Click() gstrPlayerLetter = IIf(zgjidhXoseO(0).Value, "X", "O") gstrComputerLetter = IIf(gstrPlayerLetter = "X", "O", "X") frmTicTacToe.Show Unload Me End Sub Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single) End Sub
  • 9. Ndërtojmë 9 kuadrata brënda tabelës që krijuam duke i dhënë atributet dhe funksione për secilin prej tyre. 4.5.2. Krijim i formës së tabelës së lojës Tic-tac-toe Krijojmë përsëri një formë e cila do shërbej për krijimin e lojës tic-tac-toe.
  • 10. Krijojmë butonin ‘Luaj përsëri’ e cila do të shërbej për të rinisur loja pasi ka mbaruar loja e parë. Figura 4.14 Krijimi i butonit ‘Luaj përsëri’ Kodi i funksionit të butonit ‘Luaj përsëri '******************************************************* ***************************** '* Ngjarjet e komandave të butonave '*************************************************** **** ***************************** Private Sub cmdluajpërsëri_Click() fillo_Lojë_të_re
  • 11. End Sub Gjithashtu krijojmë dhe një buton i cili bën mbylljen e lojës me anë të komandës ‘Mbyll lojën’ Figura 4.16 Krijimi i butonit ‘Mbyll lojën’ ∙ Kodi i funksionit të butonit ‘Mbyll lojën’ Private Sub cmdmbyll_Click() Unload Me End Sub Figura 4.17 Atributet e butonit ‘Mbyll lojën’ Krijojmë gjithashtu disa funksione të cilat llogarisin disa statistika të lojës si: lojrat e luajtura,lojra të humbura,lojra të fituar si dhe lojra të cilat dalin barazim Figura 4.18 Statistika të lojës Figura4.15 Atributet e butonit “luaj perseri”
  • 12. Figura 4.19 Forma e plotë e lojës Tic-tac-toe
  • 13. Krijimi i funksionit të numërimit të lojrave të luajtura. Figura 4.20 Numërimit të lojrave të luajtura Kodi i funksionit të lojrave të luajtura Private Sub Label12_Click() End Sub Figura 4.21 Atributet e numërimit të lojrave të luajtura Ndërtojmë një funksion ’Timer’, i cili shërben si një tekst mesazh që shfaqet sa herë që lojtari humbet,fiton apo del barazim. Figura 4.22 Krijimi i ‘timer’ Figura 4.24 Shfaqja e tekst mesazhit nga funksioni ‘timer’ Figura 4.23 Atributet e ‘timer’ ∙ Kodi i funksionit‘timer’ Ngjarja e llogaritjes së kohës Private Sub tmrFlash_Timer() 'Timer-i aktivizohet(ose shfaqet) kur loja mbaron. Në çdo interval kohe, Ajo shfaqet në kuadratet lblWins, i cili raporton rezultatin e lojës ("ju fituat", "ju humbet", "ju barazuat")... lblWins.Visible = Not lblWins.Visible
  • 15. 4.5.3. Ndërtimi i funksioneve (kodi) të lojës tic-tac-toe në Microsoft Visual Basic Fillimisht bëjmë deklarimet për çdo funksion që do të krijojmë Option Explicit '************************************************************************************ '* Moduli-Deklararimi i niveleve të ndryshme * '************************************************************************************ Private mintlojëtëluajtura As Integer Private mintlojëtëfituara As Integer Private mintlojëtëhumbura As Integer Private mintlojëbarazim As Integer Private mblnlojëtëpërfunduara As Boolean Private mintGameOutcome As Integer Private Const mintLojë_barazim As Integer = 0 Private Const mintKompjuteri_fitoj As Integer = 1 Private Const mintLojtari_fitoj As Integer = 2 Pasi kemi zgjedhur opsionin ‘X’ ose ‘O’ në formën hyrëse të lojës Tic-tac-toe klikojmë mbi butoni ‘OK’ për të nisur lojën dhe do na shfaqet një mesazh në formë teksti se kush do të nisë lojën i pari (kompjuteri apo përdoruesi).Në këtë rast përdoruesi ka zgjedhur shënjuesin me shënjë ‘X’ . Këtu kompjuteri i cili do shënjoj i pari në kuadrat.
  • 16. Figura 4.25 Shfaqja e tekst mesazhit Pasi shtypim butonin ‘OK’ Figura 4.26 Shënjon Kompjuteri i pari Private Sub fillo_Lojë_të_re( ) ' ' Kjo rutinë kryen të gjitha detyrat e nevojshme për nisur një lojë të re Dim intX As Integer Dim intGoesFirst As Integer Randomize intGoesFirst = Int(2 * Rnd + 1) 'Informon përdoruesin se cili do shënjoj i pari. Nëse është kompjuteri, ai shënjon i pari... If intGoesFirst = 1 Then MsgBox "Kompjuteri do të shënjoj i pari.", , "Lojë e re" radhaekompjuterit Else MsgBox "Ju do të shënjoni i pari.", , "Lojë e re" End If End Sub ' Kjo rutinë zbaton strategjinë e kompjuterit për të bërë një lëvizje Private Sub radhaekompjut erit() Dim intX As Integer Dim blnMoveMade As Boolean 'Së pari, të shohim nëse kompjuteri mund të fitojë me këtë lëvizje duke vendosur "X" Ose "O"brenda në 1 nga sekuencat 8 mundshme për të fituar. Nëse është kështu,shpallë atë fitues. If Kompjuteri_fitoj(0, 1, 2) Then lojëtëpërfunduara mintKompjuteri_fitoj, 0: Exit Sub If Kompjuteri_fitoj(0, 4, 8) Then lojëtëpërfunduara mintKompjuteri_fitoj, 1: Exit Sub If Kompjuteri_fitoj(0, 3, 6) Then lojëtëpërfunduara mintKompjuteri_fitoj, 2: Exit Sub If Kompjuteri_fitoj(1, 4, 7) Then lojëtëpërfunduara mintKompjuteri_fitoj, 3: Exit Sub If Kompjuteri_fitoj(2, 5, 8) Then lojëtëpërfunduara mintKompjuteri_fitoj, 4: Exit Sub If Kompjuteri_fitoj(2, 4, 6) Then lojëtëpërfunduara mintKompjuteri_fitoj, 5: Exit Sub If Kompjuteri_fitoj(3, 4, 5) Then
  • 17. lojëtëpërfunduara mintKompjuteri_fitoj, 6: Exit Sub If Kompjuteri_fitoj(6, 7, 8) Then lojëtëpërfunduara mintKompjuteri_fitoj, 7: Exit Sub Figura 4.27 Strategjia e fitores së lojës nga kompjuteri
  • 18. Private Function Kompjuteri_fitoj(pintPos1 As Integer, _ pintPos2 As Integer, _ pintPos3 As Integer) _ As Boolean ' Kjo rutinë përcakton nëse kompjuteri mund të fitojë në këtë lëvizje nga testimi për një vend të hapur brenda një sekuence në njërën prej 8 mënyrave të mundshme për të fituar ... If lblBox(pintPos1).Caption = "" _ And lblBox(pintPos2).Caption = gstrComputerLetter _ And lblBox(pintPos3).Caption = gstrComputerLetter Then lblBox(pintPos1).Caption = gstrComputerLetter Kompjuteri_fitoj = True Exit Function End If If lblBox(pintPos1).Caption = gstrComputerLetter _ And lblBox(pintPos2).Caption = "" _ And lblBox(pintPos3).Caption = gstrComputerLetter Then lblBox(pintPos2).Caption = gstrComputerLetter Kompjuteri_fitoj = True Exit Function End If If lblBox(pintPos1).Caption = gstrComputerLetter _ And lblBox(pintPos2).Caption = gstrComputerLetter _ And lblBox(pintPos3).Caption = "" Then lblBox(pintPos3).Caption = gstrComputerLetter Kompjuteri_fitoj = True Exit Function End If Kompjuteri_fitoj = False End Function 'Në qoftë se kompjuteri nuk mund të fitojë me këtë lëvizje, të shohim nëse lojtari mund të fitojë në lëvizjen e tij ose 'merr masa të bllokosh kompjuterin,duke marr një barazim"
  • 19. If Kompjuteribllokon(0, 1, 2) Then Lojëbarazim: Exit Sub If Kompjuteribllokon(0, 4, 8) Then Lojëbarazim: Exit Sub If Kompjuteribllokon(0, 3, 6) Then Lojëbarazim: Exit Sub If Kompjuteribllokon(1, 4, 7) Then Lojëbarazim: Exit Sub If Kompjuteribllokon(2, 5, 8) Then Lojëbarazim: Exit Sub If Kompjuteribllokon(2, 4, 6) Then Lojëbarazim: Exit Sub If Kompjuteribllokon(3, 4, 5) Then Lojëbarazim: Exit Sub If Kompjuteribllokon(6, 7, 8) Then Lojëbarazim: Exit Sub 'Në qoftë se ne shënojmë këtu, kompjuteri nuk mund të fitojë me këtë lëvizje dhe nuk është e nevojshme ta bllokojmë. Prandaj, zgjidhni një vend strategjik për të vendosur shënjuesin e kompjuterit ... blnMoveMade = True Së pari shkojmë për kuadratin e mesit ... Figura 4.28 Strategjia e bllokimit të kompjuterit për fituar lojën dhe për të dal barazim If lblBox(4).Caption = "" Then lblBox(4).Caption = gstrComputerLetter ndryshe provoni në pjesën e majtë sipër ... ElseIf lblBox(0).Caption = "" Then lblBox(0).Caption = gstrComputerLetter ndryshe provoni në pjesën e e djathtë sipër ... ElseIf lblBox(2).Caption = "" Then lblBox(2).Caption = gstrComputerLetter ndryshe provoni në këndin poshtë majtas ... ElseIf lblBox(6).Caption = "" Then lblBox(6).Caption = gstrComputerLetter ndryshe provoni në këndin poshtë djathtas ... ElseIf lblBox(8).Caption = "" Then lblBox(8).Caption = gstrComputerLetter 'përndryshe, në qoftë se kuadrati i mesit është zënë , të shënjoj e majtë ose e djathta e tij... ElseIf lblBox(4).Caption = gstrComputerLetter Then If lblBox(3).Caption = "" Then lblBox(3).Caption = gstrComputerLetter ElseIf lblBox(5).Caption = "" Then lblBox(5).Caption = gstrComputerLetter Else blnMoveMade = False End If Else blnMoveMade = False End If 'Në qoftë se ne nuk mund të bëjmë asnjë nga veprimet e mësipërme, thjesht përdorim levizjen e mëtejshme... If Not blnMoveMade Then For intX = 0 To 8 If lblBox(intX).Caption = "" Then lblBox(intX).Caption = gstrComputerLetter Exit For End If Next End If Kontrollo nëse lëvizja e kompjuterit shkakton fundin e lojës ose barazon ... Lojëbarazim End Sub
  • 20. Funksioni i cili realizon bllokimin e lojtarit nga ana e kompjuterit për të arritur fitoren apo barazimin Private Function Kompjuteribllokon(pintPos1 As Integer, _ pintPos2 As Integer, _ pintPos3 As Integer) _ As Boolean Kjo rutinë përcakton nëse kompjuteri duhet të bllokojë lojtarin duke e parandaluar atë nga fitorja në lëvizjen e tij të ardhshëme ... If lblBox(pintPos1).Caption = "" _ And lblBox(pintPos2).Caption = gstrPlayerLetter _ And lblBox(pintPos3).Caption = gstrPlayerLetter Then lblBox(pintPos1).Caption = gstrComputerLetter Kompjuteribllokon = True Exit Function End If If lblBox(pintPos1).Caption = gstrPlayerLetter _ And lblBox(pintPos2).Caption = "" _ And lblBox(pintPos3).Caption = gstrPlayerLetter Then lblBox(pintPos2).Caption = gstrComputerLetter Kompjuteribllokon = True Exit Function End If If lblBox(pintPos1).Caption = gstrPlayerLetter _ And lblBox(pintPos2).Caption = gstrPlayerLetter _ And lblBox(pintPos3).Caption = "" Then lblBox(pintPos3).Caption = gstrComputerLetter Kompjuteribllokon = True Exit Function End If Kompjuteribllokon = False End Function Ndërtimi i funksionit të lojtarit fitues. Kontrollo për të parë nëse lojtari ka fituar duke testuar mënyrat e mundshme për të fituar ose barazuar me këtë lëvizje .'Nëse lojtari fitoi,”Loja mbaroj" ,përndryshe radhën e ka kompjuteri... Select Case True Case Lojtari_fitoj(0, 1, 2): lojëtëpërfunduara mintLojtari_fitoj, 0 Case Lojtari_fitoj(0, 4, 8): lojëtëpërfunduara mintLojtari_fitoj, 1 Case Lojtari_fitoj(0, 3, 6): lojëtëpërfunduara mintLojtari_fitoj, 2 Case Lojtari_fitoj(1, 4, 7): lojëtëpërfunduara mintLojtari_fitoj, 3 Case Lojtari_fitoj(2, 5, 8): lojëtëpërfunduara mintLojtari_fitoj, 4 Case Lojtari_fitoj(2, 4, 6): lojëtëpërfunduara mintLojtari_fitoj, 5 Case Lojtari_fitoj(3, 4, 5): lojëtëpërfunduara mintLojtari_fitoj, 6 Case Lojtari_fitoj(6, 7, 8): lojëtëpërfunduara mintLojtari_fitoj, 7 Case Else: If Not Lojëbarazim Then radhaekompjuterit End Select End Sub
  • 21. Figura 4.29 Strategjia e fitores së lojtarit Private Function Lojtari_fitoj(pintPos1 As Integer, _ pintPos2 As Integer, _ pintPos3 As Integer) _ As Boolean Kjo rutinë përcakton nëse lojtari ka fituar, nga një testimi prej 8 mënyrave të mundshme për të fituar 'Nëse ndonjë fushë në konfigurimin e testuar është bosh, lojtari ende nuk ka fituar... If lblBox(pintPos1).Caption = "" _ Or lblBox(pintPos2).Caption = "" _ Or lblBox(pintPos3).Caption = "" Then Lojtari_fitoj = False Else Nëse tre kuadrate kanë vlera të njëjtë, atëherë lojtari ka fituar,përndryshe lojë është ende në progres ... If lblBox(pintPos1).Caption = lblBox(pintPos2).Caption _ And lblBox(pintPos1).Caption = lblBox(pintPos3).Caption Then Lojtari_fitoj = True Else Lojtari_fitoj = False End If End If End Function Funksioni i llogaritjes së lojrave të luajtura,lojtave të fituar,lojrave të humbura dhe lojrave të dala barazim si dhe shfaqja e tekst mesazhit:”Ju fituat”,”Ju humbët”,”Loja barazim”. Private Sub lojëtëpërfunduara(pintGameOutcome As Integer, _ Optional pintLineIndex As Integer) Kjo rutinë tregon një mesazh që tregon se loja përfundoi si: (lojtar ose ka fituar,ose ka humbur,ose ka dal barazim Ajo gjithashtu përditëson statistikat e lojës.
  • 22. Dim strOutcomeMsg As String If pintGameOutcome = mintlojëbarazim Then strOutcomeMsg = "Loja barazim !!!" mintlojëbarazim = mintlojëbarazim + 1 Else linWin(pintLineIndex).Visible = True If pintGameOutcome = mintKompjuteri_fitoj Then strOutcomeMsg = "Ju humbët !!!" mintlojëtëhumbura = mintlojëtëhumbura + 1 Else strOutcomeMsg = "Ju fituat !!!" mintlojëtëfituara = mintlojëtëfituara + 1 End If End If lblWins.Caption = strOutcomeMsg lblWins.Visible = True Figura 4.30 Statistikat e lojës dhe shfaqja e tekstmesazhit:”Ju fituat”. Funksioni i rishfaqes së butonit ‘Luaj përsëri’ tmrFlash.Enabled = True cmdluajpërsëri.Enabled = True Funksioni i rezultateve të lojës Update-timi i statistikave të lojës ... mintlojëtëluajtura = mintlojëtëluajtura + 1 lbllojëtëluajtura.Caption = CStr(mintlojëtëluajtura) lbllojëtëfituara.Caption = CStr(mintlojëtëfituara) Figura 4.30.1 Statistikat e lojës dhe shfaqja e lbllojëtëhumbura.Caption = CStr(mintlojëtëhumbura) tekst mesazhit: ”Ju humbët”, lbllojëbarazim.Caption = CStr(mintlojëbarazim) mblnlojëtëpërfunduara = True End Sub
  • 23. Figura 4.30.2 Statistikat e lojës dhe shfaqja e tekst mesazhit: ”Loja barazim”.
  • 24. Ndërtimi i funksionit “Luaj përsëri” '************************************************************************************' Ngjarjet e komandave të butonave ************************************************************************************ Kjo rutinë kryen të gjitha detyrat e nevojshme për nisur një lojë të re ... Private Sub fillo_Lojë_të_re() Private Sub cmdluajpërsëri_Click() fillo_Lojë_të_re End Sub Private Sub Form_Load() CenterForm Me fillo_Lojë_të_re End Sub Figura 4. 31 Funksioni i komandës “Luaj përsëri”. Ndërtimi i funksionit “Mbyll Lojën” dhe shfaqa e tabelës konfirmuse: “je i sigurt që do të dalësh nga loja?” Private Sub cmdmbyll_Click() Unload Me End Sub Private Sub Form_Unload(fshije As Integer) If MsgBox("je i sigurt që do të dalësh nga loja?", _ vbYesNo + vbQuestion, _ "Mbyll Tic Tac Toe") = vbNo Then fshije = 1 End If End Sub
  • 25. Figura 4. 32 Funksioni i komandës “Mbyll lojën” dhe shfaqja e tabelës së konfirmimit.
  • 26. Referencat 1. Patrick HenryWinston, ArtificialIntelligence, third edition, Addison- Wesley. 2. ualberta.ca/~zhao/cchess/ 3. MsKaterina Pastra, Human Computer Interaction and Graphical Interfaces, University of Sheffield. 4. Jakob Nielsen, Usability Engineering, AP Professional 5. Joseph P. Bigus and Jennifer Bigus, Constructing Intelligent Agents withJava, John Wiley 6. Thevbprogrammer.com