Форум программистов, компьютерный форум CyberForum.ru

Движение окружности по диагонали туда и обратно - C++

Восстановить пароль Регистрация
 
fang
Заблокирован
12.10.2013, 21:34     Движение окружности по диагонали туда и обратно #1
Вот написал функцию. Что не правильно в алгоритме?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void move ()
  {
    int shag=1;
    if (x<getmaxx()-r && y<getmaxy()-r)
    {   
      x+=shag;
      y+=shag;
    }
    else
    do
    {
      x-=shag;
      y-=shag;
    }while (x==0+r && y==0+r);
  }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Гром
 Аватар для Гром
199 / 118 / 10
Регистрация: 20.03.2009
Сообщений: 1,075
Записей в блоге: 15
12.10.2013, 21:43     Движение окружности по диагонали туда и обратно #2
В одном случае вы делаете все в цикле, в другом - только один раз.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
12.10.2013, 21:48     Движение окружности по диагонали туда и обратно #3
Цитата Сообщение от fang Посмотреть сообщение
x==0+r && y==0+r
интересная запись.
fang
Заблокирован
12.10.2013, 22:07  [ТС]     Движение окружности по диагонали туда и обратно #4
Tulosba, Гром, Можете исправить?
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
12.10.2013, 23:11     Движение окружности по диагонали туда и обратно #5
fang, задачу по-конкретнее распишите
fang
Заблокирован
12.10.2013, 23:32  [ТС]     Движение окружности по диагонали туда и обратно #6
Tulosba, мне просто нужен алгоритм движения окружности по диагонали вниз и обратно
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
13.10.2013, 00:03     Движение окружности по диагонали туда и обратно #7
Цитата Сообщение от fang Посмотреть сообщение
мне просто нужен алгоритм движения окружности по диагонали вниз и обратно
По диагонали чего?
fang
Заблокирован
13.10.2013, 00:05  [ТС]     Движение окружности по диагонали туда и обратно #8
Tulosba, по диагонали консольного окна
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
13.10.2013, 00:44     Движение окружности по диагонали туда и обратно #9
Цитата Сообщение от fang Посмотреть сообщение
по диагонали консольного окна
Какая же окружность у Вас будет в консольном (текстовом) окне? Буква "О"?
fang
Заблокирован
13.10.2013, 00:45  [ТС]     Движение окружности по диагонали туда и обратно #10
Tulosba, initwindow(400, 400); инициализирую вот такое окно.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
13.10.2013, 00:57     Движение окружности по диагонали туда и обратно #11
fang, проект скиньте посмотреть.
kventin_zhuk
БНТУ ФИТР
 Аватар для kventin_zhuk
214 / 154 / 15
Регистрация: 26.12.2012
Сообщений: 382
13.10.2013, 01:04     Движение окружности по диагонали туда и обратно #12
Человек пару месяцев назад кинул на 100 рублей.
это про между прочим - к то вдруг свяжется кто
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
13.10.2013, 01:10     Движение окружности по диагонали туда и обратно #13
Цитата Сообщение от kventin_zhuk Посмотреть сообщение
Человек пару месяцев назад кинул на 100 рублей.
это о ком речь? о fang?
kventin_zhuk
БНТУ ФИТР
 Аватар для kventin_zhuk
214 / 154 / 15
Регистрация: 26.12.2012
Сообщений: 382
13.10.2013, 01:13     Движение окружности по диагонали туда и обратно #14
Tulosba, ага. А знаю - потому что он мне пару часов назад в скайп отписался с этой задачей - не прошло и пол года называется
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
13.10.2013, 01:20     Движение окружности по диагонали туда и обратно #15
kventin_zhuk, ну, здесь вроде бы не фриланс, всё на доброй воле
kventin_zhuk
БНТУ ФИТР
 Аватар для kventin_zhuk
214 / 154 / 15
Регистрация: 26.12.2012
Сообщений: 382
13.10.2013, 01:23     Движение окружности по диагонали туда и обратно #16
Tulosba, но страна должна знать своих героев
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
13.10.2013, 01:24     Движение окружности по диагонали туда и обратно #17
Цитата Сообщение от kventin_zhuk Посмотреть сообщение
но страна должна знать своих героев
Это точно. Осталось со страной определиться
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2013, 12:42     Движение окружности по диагонали туда и обратно
Еще ссылки по теме:

Элементы, расположеные на главной диагонали, в первых 3 строках выше диагонали и в последних 2 строках ниже диагонали переместить в одномерный массив C++
C++ По заданным координатам центра окружности и ее радиусу определить координаты точек пересечения окружности с осями координат.
C++ Игра на SFML. Как реализовать движение по диагонали?

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

Или воспользуйтесь поиском по форуму:
fang
Заблокирован
13.10.2013, 12:42  [ТС]     Движение окружности по диагонали туда и обратно #18
Tulosba,
C++
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
#include "stdafx.h"
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<graphics.h>
#include<dos.h>
#include <iostream>
#include <stdlib.h>
//Две окружности изменяя свои цвета движутся по диагоналям экрана, оставляя след. Затем в обратном порядке исчезают.//
//Две окружности изменяя свои цвета движутся по диагоналям экрана, оставляя след. Затем в обратном порядке исчезают.//
using namespace std;
 
class shape
{
protected:
    int color, x, y, r;
public:
    shape() {}
    virtual void Setcolor()=0;
    virtual void init(int R)=0;
    virtual void draw()=0;
    virtual void move()=0;
    ~shape(){}
};
 
class circl: public shape
{
public:
    circl()
    {
        x=0; y=0; r=0;
    }
    void Setcolor ()
    {
        //color = rand()%15+1;
        setcolor(5);
    }
    void init(int R)
    {
        x=R; y=R; r=R;
    }
    void draw()
    {
        circle(x, y, r);
    }
    void move ()
    {
        int shag=1;
        if (x<getmaxx()-r && y<getmaxy()-r)
        { 
            x+=shag;
            y+=shag;
        }
        else
        do
        {
            x-=shag;
            y-=shag;
            }while (x==0+r && y==0+r);
        }
        ~circl(){}
};
 
void main()
{
int i;
 
    initwindow(400, 400);
    setbkcolor(8);
    shape *A[1];
    circl C[1];
    for (i=0; i<1; i++) 
    {
        A[i]=&C[i];
    }
    A[0]->init(50);
 
    while(!kbhit())
    { 
        A[0]->Setcolor();
        A[0]->draw();
        A[0]->move();
        delay (15);
        cleardevice();
    }
 
    getch();
    closegraph();
}
Yandex
Объявления
13.10.2013, 12:42     Движение окружности по диагонали туда и обратно
Ответ Создать тему
Опции темы

Текущее время: 03:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru