Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
неллия
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 26
1

Кубик Рубика

05.05.2014, 23:34. Просмотров 1372. Ответов 5
Метки нет (Все метки)

Здравствуйте)помогите пожалуйста если не трудно))
Изобразить на экране ЭВМ следующий рисунок
0
Миниатюры
Кубик Рубика  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2014, 23:34
Ответы с готовыми решениями:

Кубик
Помогите доделать программу uses crt; type kubik=record rzm:word; ...

Игра в кубик
паскаль написать прогу. анна и борис играют в игру загадай число. оба игрока записывают на бумаге...

Нарисовать развернутый кубик
сделать блок схему и программу ...или только программу

Нарисовать кубик рубик с разными цветами
срочно нужны

Нарисовать "кубик рубик"
помогите сделать задачу через модуль Graph, без анимаций просто нарисовать этот кубик

5
ermolay
3435 / 2374 / 2134
Регистрация: 04.12.2011
Сообщений: 3,965
06.05.2014, 01:37 2
Цитата Сообщение от неллия Посмотреть сообщение
помогите пожалуйста если не трудно)
не особо трудно, но еще легче мне было поиском воспользоваться
Получить в аксонометрии или диметрии кубик Рубика в любом разобранном виде

Добавлено через 1 минуту
правда там для PascalABC, подправить несложно, возникнут трудности с правкой - пишите...
0
Svager
06.05.2014, 01:38
  #3

Не по теме:

Цитата Сообщение от ermolay Посмотреть сообщение
не особо трудно, но еще легче мне было поиском воспользоваться
вот всегда было интересно,почему люди им не пользуются, вечно пишут одни и те же темы, в один день, и даже не ищут..

0
ermolay
06.05.2014, 01:43
  #4

Не по теме:

Цитата Сообщение от Svager Посмотреть сообщение
почему люди им не пользуются
кто-то - по незнанию, кто-то из лени (проще тему создать :) ), но ищущих гораздо больше, чем может показаться: гостей форума раз в 10 больше чем зарегистрированных пользователей...

0
Svager
06.05.2014, 01:52
  #5

Не по теме:

Цитата Сообщение от ermolay Посмотреть сообщение
гостей форума раз в 10 больше чем зарегистрированных пользователей...
это да,с этим не поспоришь.
Цитата Сообщение от ermolay Посмотреть сообщение
проще тему создать
просто иногда не одно и то же лень отвечать

0
Puporev
Модератор
56347 / 43123 / 29829
Регистрация: 18.05.2008
Сообщений: 102,491
06.05.2014, 09:05 6
Точно рисовал, выкладывал в темах, но из-за идиотских названий некоторых тем не мог найти в поиске...
Номер 1.
Pascal
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
uses graph;
var x,y,w,h,i,j,x1,y1,x2,c:integer;
begin
x:=0;
initgraph(x,y,'');
randomize;
w:=getmaxX div 12;
h:=w div 3;
x:=getmaxX div 3;
y:=getmaxY div 3;
{рисуем верх}
c:=9;
for i:=0 to 2 do
 begin
  y1:=y-i*h;
  x1:=x+i*h;
  for j:=0 to 2 do
   begin
    x2:=x1+j*w;
    c:=c+1;
    if c=15 then c:=9;
    setcolor(c);
    line(x2,y1,x2+h,y1-h);
    line(x2+h,y1-h,x2+h+w,y1-h);
    line(x2+h+w,y1-h,x2+w,y1);
    line(x2,y1,x2+w,y1);
    setfillstyle(1,c);
    floodfill(x2+5,y1-2,c);
    setcolor(0);
    line(x2,y1,x2+h,y1-h);
    line(x2+h,y1-h,x2+h+w,y1-h);
    line(x2+h+w,y1-h,x2+w,y1);
    line(x2,y1,x2+w,y1);
   end;
  end;
{рисуем перед}
for i:=0 to 2 do
 begin
  y1:=y+i*w;
  x1:=x;
  for j:=0 to 2 do
   begin
    c:=c+1;
    if c=15 then c:=9;
    setcolor(c);
    rectangle(x1+j*w,y1,x1+(j+1)*w,y1+w);
    setfillstyle(1,c);
    floodfill(x1+j*w+5,y1+5,c);
    setcolor(0);
    rectangle(x1+j*w,y1,x1+(j+1)*w,y1+w);
   end;
 end;
{рисуем пр*вую сторо*у}
x:=x+3*w;
for i:=0 to 2 do
 begin
  y1:=y+i*(w);
  x1:=x;
  for j:=0 to 2 do
   begin
    x2:=x1+j*h;
    c:=c+1;
    if c=15 then c:=9;
    setcolor(c);
    line(x2,y1,x2+h,y1-h);
    line(x2+h,y1-h,x2+h,y1-h+w);
    line(x2+h,y1-h+w,x2,y1+w);
    line(x2,y1+w,x2,y1);
    setfillstyle(1,c);
    floodfill(x2+5,y1-2,c);
    setcolor(0);
    line(x2,y1,x2+h,y1-h);
    line(x2+h,y1-h,x2+h,y1-h+w);
    line(x2+h,y1-h+w,x2,y1+w);
    line(x2,y1+w,x2,y1);
    y1:=y1-h;
   end;
  end;
