Посл.ответ |
Сообщение |
 Ранг: 260.9 (наставник) Активность: 0.12↘0 Статус: Участник John Smith
|
Создано: 14 декабря 2007 16:23 · Поправил: Rascal · Личное сообщение · #1
задача: нуна написать игру в слова на пацкале. типа есть загаданное слово. вместо букв прочерки. от пользователя ждем ввод буквы. если такой нету - рисуем виселицу. если есть - заменяем прочерк на букву.
все бы ничего, но я хз как в пацкале работа с консолью обстоит. т.е. как заменить букву, если введена правильная. наверное самое простое почистить весь экран и вывести все с самого начала. тока яхз опять же как это делается.
если кто может напесать полностью, отпишитесь. потому как у мну ща напряги со свободным временем =( так бы покопался сам, но ща уже поздно.
или хотя бы кусками кодеса. рисовать вроде получается. нада остальное :/
зы: буду очень благодарен за любую помощь.
----- Недостаточно только получить знания:надо найти им приложение | Сообщение посчитали полезным: |
|
Ранг: 115.1 (ветеран), 3thx Активность: 0.07↘0 Статус: Участник
|
Создано: 14 декабря 2007 16:33 · Личное сообщение · #2
Rascal пишет:
но я хз как в пацкале работа с консолью обстоит
а что разве паскаль не исключительно под дос? откуда консоль?
| Сообщение посчитали полезным: |
 Ранг: 260.9 (наставник) Активность: 0.12↘0 Статус: Участник John Smith
|
Создано: 14 декабря 2007 16:46 · Поправил: Rascal · Личное сообщение · #3
ну турбопацкаль. я о нем.
----- Недостаточно только получить знания:надо найти им приложение | Сообщение посчитали полезным: |
 Ранг: 392.8 (мудрец), 108thx Активность: 0.26↘0.01 Статус: Участник REVENGE сила, БеХоЦе могила
|
Создано: 14 декабря 2007 16:48 · Личное сообщение · #4
Rascal вроть была в турбопацкале функа AT которая ставит курсор в нужное место
----- StarForce и Themida ацтой! | Сообщение посчитали полезным: |
 Ранг: 260.9 (наставник) Активность: 0.12↘0 Статус: Участник John Smith
|
Создано: 14 декабря 2007 16:59 · Личное сообщение · #5
var
entered_symbol: char;
s, s2: string;
i: integer
begin
for i:=1 to length(s2) do
begin
if s2[i] = entered_symbol then s[i] := entered_symbol
endl;
типа шаблончег проверки буквы.
мож кто еще что подкинет?
----- Недостаточно только получить знания:надо найти им приложение | Сообщение посчитали полезным: |
Ранг: 72.3 (постоянный) Активность: 0.04↘0 Статус: Участник
|
Создано: 14 декабря 2007 17:04 · Личное сообщение · #6
там есть ссыль на игру
**********************
Язык: Turbo Pascal
Категория: Курсовая работа
Игра "Поле чудес" - угадывается слово по буквам.
**********************
www.foxweb.net.ru/files/?arc=1
| Сообщение посчитали полезным: |
 Ранг: 260.9 (наставник) Активность: 0.12↘0 Статус: Участник John Smith
|
Создано: 14 декабря 2007 17:10 · Личное сообщение · #7
sER
там денег просят :/
----- Недостаточно только получить знания:надо найти им приложение | Сообщение посчитали полезным: |
 Ранг: 307.9 (мудрец), 196thx Активность: 0.18↘0 Статус: Участник
|
Создано: 14 декабря 2007 18:01 · Личное сообщение · #8
Посылаем курсор черт знает куда и пишем там что хотим:
uses crt;
....
begin
GotoXY(10,10); // а в виндовом паскале было бы Uses WinCrt; CursorTo(10, 10);
WriteLn('Hello');
end;
----- Don_t hate the cracker - hate the code. | Сообщение посчитали полезным: |
Ранг: 226.0 (наставник), 67thx Активность: 0.16↘0 Статус: Участник
|
Создано: 14 декабря 2007 20:46 · Личное сообщение · #9
Maximus пишет:
Rascal вроть была в турбопацкале функа AT которая ставит курсор в нужное место
AT вроде из Бейсика.
Когда-то в детстве хотел написать что-то типа Norton Commander. Накидал каркас, потом надоело. В приложении сырец. Думаю, тебе поможет.
f8c2_14.12.2007_CRACKLAB.rU.tgz - commander.ZIP
| Сообщение посчитали полезным: |
 Ранг: 156.2 (ветеран), 2thx Активность: 0.09↘0 Статус: Участник
|
Создано: 14 декабря 2007 21:17 · Поправил: Mavlyudov · Личное сообщение · #10
Rascal
uses crt;
var
m:string;
c:char;
p:char;
s:string;
k, j, l1 :word;
begin
clrscr;
m:='cracklab';
l1:=length(m);
for i:=1 to l1 do
begin
gotoxy(i,1);
write('-');
end;
writeln;
for k:=1 to l1 do begin
gotoxy(1,4);
writeln('Enter any letter');
clreol;
readln(p);
for j:=1 to l1 do
if m[j]=p then
begin
gotoxy(j,1);
write(p);
end ;
{else
begin
...
end; }
END;
readln;
end.
Примерно так. Тольео внешний цикл сделай по-другому. Учти кол-во повторяющийся букв в слове.
А также нужно сравнивать полученную после ввода строку с исходным словом. Вот тогда, цикл будет работать правильное число раз.
| Сообщение посчитали полезным: |
Ранг: 36.1 (посетитель) Активность: 0.01↘0 Статус: Участник
|
Создано: 14 декабря 2007 22:12 · Личное сообщение · #11
uses crt;
const max=10;
ch:array[0..21] of string[6] =(
' . .','',' o .','',' o o','',' o O','',
' O O','', ' O O',' o', ' 0 0',' O',
' O O',' q', ' O O ',' \ O /', ' * * ',' \ O /',
' _ _ ',' Q ');
var s,ss:string;
z,i:integer;
c:char;
b:boolean;
begin
s:='cracklab';
clrscr;
ss:='';
for i:=1 to length (s) do sS:=ss+'-';
z:=0;
repeat
gotoxy (1,1); writeln (ss);
writeln ('Errors=',z);
writeln (ch[z*2],#13#10,ch[z*2+1]);
c:=readkey; b:=true;
for i:=1 to length (s) do if s[i]=c then
begin ss[i]:=s[i]; b:=false; end;
if b then inc (z);
until (z>max) or (s=ss);
readln;
end.
| Сообщение посчитали полезным: |
Ранг: 65.3 (постоянный), 10thx Активность: 0.02↘0 Статус: Участник
|
Создано: 14 декабря 2007 23:19 · Поправил: tomac · Личное сообщение · #12
В свое время писал модуль для паскаля. Он довольно большой, но там есть 3 функции - ReadAt, WriteAt и Quick_Write. Эти функции позволяют вывести что угодно где угодно или прочитать существующие символы с экрана. По прототипам разберетесь). Так же там есть функции работы с мышью, пара переводов строка - число и еще немного шушеры.
Пользуйтесь, opensource так сказать)
29df_14.12.2007_CRACKLAB.rU.tgz - CRT2.PAS
| Сообщение посчитали полезным: |
 Ранг: 260.9 (наставник) Активность: 0.12↘0 Статус: Участник John Smith
