Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
TimaXP

Игра Крестики-нолики На Pascal ABC

09.04.2013, 22:31. Показов 36641. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот начал делать прогу. К сожалению доделать не могу( Помогите плиз.
P.S. надо именно дописать. Новую прогу не предлагать. Преподаватель поймет, что не я писал)


Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
program lol;
uses graphabc, crt;
var x,y,x1,y1,x2,y2,f:integer; k1:char;
i,kx,ky,j,h,g,k:integer; fl:boolean;
b:array [1..3,1..3] of integer;
begin
    for i:=1 to 3 do
    for j:=1 to 3 do
    b[i,j]:=0;
    rectangle(60,40,420,400);
    line(80,280,400,280);
    line(80,160,400,160);
    line(180,380,180,60);
    line(300,380,300,60);
    x:=120; y:=100;
    setpencolor(clred);
    circle(x,y,30);
    f:=0;
    
    repeat
    if keypressed then
    begin
       k1:=readkey;
       if (k1=#77) and (x<360) then
       begin
          setpencolor(clblack);
          circle(x,y,30);
          x:=x+120;
          setpencolor(clred);
          circle(x,y,30);
       end;
       if (k1=#80) and (y<=360) then
       begin
          setpencolor(clblack);
          circle(x,y,30);
          y:=y+120;
          setpencolor(clred);
          circle(x,y,30);
       end;
       if (k1=#72) and (y>120) then
       begin
          setpencolor(clblack);
          circle(x,y,30);
          y:=y-120;
          setpencolor(clred);
          circle(x,y,30);
       end;
       if (k1=#75) and (x>120) then
       begin
          setpencolor(clblack);
          circle(x,y,30);
          x:=x-120;
          setpencolor(clred);
          circle(x,y,30);
       end;
       if (k1=#13) then
       begin
            i:=y div 120;
            j:=x div 120;
            if b[i,j]=0 then
            begin
               setpencolor(clred);
 
               floodfill(x,y,clred);
               b[i,j]:=1;
               f:=f+1;
               fl:=false;
               if f>=5 then
               begin
                   if ((b[1,1]=1)and (b[1,2]=1)and (b[1,3]=1)) or
                   ((b[2,1]=1)and (b[2,2]=1)and (b[2,3]=1)) or
                   ((b[3,1]=1)and (b[3,2]=1)and (b[3,3]=1)) or
                   ((b[1,1]=1)and (b[2,2]=1)and (b[3,3]=1)) or
                   ((b[1,1]=1)and (b[2,2]=1)and (b[3,3]=1)) or
                   ((b[1,1]=1)and (b[2,2]=1)and (b[3,3]=1)) or
                   ((b[1,1]=1)and (b[2,2]=1)and (b[3,3]=1)) or
                   ((b[3,1]=1)and (b[2,2]=1)and (b[1,3]=1))
                   then begin
                     gotoxy(550,30);
                     write('Âû ïîáåäèëè!');
                     fl:=true;
                     f:=9;
                   end;
              end;
 
           if f=9 then fl:=true;
           repeat
           randomize;
           if f=1 then
           begin
             kx:=1+random(3);
             ky:=1+random(3);
             i:=ky;
             j:=kx;
             end
             else
             begin
             for h:=1 to 3 do
             begin
             k:=0;
             for g:=1 to 3 do
             begin
             if b[h,g]=1 then k:=k+1;
             if b[h,g]=0 then j:=g;
             end;
             if k=2 then i:=h;
             end;
             kx:=i;
             ky:=j;
             end;
             
             if b[i,j]=0 then
             begin
               setpencolor(clgreen);
               line(90+120*(kx-1),90+120*(ky-1),150+120*(kx-1),150+120*(ky-1));
               line(90+120*(kx-1),150+120*(ky-1),150+120*(kx-1),90+120*(ky-1));
               
               b[i,j]:=2;
               fl:=true;
               
               f:=f+1;
               if f>=6 then
            begin
            if ((b[1,1]=2)and (b[1,2]=2)and (b[1,3]=2)) or
                   ((b[2,1]=2)and (b[2,2]=2)and (b[2,3]=2)) or
                   ((b[3,1]=2)and (b[3,2]=2)and (b[3,3]=2)) or
                   ((b[1,1]=2)and (b[2,2]=2)and (b[3,3]=2)) or
                   ((b[1,1]=2)and (b[2,2]=2)and (b[3,3]=2)) or
                   ((b[1,1]=2)and (b[2,2]=2)and (b[3,3]=2)) or
                   ((b[1,1]=2)and (b[2,2]=2)and (b[3,3]=2)) or
                   ((b[3,1]=2)and (b[2,2]=2)and (b[1,3]=2))
                   then begin
                   gotoxy(550,30);
                   write('Âû ïðîèãðàëè!');
                   
                   fl:=true;
                   f:=9;
                   end;
                   
                   end;
                     end;
                     until (fl=true);
                     end;
                 end;
                 end;
                 until f=9;
                 
 
 
readln;
 
 
end.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.04.2013, 22:31
Ответы с готовыми решениями:

Игра в крестики-нолики с компьютером
Помогите написать простенькую программу) плиз) очень срочно надо) Заранее спасибо)

Игра "крестики-нолики" беспроигрышная стратегия
Доброго времени суток! Пишу программу в Pascal &quot;крестики-нолики&quot;, осталось 2 пункта, которые никак не додумаю. 1. Прога стопорит, если...

Крестики нолики на Pascal, помогите.
помагите сделать игру составить алгоритм

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.04.2013, 22:31
Помогаю со студенческими работами здесь

Перевести код Pascal ABC NET в Pascal ABC
Помогите, плиз Сделал на Pascal ABC NET, но нужно его открыть в обычном Pascal ABC. Не компилит этот код, помогите исправить. uses ...

Перевод из Pascal ABC.net в Pascal ABC
Помогите, пожалуйста, перевести программу в Pascal ABC с Pascal ABC.net; если не трудно, объясните, почему не компилирует программу Pascal...

Turbo Pascal, Pascal ABC, Free Pascal, PascalABC.NET - в чем разница?
Всем привет, решил изучать Паскаль, но на форуме увидел 4 его версии - Turbo Pascal, Pascal ABC, Free Pascal, PascalABC.NET и не понял, в...

Крестики-нолики
Нужно реализовать в Pascal. Что бы были входные(1.in) и выходные(1.out) данные. ) создать .ехе файл Крестики-нолики Условие...

Крестики-нолики
Как сделать так, чтобы программа могла определять 3 в ряд в крестиках-ноликах?) Спасибо большое


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru