CIVILIS
написал 7 января 2007 года в 18:59 (3387 просмотров)
Ведет себя
неопределенно; открыл 6 тем в форуме, оставил 2 комментария на сайте.
Все такие крутые, а нихрена подсказать не могут. Ребят, я серьезно. Как нарастить хвост змейке имено в моей программе? В долгу не останусь!!!
#include
#include
#include
#include
#include
#include
//------------------------------------------------
void main(void)
{
int gdriver = DETECT, gmode;
initgraph(&gdriver, &gmode, "");
int i, j, x, y, x1, y1, k=0, l, m, r, t;
char s[2], c[31]={"0123456789"};
randomize();
int Ax[63]={10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220,230,240,250,260,270,280,290,300,310,320,330,340,350,360,370,380,390,400,410,420,430,440,450,460,470,480,490,500,510,520,530,540,550,560,570,580,590,600,610,620,630};
int Ay[40]={10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220,230,240,250,260,270,280,290,300,310,320,330,340,350,360,370,380,390,400};
rectangle(13,13,627,397);
s[0]=c[k];
s[1]='\0';
outtextxy(290,450,"Score: ");
outtextxy(347,450,s);
l=random(62);
m=random(39);
if (l==0) l++;
if (l==62) l--;
if (m==0) m++;
if (m==39) m--;
x1=Ax[l];
y1=Ay[m];
i=31;
j=19;
circle(Ax[i],Ay[j],5);
putpixel(Ax[i]-2,Ay[j]-2,15);
putpixel(Ax[i]+2,Ay[j]-2,15);
putpixel(Ax[i],Ay[j],15);
line(Ax[i]-1,Ay[j]+2,Ax[i]+1,Ay[j]+2);
int key;
do
{
setcolor(7);
circle(x1,y1,5);
setfillstyle(1,7);
floodfill(x1,y1,7);
r=i;
t=j;
if(kbhit()) key=getch();
if(key==80) j++;
if(key==72) j--;
if(key==77) i++;
if(key==75) i--;
delay(150);
setcolor(0);
circle(Ax[r],Ay[t],5);
putpixel(Ax[r]-2,Ay[t]-2,0);
putpixel(Ax[r]+2,Ay[t]-2,0);
putpixel(Ax[r],Ay[t],0);
line(Ax[r]-1,Ay[t]+2,Ax[r]+1,Ay[t]+2);
setcolor(7);
circle(Ax[i],Ay[j],5);
putpixel(Ax[i]-2,Ay[j]-2,15);
putpixel(Ax[i]+2,Ay[j]-2,15);
putpixel(Ax[i],Ay[j],15);
line(Ax[i]-1,Ay[j]+2,Ax[i]+1,Ay[j]+2);
if (getpixel(Ax[i]+3,Ay[j])==15 | getpixel(Ax[i]-3,Ay[j])==15 | getpixel(Ax[i],Ay[j]+3)==15 | getpixel(Ax[i],Ay[j]-3)==15)
{
outtextxy(240,200,"Snake left for border");
getch();
closegraph();
}
if (Ax[i]==x1 && Ay[j]==y1)
{
circle(x1,y1,5);
setfillstyle(1,0);
floodfill(x1,y1,0);
l=random(62);
m=random(39);
if (l==0 ) l++;
if (l==62) l--;
if (m==0 ) m++;
if (m==39) m--;
x1=Ax[l];
y1=Ay[m];
circle(x1,y1,5);
setfillstyle(1,7);
floodfill(x1,y1,7);
setcolor(0);
s[0]=c[k++];
s[1]='\0';
outtextxy(347,450,s);
setcolor(7);
s[0]=c[k];
s[1]='\0';
outtextxy(347,450,s);
}
}
while(key!=27);
getch();
closegraph();
}
Последние комментарии
-
OlegL, 17 декабря 2023 года в 15:00 →
Перекличка
21
-
REDkiy, 8 июня 2023 года в 9:09 →
Как «замокать» файл для юниттеста в Python?
2
-
fhunter, 29 ноября 2022 года в 2:09 →
Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt?
6
-
Иванн, 9 апреля 2022 года в 8:31 →
Ассоциация РАСПО провела первое учредительное собрание
1
-
Kiri11.ADV1, 7 марта 2021 года в 12:01 →
Логи catalina.out в TomCat 9 в формате JSON
1
DevOps as a Service from Palark
24/7 SRE & DevOps service to cover all your Kubernetes needs.

м/б в помощь за деньги?
Ты уверен, что это ТВОЯ программа?
Я — нет :)
Но если Вы, уважаемый CIVILIS, сами написали всё это, то Вы сами должны быть в состоянии ответить на Ваш вопрос.
Что за «магические числа» 62, 39?
62 — наименьшее натуральное число, представимое суммой трех квадратов двумя способами.
39 — три делителя этого числа пишутся одними и теми же цифрами.
По теме: странные какие-то хедеры. По-моему, вопрошающий не по адресу. По крайней мере, не по инициализированному адресу.
39 — три делителя этого числа пишутся одними и теми же цифрами.
Делители 39 — 1, 3, 13, 39. Если цыфры 1,3,9 — одни и те же, то мне пора выпить йаду :)
1 3 13 разве не три делителя? :)
а по сути — в этот код лично мне вникать лень. не нравится мне он :)
ОООО дык этож Turbo C++ (Borland C++ 3чегото)
Пудово лаба!
Пригляделся и увидел
void main(void)
…
прослезился. Это ж где такому учат?
В БГТУ
Помнится на первом курсе я тоже писал void main()…
я не повторил печальную судьбу :) пишу int main() :)
если еще чуток подумать ты поймешь что зря ты так пишешь ;)
Какой именно БГТУ?
А это смотря есть ли плюсы… ;)
Брянский
Уффф… я уж было подумал что в моём, в Брестском, так учить начали.
decvar а можно для дурака поподробнее, почему зря и при чем тут плюсы? :) что Страуструп, что Керниган такую запись используют…
но это в случае когда аргументов командной строки нету…
Давай уж я расскажу. В C:
type func_name(void) — функция без аргументов
type func_name() — функция, для которой проверка аргументов отключена вообще.
В C++:
type func_name() == type func_name(void)
P.S. Учите матчасть.
спасибо… про этот финт ушами в C++ я не знал.