|
Создано: 15 декабря 2007 10:45 · Личное сообщение · #13
спасибо всем за помощь. будем курить кодес =)
----- Недостаточно только получить знания:надо найти им приложение | Сообщение посчитали полезным: |
Ранг: 51.7 (постоянный) Активность: 0.02↘0 Статус: Участник
|
Создано: 15 декабря 2007 16:06 · Личное сообщение · #14
Rascal пишет:
будем курить кодес =)
Кодес, а кто это?
| Сообщение посчитали полезным: |
 Ранг: 111.1 (ветеран) Активность: 0.04↘0 Статус: Участник
|
Создано: 15 декабря 2007 19:01 · Личное сообщение · #15
Балет Аллы Духовой =)
----- The truth is out of there... | Сообщение посчитали полезным: |
 Ранг: 260.9 (наставник) Активность: 0.12↘0 Статус: Участник John Smith
|
Создано: 16 декабря 2007 04:05 · Личное сообщение · #16
--> Задание <-- http://kikg.ifmo.ru/~igor/g102-141/lr202.htm
короч вот задание к этой лабе. самому все таки песать некогда. задание плевое, так что можете срубить на мне немного жидоденег =) кто хочет взяться - пишите за скока сделаете денег и времени в пм.
----- Недостаточно только получить знания:надо найти им приложение | Сообщение посчитали полезным: |
 Ранг: 307.9 (мудрец), 196thx Активность: 0.18↘0 Статус: Участник
