Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Теннис, помгите написать или подскажите ресурсы  
V
    Опции темы
Huey
Дата 19.4.2011, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 20.12.2010

Репутация: нет
Всего: нет



надо написать программу где снизу будет ездить платформа. Она должна отбивать мячик и должен вестись счет.

Подскажите как написать, ресурсы которые могут помочь. Либо на С, либо на С++
PM MAIL   Вверх
superkaban
Дата 19.4.2011, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 2.2.2011
Где: Москва

Репутация: нет
Всего: нет



Я думаю ресурсов понадобится баксов 100 за простенький вариант.
Желающие на форуме найдутся.
smile

Формула проста - чем больше ресурсов ($$$), тем больше желающих.
smile

PM MAIL   Вверх
borisbn
Дата 19.4.2011, 14:59 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



лови. это отсюда

Это сообщение отредактировал(а) borisbn - 19.4.2011, 15:00

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  Arcanoid.rar 360,67 Kb


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Huey
Дата 19.4.2011, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 20.12.2010

Репутация: нет
Всего: нет



Спасибо за помощь))
Нашел вариант попроще на С. 
Кому надо:

Код

#include <conio.h>
#include <stdlib.h>
#include <graph.h>

void DrawField()
{
_setcolor(3);
_rectangle( _GFILLINTERIOR, 635, 0, 640,480/2-50);
_rectangle( _GFILLINTERIOR, 635, 480, 640,480/2+50);
_rectangle( _GFILLINTERIOR, 0, 0, 5, 480/2-50);
_rectangle( _GFILLINTERIOR, 0, 480, 5, 480/2+50);
}

void DrawBall(double x, double y)
{
_setcolor(4);
_ellipse( _GFILLINTERIOR, x + 10, y + 10, x - 10, y - 10);
}

void EraseBall(double x, double y)
{
_setcolor(0);
_ellipse( _GFILLINTERIOR, x - 10, y - 10, x + 10, y + 10);
}

void DrawRacket(double x, double y)
{
_setcolor(5);
_rectangle( _GFILLINTERIOR, x - 5, y - 40, x + 5, y + 40 );
}

void EraseRacket(double x, double y)
{
_setcolor(0);
_rectangle( _GFILLINTERIOR, x - 5, y - 40, x + 5, y + 40 );
}

double ballx=150, bally=200, balldx=2, balldy=2;
double racketx=120/2, rackety=480/2;
int oldballx=0, oldbally=0;
int oldracketx=0, oldrackety=0;
int redraw_field=0;

int ProcessBall()
{
int res=0;
ballx+=balldx;
bally+=balldy;
if (ballx+10>633){
           if (bally-10>480/2-50 &&
           bally+10<480/2+50
           ) res=1;
        balldx=-balldx;
        ballx+=balldx;
        redraw_field=1;
        }
if (ballx-10<7) {
           if (bally-10>480/2-50 &&
           bally+10<480/2+50
           ) res=2;
        balldx=-balldx;
        ballx+=balldx;
        redraw_field=1;
        }
if (bally+10>480) balldy=-balldy;
if (bally-10<10) balldy=-balldy;

if (ballx>racketx)
{
 if (ballx-10<racketx+5 &&
     bally+10>rackety-40 &&
     bally-10<rackety+49)
     {
      balldx=-balldx;
      ballx+=balldx;
      DrawRacket(racketx, rackety);
     }
} else
 if (ballx+10>racketx-5 &&
     bally+10>rackety-40 &&
     bally-10<rackety+49)
     {
      balldx=-balldx;
      ballx+=balldx;
      DrawRacket(racketx, rackety);
     }
return res;
}


int should_exit = 0, goal=0;
int goals1=0, goals2=0;
char s[20]="";
char ch;
main()
{
    short mode = _VRES16COLOR;

    _setvideomode( mode );
    DrawField();
    while (!should_exit)
    {
     if (oldballx!=(int)ballx ||
     oldbally!=(int)bally)
     {
     DrawBall(ballx, bally);
     oldballx = ballx;
     oldbally = bally;
     }

     if (oldracketx!=(int)racketx ||
     oldrackety!=(int)rackety)
     {
     DrawRacket(racketx, rackety);
     oldracketx = racketx;
     oldrackety = rackety;
     }

     goal = ProcessBall();
     if (goal){
    if (goal==2) goals1++; else
             goals2++;
    }
     if (oldballx!=(int)ballx ||
     oldbally!=(int)bally)
     EraseBall(oldballx, oldbally);

     if (kbhit())
      {
      ch = getch();
      if (ch==27) should_exit = 1;
      if (ch==80) rackety+=5.0;
      if (ch==72) rackety-=5.0;
      }

     _settextcolor( 7 );
      sprintf(s, "Goals: %d \n  Loses: %d", goals1, goals2 );
     _settextposition(1, 3);
     _outtext( s );

     if (oldracketx!=(int)racketx ||
     oldrackety!=(int)rackety)
     EraseRacket(oldracketx, oldrackety);
     if (redraw_field)
      {
      DrawField();
      redraw_field = 0;
      }
     }
    exit( !_setvideomode( _DEFAULTMODE ) );
}



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0640 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.