CIVILIS
написал 7 января 2007 года в 18:59 (3281 просмотр)
Ведет себя
неопределенно; открыл 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 декабря в 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
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
м/б в помощь за деньги?
Ты уверен, что это ТВОЯ программа?
Я — нет :)
Но если Вы, уважаемый 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++ я не знал.