|
Создано: 16 декабря 2007 10:42 · Личное сообщение · #17
Rascal
Именно на паскале (досовом) ? ...
----- Don_t hate the cracker - hate the code. | Сообщение посчитали полезным: |
 Ранг: 260.9 (наставник) Активность: 0.12↘0 Статус: Участник John Smith
|
Создано: 16 декабря 2007 12:56 · Поправил: Rascal · Личное сообщение · #18
турбопаскаль 7 версия
----- Недостаточно только получить знания:надо найти им приложение | Сообщение посчитали полезным: |
Ранг: 1.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 16 декабря 2007 14:37 · Личное сообщение · #19
Rascal
Нужна программа в текстовом режиме? crt 80x25? Или всё-таки в графическом, как сказано в задании?
Если в текстовом - то модуль CRT использовать нельзя либо нужен патч, ибо на теперешних компах программа использующая модуль crt будет давать Division by zero. Либо отказаться от crt вообще - но тогда нужно писать свои функции работы с видеопамятью для вывода текста и для чтения скан-кодов клавиш с клавиатуры.
Если в графике, то в каком режиме? В VGA mode (640x480x16 цветов)? 13h (320x200x256) ? Уточни.
| Сообщение посчитали полезным: |
 Ранг: 260.9 (наставник) Активность: 0.12↘0 Статус: Участник John Smith
|
Создано: 16 декабря 2007 14:54 · Личное сообщение · #20
uses graph;
var y:real;
gd,gm,width,height,x:integer;
begin
write('vvedite dlinnu: ');
readln(width);
write('vvedite visotu: ');
readln(height);
gd:=detect;
x:=0;
initgraph(gd,gm,'');
floodfill(320,230,WHITE);
setcolor(Black);
setfillstyle(1,black);
line(320-width-x,240-height-height,320+width+x,240-height-height);
line(320-width-x,240-height-height,320,240);
line(320,240,320+width+x,240-height-height);
floodfill(320,240-height,black);
setcolor(4);
ellipse(320,240,0,360,width+5,height+5);
setfillstyle(1,RED);
floodfill(320,240,4);
readln;
closegraph;
end.
вот лаба из предыдущих. думаю такого же плана. хз какой здесь режим.
----- Недостаточно только получить знания:надо найти им приложение | Сообщение посчитали полезным: |
 Ранг: 392.8 (мудрец), 108thx Активность: 0.26↘0.01 Статус: Участник REVENGE сила, БеХоЦе могила
|
Создано: 17 декабря 2007 08:48 · Личное сообщение · #21
Rascal пишет:uses graph;
Rascal пишет:initgraph(gd,gm,'');
Это графический режим, CRT не юзается.
----- StarForce и Themida ацтой! | Сообщение посчитали полезным: |