|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.12.2010, 00:52 | #1 |
Регистрация: 22.11.2010
Сообщений: 3
|
ТочкаГрафика
Задача в том,что бы падающая фигурка(точка) при столкновении с препятствием,падала уже...как бы это сказать...по другой траектории.Вот кусок кода.Обьясните пожалуйста в чем сдесь смысл и можно ли это написать как-нибудь иначе?
S[i][j]-массив точек dx-смещение точки влево,если нажата клавиша <- int smeshenie=random(5)-2+dx; for (int p=0;p<=abs(smeshenie);p++) { S[i][j].x+=smeshenie; if (getpixel(S[i][j].x,S[i][j].y)==WHITE || getpixel(S[i][j].x,S[i][j].y)==GREEN || getpixel(S[i][j].x,S[i][j].y)==RED || getpixel(S[i][j].x,S[i][j].y)==LIGHTGRAY) { //ravn=0; if (S[i][j].y>=0) { for (int xk=0;xk<m;xk++) for (int yk=0;yk<n;yk++) //if ((S[xk][yk].x==S[i][j].x) && (S[xk][yk].y==S[i][j].y) && ((xk!=i) || (yk!=j))) { S[i][j].color=S[xk][yk].color; ravn=1; break; } if (ravn==1) break; if ((ravn==0) && (S[i][j].y>0)) { if (((getpixel(S[i][j].x-smeshenie-1,S[i][j].y+1)!=BLACK) || (getpixel(S[i][j].x-smeshenie+1,S[i][j].y+1)!=BLACK)) && (getpixel(S[i][j].x-smeshenie,S[i][j].y+1)!=BLACK) && ((getpixel(S[i][j].x-smeshenie-1,S[i][j].y+2)!=BLACK) && (getpixel(S[i][j].x-smeshenie+1,S[i][j].y+2)!=BLACK))) { putpixel(S[i][j].x-smeshenie,S[i][j].y,WHITE); S[i][j].y=0; S[i][j].x=random(mx); S[i][j].color=BLACK; break; } else { S[i][j].x-=2*smeshenie; break; } } |