![]() |
![]() ![]() |
![]() |
yazer |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
мисс_граффити |
![]()
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
goto сразу портит впечатление...
лучше сразу добавлять к случайному значению 1, чтобы 0 никогда не получался -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
yazer |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
Зделал через процедуры без goto.
Дабавил к случайному значению 1, а всё равно иногда ноль випадает ![]() ![]() |
Гость |
![]()
Сообщение
#4
|
Гость ![]() |
a:=random(6+1);
замени наa:=random(6) + 1;
|
yazer |
![]()
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
Lapp |
![]()
Сообщение
#6
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Хорошо бы все же сделать какую-то возможность выхода из игры (например, ввод нулевой ставки).
Темно-красный на черном фоне очень плохо различим.. Мне кажется, лучше не стирать, а сохранять предыдущие ходы как протокол игры, но это дело вкуса. Минутная задержка в конце игры - очень неудачное решение. Сделай ReadKey. Кости по-английски называются Dice ![]() Забавно было бы рисовать выпвшие кости типа так: -----
|0 0|
| 0 |
|0 0|
-----
При написании соблюдай отступы внутри блоков - увидишь, как это помогает. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
yazer |
![]()
Сообщение
#7
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
mamont001 |
![]()
Сообщение
#8
|
![]() Вожак стада ![]() ![]() ![]() Группа: Пользователи Сообщений: 179 Пол: Мужской Реальное имя: кирилл Репутация: ![]() ![]() ![]() |
Только вопрос: как использовать readkey? делаеш еще одну переменную типа char, например
symbol:char;
и в програме дописываеш вместо задержки
symbol:=readkey;
-------------------- Админ наш,
Иже еси на серверах! Да святится имя Твое, Да приидет Unix Твой, Да будет воля Твоя, Как на земле , так и на небе. Пинг наш насущный дай нам на сей день; И прости нам счета наши, как и мы оставляем их должникам нашим; И не введи нас во искушение виндовое, Но избавь нас от лукавого Билли. И да пребудет с нами сила твоя великая, Во имя Отца-админа, Сына-Пингвина, и духа мастдайного. Админь! |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Совершенно не обязательно вводить лишнюю переменную. ReadKey даже без присваивания (вызванный, как процедура) остановит работу программы до нажатия любой клавиши ...
А вот потом желательно очистить буфер, чтобы (если нажата клавиша с расширенным кодом) второй код не вывалился в командную строку или IDE после завершения программы... |
Bokul |
![]()
Сообщение
#10
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
Цитата А вот потом желательно очистить буфер Как? -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
while keypressed do readkey;
или repeat
readkey
until not keypressed;
|
Lapp |
![]()
Сообщение
#12
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Доделал. Ты пошто из шестерки девятку сделал? Думаешь, так главнее?.. ![]() yazer, настоятельно тебе советую: поинтересуйся отступами. В маленьких программах еще ничего, но потом запутаешься напрочь.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Lapp |
![]()
Сообщение
#13
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Способ рисования костей у тебя чересчур банальный.. Посмотри вот на эту процедурку.
uses crt;
procedure Picture(n:integer);
var
x,y,i,j:integer;
c:char;
procedure Put(i,j:integer);
begin
GotoXY(x+i,y+j);Write(с )
end;
begin
x:=WhereX;
y:=WhereY;
c:='|';
for i:=1 to 5 do begin
Put(0,i);Put(8,i)
end;
c:='-';
for i:=1 to 7 do begin
Put(i,0);Put(i,6)
end;
c:='0';
repeat
case n of
1: begin Put(4,3); n:=0 end;
2: begin Put(2,1); Put(6,5); n:=0 end;
3: begin Put(4,3); n:=2 end;
4: begin Put(6,1); Put(2,5); n:=2 end;
5: begin Put(4,3); n:=4 end;
6: begin Put(6,3); Put(2,3); n:=4 end;
end
until n=0
end;
var
i:integer;
begin
ClrScr;
for i:=1 to 6 do begin
GoToXY(i*12-10,i*3);
Picture(i)
end;
readKey
end.
Наверняка, можно еще гораздо компактнее сделать.. ![]() -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Lapp |
![]()
Сообщение
#14
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Ага, можно
![]() Что-то меня пробило на это дело.. ![]() Попробуй! ![]() uses crt;
var
Lx,Ly:integer;
procedure Picture(n:integer);
const
Dice:array[1..6,1..6,1..2]of integer=
(((45,45),(0,0),(0,0),(0,0),(0,0),(0,0)),
((10,15),(75,65),(0,0),(0,0),(0,0),(0,0)),
((45,45),(10,15),(75,65),(0,0),(0,0),(0,0)),
((10,15),(75,65),(10,65),(75,15),(0,0),(0,0)),
((10,15),(75,65),(10,65),(75,15),(45,45),(0,0)),
((10,15),(75,65),(10,65),(75,15),(10,45),(75,45)));
var
x,y,i,j,k:integer;
procedure Put(c:char);
begin
GotoXY(x+i,y+j);Write(c)
end;
begin
x:=WhereX;
y:=WhereY;
for j:=2 to Ly-1 do begin i:=1;Put('|');i:=Lx;Put('|') end;
for i:=2 to Lx-1 do begin j:=1;Put('-');j:=Ly;Put('-') end;
x:=x+1;
y:=y+1;
for j:=1 to Ly do for i:=1 to Lx do for k:=1 to 6 do
if (Round((Lx-2)*Dice[n,k,1]/100)=i-1)and(Round((Ly)*Dice[n,k,2]/100)=j) then Put('0')
end;
var
i:integer;
begin
ClrScr;
Lx:=5;
Ly:=5;
for i:=1 to 6 do begin
GoToXY(i*12-10,i);
Picture(i)
end;
Lx:=7;
Ly:=5;
for i:=1 to 6 do begin
GoToXY(i*12-10,i+5);
Picture(i)
end;
Lx:=9;
Ly:=7;
for i:=1 to 6 do begin
GoToXY(i*12-10,i+10);
Picture(i)
end;
Lx:=11;
Ly:=7;
for i:=1 to 6 do begin
GoToXY(i*12-10,i+17);
Picture(i)
end;
readKey
end.
-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
volvo |
![]()
Сообщение
#15
|
Гость ![]() |
![]() Я бы дальше вот такого, скажем, не пошел... Ухудшается читабельность, потом разбираться придется, КАК оно работало... uses crt;
procedure Picture(n:integer);
var
c: char;
procedure Put(i,j:integer);
var x, y: integer;
begin
X := whereX; Y := wherey;
GotoXY(x+i,y+j);Write( c );
GotoXY(X, Y);
end;
var
i: integer;
const
coord: array[1 .. 3] of integer = (1, 5, 3);
begin
c:='|';
for i:=1 to 5 do begin
Put(0,i);Put(8,i)
end;
c:='-';
for i:=1 to 7 do begin
Put(i,0);Put(i,6)
end;
c:='0';
repeat
if odd(n) then Put(4, 3)
else begin
Put(2, coord[n div 2]); Put(6, 6 - coord[n div 2]);
end;
n := 2 * (pred(n) div 2);
until n=0
end;
var
i:integer;
begin
ClrScr;
for i:=1 to 6 do begin
GoToXY(i*12-10,i*3);
Picture(i)
end;
readKey
end.
|
Lapp |
![]()
Сообщение
#16
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Я бы дальше вот такого, скажем, не пошел... Ухудшается читабельность, потом разбираться придется, КАК оно работало... Абсолютно согласен, и тут два вывода: либо снабдить подробнейшими комментариями, либо уже ничего не менять, а пользоваться так ![]() -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
![]() ![]() |
![]() |
Текстовая версия | 31.07.2025 5:45 |