setcolor(2);
outtextXY(getmaxX div 2-50,getmaxY-50,'Kubik Rubika');
readln
end.
Номер 2.
Pascal
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
uses graph;
const k=0.866;{cos pi/6}
      s=0.5;{sin(pi/6)}
      cv=[9,10,12,13,14,15];{гамма цветов: синий,зеленый, красный,
                             фиолетовый, желтый, белый}
{кубик с тремя гранями}
procedure kub(x,y,d:integer);
var p:array[1..5] of pointtype;
    c:integer;
begin
{верхняя}
p[1].x:=x-round(d*k);p[1].y:=y-round(d*s);
p[2].x:=x;p[2].y:=y-round(2*d*s);
p[3].x:=x+round(d*k);p[3].y:=y-round(d*s);
p[4].x:=x;p[4].y:=y;
p[5].x:=p[1].x;p[5].y:=p[1].y;
{выбираем случайный цвет из нашей гаммы}
repeat
c:=random(16);
until c in cv;
setcolor(c);
{закрашиваем грань}
setfillstyle(1,c);
fillpoly(5,p);
{обводим толстой черной линией}
setcolor(0);
setlinestyle(0,0,3);
drawpoly(5,p);
{левая}
p[1].x:=p[1].x;p[1].y:=p[1].y;
p[2].x:=p[4].x;p[2].y:=p[4].y;
p[3].x:=p[2].x;p[3].y:=p[2].y+round(d/k);
p[4].x:=p[1].x;p[4].y:=p[1].y+round(d/k);
p[5].x:=p[1].x;p[5].y:=p[1].y;
repeat
c:=random(16);
until c in cv;
setcolor(c);
setfillstyle(1,c);
fillpoly(5,p);
setcolor(0);
setlinestyle(0,0,3);
drawpoly(5,p);
{правая}
p[1].x:=p[2].x;p[1].y:=p[2].y;
p[2].x:=x+round(d*k);p[2].y:=y-round(d*s);
p[3].x:=p[2].x;p[3].y:=p[2].y+round(d/k);
p[4].x:=p[1].x;p[4].y:=p[1].y+round(d/k);
p[5].x:=p[1].x;p[5].y:=p[1].y;
repeat
c:=random(16);
until c in cv;
setcolor(c);
setfillstyle(1,c);
fillpoly(5,p);
setcolor(0);
setlinestyle(0,0,3);
drawpoly(5,p);
end;
var x,y,i,j,l,d,w,h:integer;
begin
x:=0;
initgraph(x,y,'');
d:=50;
w:=round(d*k);
h:=round(d/k+d*s);
x:=getmaxX div 2;
y:=getmaxY div 2;
{рисуем три слоя по 3х3 кубика}
for l:=3 downto 1 do
 begin
  for i:=1 to 3 do
   begin
    for j:=1 to 3 do
    kub(x+(j-1)*w,y+(j-1)*round(d*s),d);
    x:=x-w;
    y:=y+round(d*s);
   end;
  {новые координаты начала следующего слоя}
  if odd(l) then y:=getmaxY div 2-h+round(d*s)
  else y:=getmaxY div 2-h-round(d*s);
  x:=getmaxX div 2;
 end;
readln
end.
0
06.05.2014, 09:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2014, 09:05

Кубик Рубика
Здравствуйте подскажите пожалуйста , хочу попробовать сделать кубика Рубика , пока стоит задача ->...

Кубик Рубика
Задача такая,из любой позиции собрать кубик Рубика за минимальное число ходов(вывести алгоритм...

кубик рубика
Нужна помощь. Никак не могу найти алгоритма. Мне нужно заштрихованный кубик передвинуть на 3 ряд...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru