Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 16.10.2010, 14:46   #1
psih1
Знающий
 
Аватар для psih1
 
Регистрация: 20.03.2010
Сообщений: 271
Написано 16 полезных сообщений
(для 32 пользователей)
Вопросы

вот делаю чтото на подобие painta сделал рисование кистью а как сделать рисование точкой пытался посмотрите что не так
program paint;
const
  
SPEED 1// Скорость движения
var
  
i    Integer;
  
xInteger// позиция
  
key  Integer;
  
begin
// Инициализация
  
x   := 32// позиция  по X
  
y   := 32// и по Y соответственно :)
  
i     :=2;// толшина
// Подготовка поля вывода
  
SetColor(255255,255);
  
FillRect(00GetWidthGetHeight);
  
  
// Отрисовка и обработка ввода
  
repeat
  
// Получаем код зажатой клавиши
    
key := GetKeyPressed;
  
// Вот что бывает, когда нет возможности использовать case ;)
    
if key KE_KEY6 then  x   := SPEED;
    if 
key KE_KEY8 then  y  := SPEED;
    if 
key KE_KEY4 then x   := SPEED;
    if 
key KE_KEY2 then y   := ySPEED;
    if 
key KE_KEY5 then 
    begin
    setColor
(125125125); 
    
FillRect(,yi,);
  
end;
  
// контролируем выход за границы экрана
    
if x0 then x := 0;
    if 
0 then y := 0;
    if 
GetWidth  i then x:= GetWidth  i;
    if 
GetHeight i then y := GetHeight i;
  
// Рисуем новой позиции
setColor(000); 
fillRect(x,yii); 
  
// Вывод этого безобразия на экран и задержка на 20 мс  
    
repaint;  
    
delay(20);
  
until GetKeyClicked KE_KEY0// Закрыть приложение при нажатии "0"
end
__________________
¯¯¯¯\——-/¯¯¯¯ респект любителям BMX
(Offline)
 
Ответить с цитированием
Старый 16.10.2010, 14:52   #2
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Вопросы

не увидел проблемы. у тебя i - размер кисти. (кстати, в художественном магазине рядом с моим универом кисти почему-то не квадратные)

поставь его 1 и будет рисование точкой.
(Offline)
 
Ответить с цитированием
Старый 16.10.2010, 14:59   #3
psih1
Знающий
 
Аватар для psih1
 
Регистрация: 20.03.2010
Сообщений: 271
Написано 16 полезных сообщений
(для 32 пользователей)
Ответ: Вопросы

да не я имею виду жмеш на 5 и точка отрисовывается а у меня получается я рисую и тут же она стирается
__________________
¯¯¯¯\——-/¯¯¯¯ респект любителям BMX
(Offline)
 
Ответить с цитированием
Старый 16.10.2010, 19:13   #4
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Вопросы

ну, например, делай скрин и дальше рисуй на нем
imagefromcanvas(x,y,width,height: integer):image;

вместо "подготовки поля..."
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
psih1 (16.10.2010)
Старый 17.10.2010, 14:34   #5
psih1
Знающий
 
Аватар для psih1
 
Регистрация: 20.03.2010
Сообщений: 271
Написано 16 полезных сообщений
(для 32 пользователей)
Ответ: Вопросы

Как сделать описание процедуры для модуля
procedure cls;//Процедура отчистки экрана
begin
setcolor
(255,255,255);//Устанавливаем белый цвет
FillRect(00GetWidthGetHeight);//рисуем закрашенный прямоугольник на весь экран
setcolor(0,0,0);//возвращаем цвет
end
__________________
¯¯¯¯\——-/¯¯¯¯ респект любителям BMX
(Offline)
 
Ответить с цитированием
Старый 17.10.2010, 15:22   #6
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Вопросы

в interface ты пишешь только название и что входит.
например:

function shit(a,b:integer):string;

а потом пишешь её целиком уже в implementation:

function shit(a,b:integer):string;
begin
shit:=''+a+b;
end;
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
psih1 (17.10.2010)
Старый 17.10.2010, 15:37   #7
psih1
Знающий
 
Аватар для psih1
 
Регистрация: 20.03.2010
Сообщений: 271
Написано 16 полезных сообщений
(для 32 пользователей)
Ответ: Вопросы

Все разобрался уже
__________________
¯¯¯¯\——-/¯¯¯¯ респект любителям BMX
(Offline)
 
Ответить с цитированием
Старый 17.10.2010, 15:53   #8
psih1
Знающий
 
Аватар для psih1
 
Регистрация: 20.03.2010
Сообщений: 271
Написано 16 полезных сообщений
(для 32 пользователей)
Ответ: Вопросы

