|
|
knolici.PAS |
|
{* Kрестики-нолики *}Unit KNOLICI;Interface Implementation Begin writeln('Игра крестики-нолики на поле 3*3'); End. Program XO; Uses knolici.pas; {* Эту строку можно удалить *} {neped 3anyckom co3dat' Fail "a.txt"} Uses CRT, graph; {* Подключаем внешние файлы *} Var {* Необходимые переменные *} Q : byte; item : 1..3; quit : boolean; i1 : byte; a1 : byte; i2 : byte; a2 : byte; i3 : byte; a3 : byte; i4 : byte; a4 : byte; i5 : byte; x1 : byte; x2 : byte; x3 : byte; x4 : byte; x5 : byte; x6 : byte; x7 : byte; x8 : byte; x9 : byte; o1 : byte; o2 : byte; o3 : byte; o4 : byte; o5 : byte; o6 : byte; o7 : byte; o8 : byte; o9 : byte; S : String; F : Text; name : Text; driver : integer; mode : integer; Procedure WriteFile(s : String); Begin assign(f, 'a.txt'); {* Привязка переменной f к файлу 'a.txt' *} append(f); {* Подготовка переменной f для добавления строк в файл *} write(f, s, ' '); close(f); {* Закрыть файл f *} End; Procedure check; Begin If (i1 = 1)Or(i2 = 1)Or(i3 = 1)Or(i4 = 1)Or(i5 = 1) Then x1 := 1; If (i1 = 2)Or(i2 = 2)Or(i3 = 2)Or(i4 = 2)Or(i5 = 2) Then x2 := 2; If (i1 = 3)Or(i2 = 3)Or(i3 = 3)Or(i4 = 3)Or(i5 = 3) Then x3 := 3; If (i1 = 4)Or(i2 = 4)Or(i3 = 4)Or(i4 = 4)Or(i5 = 4) Then x4 := 4; If (i1 = 5)Or(i2 = 5)Or(i3 = 5)Or(i4 = 5)Or(i5 = 5) Then x5 := 5; If (i1 = 6)Or(i2 = 6)Or(i3 = 6)Or(i4 = 6)Or(i5 = 6) Then x6 := 6; If (i1 = 7)Or(i2 = 7)Or(i3 = 7)Or(i4 = 7)Or(i5 = 7) Then x7 := 7; If (i1 = 8)Or(i2 = 8)Or(i3 = 8)Or(i4 = 8)Or(i5 = 8) Then x8 := 8; If (i1 = 9)Or(i2 = 9)Or(i3 = 9)Or(i4 = 9)Or(i5 = 9) Then x9 := 9; {///gopu3oHt} If (x1 = 1) And (x2 = 2) And (x3 = 3) Then Q := 1 Else Q := 0; If (Q = 1) Then outtext(' win x '); If (Q = 1) Then Readkey; {* Ждем нажатия любой клавиши *} Repeat Until keypressed; {* После нажатия любой клавиши цикл остановится *} If (Q = 1) Then closegraph; If (Q = 1) Then writeln('BBedute 3 dla Buxoda'); If (x4 = 4) And (x5 = 5) And (x6 = 6) Then Q := 1 Else Q := 0; If (Q = 1) Then outtext(' win x '); If (Q = 1) Then Readkey; {* Ждем нажатия пользователя *} Repeat Until keypressed; {* После нажатия любой клавиши цикл остановится *} If (Q = 1) Then closegraph; If (Q = 1) Then writeln('BBedute 3 dla Buxoda'); If (x7 = 7) And (x8 = 8) And (x9 = 9) Then Q := 1 Else Q := 0; If (Q = 1) Then outtext(' win x '); If (Q = 1) Then Readkey; {* Нажмите любую клавишу *} Repeat Until keypressed; {* Ждем нажатия клавиши *} If (Q = 1) Then closegraph; If (Q = 1) Then writeln('BBedute 3 dla Buxoda'); {gopuzoHT///} {////BepTukal} If (x1 = 1) And (x4 = 4) And (x7 = 7) Then Q := 1 Else Q := 0; If (Q = 1) Then outtext(' win x '); If (Q = 1) Then Readkey; {* Нажмите любую клавишу *} Repeat Until keypressed; {* Ждем нажатия клавиши *} If (Q = 1) Then closegraph; If (Q = 1) Then writeln('BBedute 3 dla Buxoda'); If (x2 = 2) And (x5 = 5) And (x8 = 8) Then Q := 1 Else Q := 0; If (Q = 1) Then outtext(' win x '); If (Q = 1) Then Readkey; {* Ждем нажатия любой клавиши *} Repeat Until keypressed; {* Ждем нажатия клавиши *} If (Q = 1) Then closegraph; If (Q = 1) Then writeln('BBedute 3 dla Buxoda'); If (x3 = 3) And (x6 = 6) And (x9 = 9) Then Q := 1 Else Q := 0; If (Q = 1) Then outtext(' win x '); If (Q = 1) Then Readkey; {* Ждем нажатия любой клавиши *} Repeat Until keypressed; {* Цикл, пока не нажата клавиша *} If (Q = 1) Then closegraph; If (Q = 1) Then writeln('BBedute 3 dla Buxoda'); {BepYukal///} {////X} If (x1 = 1) And (x5 = 5) And (x9 = 9) Then Q := 1 Else Q := 0; If (Q = 1) Then outtext(' win x '); If (Q = 1) Then Readkey; {* Ждем нажатия пользователя *} Repeat Until keypressed; {* Ждем нажатия клавиши *} If (Q = 1) Then closegraph; If (Q = 1) Then writeln('BBedute 3 dla Buxoda'); If (x3 = 3) And (x7 = 7) And (x5 = 5) Then Q := 1 Else Q := 0; If (Q = 1) Then outtext(' win x '); If (Q = 1) Then Readkey; {* Ждем нажатия любой клавиши *} Repeat Until keypressed; {* Ждем нажатия клавиши *} If (Q = 1) Then closegraph; If (Q = 1) Then writeln('BBedute 3 dla Buxoda'); {X////} If (a1 = 1)Or(a2 = 1)Or(a3 = 1)Or(a4 = 1) Then o1 := 1; If (a1 = 2)Or(a2 = 2)Or(a3 = 2)Or(a4 = 2) Then o2 := 2; If (a1 = 3)Or(a2 = 3)Or(a3 = 3)Or(a4 = 3) Then o3 := 3; If (a1 = 4)Or(a2 = 4)Or(a3 = 4)Or(a4 = 4) Then o4 := 4; If (a1 = 5)Or(a2 = 5)Or(a3 = 5)Or(a4 = 5) Then o5 := 5; If (a1 = 6)Or(a2 = 6)Or(a3 = 6)Or(a4 = 6) Then o6 := 6; If (a1 = 7)Or(a2 = 7)Or(a3 = 7)Or(a4 = 7) Then o7 := 7; If (a1 = 8)Or(a2 = 8)Or(a3 = 8)Or(a4 = 8) Then o8 := 8; If (a1 = 9)Or(a2 = 9)Or(a3 = 9)Or(a4 = 9) Then o9 := 9; {///gopu3oHt} If (o1 = 1) And (o2 = 2) And (o3 = 3) Then Q := 1 Else Q := 0; If (Q = 1) Then outtext(' win o '); If (Q = 1) Then Readkey; {* Ждем нажатия пользователя *} Repeat Until keypressed; {* После нажатия любой клавиши цикл остановится *} If (Q = 1) Then closegraph; If (Q = 1) Then writeln('BBedute 3 dla Buxoda'); If (o4 = 4) And (o5 = 5) And (o6 = 6) Then Q := 1 Else Q := 0; If (Q = 1) Then outtext(' win o '); If (Q = 1) Then Readkey; {* Ждем нажатия пользователя *} Repeat Until keypressed; {* Ждем нажатия клавиши *} If (Q = 1) Then closegraph; If (Q = 1) Then writeln('BBedute 3 dla Buxoda'); If (o7 = 7) And (o8 = 8) And (o9 = 9) Then Q := 1 Else Q := 0; If (Q = 1) Then outtext(' win o '); If (Q = 1) Then Readkey; {* Нажмите любую клавишу *} Repeat Until keypressed; {* Цикл, пока не нажата клавиша *} If (Q = 1) Then closegraph; If (Q = 1) Then writeln('BBedute 3 dla Buxoda'); {gopuzoHT///} {////BepTukal} If (o1 = 1) And (o4 = 4) And (o7 = 7) Then Q := 1 Else Q := 0; If (Q = 1) Then outtext(' win o '); If (Q = 1) Then Readkey; {* Нажмите любую клавишу *} Repeat Until keypressed; {* После нажатия любой клавиши цикл остановится *} If (Q = 1) Then closegraph; If (Q = 1) Then writeln('BBedute 3 dla Buxoda'); If (o2 = 2) And (o5 = 5) And (o8 = 8) Then Q := 1 Else Q := 0; If (Q = 1) Then outtext(' win o '); If (Q = 1) Then Readkey; {* Ждем нажатия пользователя *} Repeat Until keypressed; {* Цикл, пока не нажата клавиша *} If (Q = 1) Then closegraph; If (Q = 1) Then writeln('BBedute 3 dla Buxoda'); If (o3 = 3) And (o6 = 6) And (o9 = 9) Then Q := 1 Else Q := 0; If (Q = 1) Then outtext(' win o '); If (Q = 1) Then Readkey; {* Ждем нажатия пользователя *} Repeat Until keypressed; {* Цикл, пока не нажата клавиша *} If (Q = 1) Then closegraph; If (Q = 1) Then writeln('BBedute 3 dla Buxoda'); {BepYukal///} {////X} If (o1 = 1) And (o5 = 5) And (o9 = 9) Then Q := 1 Else Q := 0; If (Q = 1) Then outtext(' win o '); If (Q = 1) Then Readkey; {* Ждем нажатия пользователя *} Repeat Until keypressed; {* Ждем нажатия клавиши *} If (Q = 1) Then closegraph; If (Q = 1) Then writeln('BBedute 3 dla Buxoda'); If (o3 = 3) And (o7 = 7) And (o5 = 5) Then Q := 1 Else Q := 0; If (Q = 1) Then outtext(' win o '); If (Q = 1) Then Readkey; {* Нажмите любую клавишу *} Repeat Until keypressed; {* После нажатия любой клавиши цикл остановится *} If (Q = 1) Then closegraph; If (Q = 1) Then writeln('BBedute 3 dla Buxoda'); {X////} End; Procedure Game; Begin Q := 0; driver := detect; initgraph(driver, mode, ''); line(100, 100, 400, 100); line(200, 100, 200, 400); line(100, 100, 100, 400); line(100, 400, 400, 400); line(400, 400, 400, 100); {яюых} line(100, 200, 400, 200); line(100, 300, 400, 300); line(300, 100, 300, 400); readln(i1); {яхЁт√ щ ╒ } If i1 = 1 Then line(109, 391, 191, 309); If i1 = 1 Then line(109, 309, 191, 391); If i1 = 2 Then line(209, 391, 291, 309); If i1 = 2 Then line(209, 309, 291, 391); If i1 = 3 Then line(391, 391, 309, 309); If i1 = 3 Then line(309, 391, 391, 309); If i1 = 4 Then line(109, 209, 191, 291); If i1 = 4 Then line(109, 291, 191, 209); If i1 = 5 Then line(209, 209, 291, 291); If i1 = 5 Then line(291, 209, 209, 291); If i1 = 6 Then line(309, 209, 391, 291); If i1 = 6 Then line(309, 291, 391, 209); If i1 = 7 Then line(109, 109, 191, 191); If i1 = 7 Then line(109, 191, 191, 109); If i1 = 8 Then line(209, 109, 291, 191); If i1 = 8 Then line(209, 191, 291, 109); If i1 = 9 Then line(309, 109, 391, 191); If i1 = 9 Then line(309, 191, 391, 109); readln(a1); {╧ хЁт√ щ ъЁєу} If i1 = a1 Then closegraph; If i1 = a2 Then closegraph; If i1 = a3 Then closegraph; If i1 = a4 Then closegraph; If a1 = 1 Then circle(150, 350, 40); If a1 = 2 Then circle(250, 350, 40); If a1 = 3 Then circle(350, 350, 40); If a1 = 4 Then circle(150, 250, 40); If a1 = 5 Then circle(250, 250, 40); If a1 = 6 Then circle(350, 250, 40); If a1 = 7 Then circle(150, 150, 40); If a1 = 8 Then circle(250, 150, 40); If a1 = 9 Then circle(350, 150, 40); readln(i2); If i2 = 1 Then line(109, 391, 191, 309); If i2 = 1 Then line(109, 309, 191, 391); If i2 = 2 Then line(209, 391, 291, 309); If i2 = 2 Then line(209, 309, 291, 391); If i2 = 3 Then line(391, 391, 309, 309); If i2 = 3 Then line(309, 391, 391, 309); If i2 = 4 Then line(109, 209, 191, 291); If i2 = 4 Then line(109, 291, 191, 209); If i2 = 5 Then line(209, 209, 291, 291); If i2 = 5 Then line(291, 209, 209, 291); If i2 = 6 Then line(309, 209, 391, 291); If i2 = 6 Then line(309, 291, 391, 209); If i2 = 7 Then line(109, 109, 191, 191); If i2 = 7 Then line(109, 191, 191, 109); If i2 = 8 Then line(209, 109, 291, 191); If i2 = 8 Then line(209, 191, 291, 109); If i2 = 9 Then line(309, 109, 391, 191); If i2 = 9 Then line(309, 191, 391, 109); readln(a2); If i1 = a1 Then closegraph; If i1 = a2 Then closegraph; If i1 = a3 Then closegraph; If i1 = a4 Then closegraph; If i2 = a1 Then closegraph; If i2 = a2 Then closegraph; If i2 = a3 Then closegraph; If i2 = a4 Then closegraph; If a2 = 1 Then circle(150, 350, 40); If a2 = 2 Then circle(250, 350, 40); If a2 = 3 Then circle(350, 350, 40); If a2 = 4 Then circle(150, 250, 40); If a2 = 5 Then circle(250, 250, 40); If a2 = 6 Then circle(350, 250, 40); If a2 = 7 Then circle(150, 150, 40); If a2 = 8 Then circle(250, 150, 40); If a2 = 9 Then circle(350, 150, 40); readln(i3); If i3 = 1 Then line(109, 391, 191, 309); If i3 = 1 Then line(109, 309, 191, 391); If i3 = 2 Then line(209, 391, 291, 309); If i3 = 2 Then line(209, 309, 291, 391); If i3 = 3 Then line(391, 391, 309, 309); If i3 = 3 Then line(309, 391, 391, 309); If i3 = 4 Then line(109, 209, 191, 291); If i3 = 4 Then line(109, 291, 191, 209); If i3 = 5 Then line(209, 209, 291, 291); If i3 = 5 Then line(291, 209, 209, 291); If i3 = 6 Then line(309, 209, 391, 291); If i3 = 6 Then line(309, 291, 391, 209); If i3 = 7 Then line(109, 109, 191, 191); If i3 = 7 Then line(109, 191, 191, 109); If i3 = 8 Then line(209, 109, 291, 191); If i3 = 8 Then line(209, 191, 291, 109); If i3 = 9 Then line(309, 109, 391, 191); If i3 = 9 Then line(309, 191, 391, 109); check; readln(a3); If i1 = a1 Then closegraph; If i1 = a2 Then closegraph; If i1 = a3 Then closegraph; If i1 = a4 Then closegraph; If i2 = a1 Then closegraph; If i2 = a2 Then closegraph; If i2 = a3 Then closegraph; If i2 = a4 Then closegraph; If i3 = a1 Then closegraph; If i3 = a2 Then closegraph; If i3 = a3 Then closegraph; If i3 = a4 Then closegraph; If a3 = 1 Then circle(150, 350, 40); If a3 = 2 Then circle(250, 350, 40); If a3 = 3 Then circle(350, 350, 40); If a3 = 4 Then circle(150, 250, 40); If a3 = 5 Then circle(250, 250, 40); If a3 = 6 Then circle(350, 250, 40); If a3 = 7 Then circle(150, 150, 40); If a3 = 8 Then circle(250, 150, 40); If a3 = 9 Then circle(350, 150, 40); check; readln(i4); If i4 = 1 Then line(109, 391, 191, 309); If i4 = 1 Then line(109, 309, 191, 391); If i4 = 2 Then line(209, 391, 291, 309); If i4 = 2 Then line(209, 309, 291, 391); If i4 = 3 Then line(391, 391, 309, 309); If i4 = 3 Then line(309, 391, 391, 309); If i4 = 4 Then line(109, 209, 191, 291); If i4 = 4 Then line(109, 291, 191, 209); If i4 = 5 Then line(209, 209, 291, 291); If i4 = 5 Then line(291, 209, 209, 291); If i4 = 6 Then line(309, 209, 391, 291); If i4 = 6 Then line(309, 291, 391, 209); If i4 = 7 Then line(109, 109, 191, 191); If i4 = 7 Then line(109, 191, 191, 109); If i4 = 8 Then line(209, 109, 291, 191); If i4 = 8 Then line(209, 191, 291, 109); If i4 = 9 Then line(309, 109, 391, 191); If i4 = 9 Then line(309, 191, 391, 109); check; readln(a4); If i1 = a1 Then closegraph; If i1 = a2 Then closegraph; If i1 = a3 Then closegraph; If i1 = a4 Then closegraph; If i2 = a1 Then closegraph; If i2 = a2 Then closegraph; If i2 = a3 Then closegraph; If i2 = a4 Then closegraph; If i3 = a1 Then closegraph; If i3 = a2 Then closegraph; If i3 = a3 Then closegraph; If i3 = a4 Then closegraph; If i4 = a1 Then closegraph; If i4 = a2 Then closegraph; If i4 = a3 Then closegraph; If i4 = a4 Then closegraph; If a4 = 1 Then circle(150, 350, 40); If a4 = 2 Then circle(250, 350, 40); If a4 = 3 Then circle(350, 350, 40); If a4 = 4 Then circle(150, 250, 40); If a4 = 5 Then circle(250, 250, 40); If a4 = 6 Then circle(350, 250, 40); If a4 = 7 Then circle(150, 150, 40); If a4 = 8 Then circle(250, 150, 40); If a4 = 9 Then circle(350, 150, 40); check; readln(i5); If i1 = a1 Then closegraph; If i1 = a2 Then closegraph; If i1 = a3 Then closegraph; If i1 = a4 Then closegraph; If i2 = a1 Then closegraph; If i2 = a2 Then closegraph; If i2 = a3 Then closegraph; If i2 = a4 Then closegraph; If i3 = a1 Then closegraph; If i3 = a2 Then closegraph; If i3 = a3 Then closegraph; If i3 = a4 Then closegraph; If i4 = a1 Then closegraph; If i4 = a2 Then closegraph; If i4 = a3 Then closegraph; If i4 = a4 Then closegraph; If i5 = a1 Then closegraph; If i5 = a2 Then closegraph; If i5 = a3 Then closegraph; If i5 = a4 Then closegraph; If i5 = 1 Then line(109, 391, 191, 309); If i5 = 1 Then line(109, 309, 191, 391); If i5 = 2 Then line(209, 391, 291, 309); If i5 = 2 Then line(209, 309, 291, 391); If i5 = 3 Then line(391, 391, 309, 309); If i5 = 3 Then line(309, 391, 391, 309); If i5 = 4 Then line(109, 209, 191, 291); If i5 = 4 Then line(109, 291, 191, 209); If i5 = 5 Then line(209, 209, 291, 291); If i5 = 5 Then line(291, 209, 209, 291); If i5 = 6 Then line(309, 209, 391, 291); If i5 = 6 Then line(309, 291, 391, 209); If i5 = 7 Then line(109, 109, 191, 191); If i5 = 7 Then line(109, 191, 191, 109); If i5 = 8 Then line(209, 109, 291, 191); If i5 = 8 Then line(209, 191, 291, 109); If i5 = 9 Then line(309, 109, 391, 191); If i5 = 9 Then line(309, 191, 391, 109); check; Readkey; {* Ждем нажатия пользователя *} Repeat Until keypressed; {* Цикл, пока не нажата клавиша *} closegraph; End; Procedure Menu; {create menu} Begin ClrScr; {* Очистка экрана *} Writeln ('Kpectuku Holuku'); Writeln('play on NUM-PAD'); Writeln('****Eclu Bo Bpema ugru BBectu 2 pa3a B ODHY u ty#e -*****'); Writeln('****-kletky kpectuk ulu Holuk To eto npuBedet k Buxody*****'); Writeln ('2-Game'); Writeln ('3-Stop Game'); Writeln ('--------------'); Write ('choze item->'); Readln (item); Case item Of 1 : WriteFile(s); 2 : Game; 3 : Quit := true End; End; Begin Writeln('Enter your Name->'); readln(s); WriteFile(s ); quit := false; Repeat Menu Until quit; End..... 07.08.2014 - Breakpoint - точка остановки 07.08.2014 - Топ-10 самых популярных приложений в Facebook 18.11.2013 - Панель управления и персонализация системы. Windows Vista 18.11.2013 - Логические и физические диски. Windows Vista 18.11.2013 - Удаление файлов и папок 01.11.2013 - Программирование дисковых подсистем: возможности 31.10.2013 - Windows8 или Windows7? 31.10.2013 - Windows8, игры |
|
Non-commercial fansite
|