Вот в чем косяк
Изображения
Тип файла: bmp Безымянный.bmp (286.0 Кб, 699 просмотров)
__________________
¯¯¯¯\——-/¯¯¯¯ респект любителям BMX
(Offline)
 
Ответить с цитированием
Старый 17.10.2010, 16:57   #9
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Вопросы

списки параметров отличаются. сделай одинаковые
(Offline)
 
Ответить с цитированием
Старый 17.10.2010, 17:07   #10
psih1
Знающий
 
Аватар для psih1
 
Регистрация: 20.03.2010
Сообщений: 271
Написано 16 полезных сообщений
(для 32 пользователей)
Ответ: Вопросы

Я вроде все правильно сделал
unit progame;

interface

    {
Описание функций и процедур }

function 
Collision:boolean;//Процедура проверки столкновения

procedure cls(clsinteger); //Процедура отчистки экрана



implementation

    
{Сама реализация данных функций и процедур }
function 
Collision:boolean;//Процедура проверки столкновения
const//Обьявляем константы, это неизменяеммые значения
mapsize=9;//размер карты, но так как массив карты начинается с нуля то карта равна mapsize+1
var
rs:boolean;
zx,zy,x,y,px,py:integer;
map:array [0..mapsize,0..mapsizeof integer;//массив карты
begin
rs
:=false;
for 
x:=0 to mapsize do//создаем цикл
for y:=0 to mapsize do//создаем ещё один цикл
begin
zx
:=x*32;zy:=y*32;
if (
map[x,y]=1)and not rs then if (px+32>zx)and(px<zx+32)and(py+32>zy)and(py<zy+32then rs:=true;//Проверяем столкновение
end;
Collision:=rs;
end;



procedure cls;//Процедура отчистки экрана
begin
setcolor
(255,255,255);//Устанавливаем белый цвет
FillRect(00GetWidthGetHeight);//рисуем закрашенный прямоугольник на весь экран
setcolor(0,0,0);//возвращаем цвет
end;




initialization

    
{Какая-то начальная инициализация переменных при загрузке модуля }

end
__________________
¯¯¯¯\——-/¯¯¯¯ респект любителям BMX
(Offline)
 
Ответить с цитированием
Старый 17.10.2010, 18:18   #11
psih1
Знающий
 
Аватар для psih1
 
Регистрация: 20.03.2010
Сообщений: 271
Написано 16 полезных сообщений
(для 32 пользователей)
Ответ: Вопросы

Ппц теперь совсем белый экран посмотрите исходник пожалуста
Вложения
Тип файла: zip Архив ZIP - WinRAR (2).zip (19.4 Кб, 401 просмотров)
__________________
¯¯¯¯\——-/¯¯¯¯ респект любителям BMX
(Offline)
 
Ответить с цитированием
Старый 17.10.2010, 20:23   #12
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Вопросы

Ругается на строку объявления константы. Может выкинуть эту константу вообще?
(Offline)
 
Ответить с цитированием
Старый 18.10.2010, 19:32   #13
psih1
Знающий
 
Аватар для psih1
 
Регистрация: 20.03.2010
Сообщений: 271
Написано 16 полезных сообщений
(для 32 пользователей)
Ответ: Вопросы

Это размеры карты без нее вобще даже не компилируется
__________________
¯¯¯¯\——-/¯¯¯¯ респект любителям BMX
(Offline)
 
Ответить с цитированием
Старый 18.10.2010, 20:42   #14
RoboMiha
AnyKey`щик
 
Регистрация: 28.07.2010
Сообщений: 3
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопросы

Const
Nr1 : array [1..60of string =
 (
'100000','010000','110000','001000',
  
'101000','011000','111000','000100',
  
'100100','010100','110100','001100',
  
'101100','011100','111100','000010',
  
'100010','010010','110010','001010',
  
'101010','011010','111010','000110',
  
'100110','010110','110110','001110',
  
'101110','011110','111110','000001',
  
'100001','010001','110001','001001',
  
'101001','011001','111001','000101',
  
'100101','010101','110101','001101',
  
'101101','011101','111101','000011',
  
'100011','010011','110011','001011'
  
'101011','011011','111011','000111',
  
'100111','010111','110111','001111'); 
По-всякому пробовал - на делфи норм, а МР не компилит...
__________________
Журнал ЮЗЕР
(Offline)
 
Ответить с цитированием
Старый 19.10.2010, 15:22   #15
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Вопросы

Лучше сохрани эти значения в файле и при старте программы всё прочитай из файла и заполни так массив. И константами в MP лучше не пользоваться. Используй обычные переменные.

И в описании процедура CLS должна принимать какое-то целое число, а реально она ничего не принимает. Или исправь описание или саму процедуру.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 18:34.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com