Модераторы: javastic, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MidletPascal 
V
    Опции темы
Mayk
Дата 11.8.2006, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: нет
Всего: 134



Взято с http://www.midletpascal.com/projects.php
Код

procedure welcomeScreen;
var
  textToDisplay : string;
  textXPos      : integer;
  textYPos      : integer;
  keyCode       : integer;
begin
    setColor(255, 255, 255);
  
  fillRect(0, 0, screenWidth, screenHeight);
  
  setColor(0, 0, 255);
  
  setFont(FONT_FACE_PROPORTIONAL, FONT_STYLE_BOLD, FONT_SIZE_LARGE);
  textToDisplay := 'Tetris';
  textXPos := (screenWidth - getStringWidth(textToDisplay)) div 2; 
  textYPos := (screenHeight - getStringHeight(textToDisplay)) / 2;
  drawText(textToDisplay, textXPos, textYPos);
  textYPos := textYPos + getStringHeight(textToDisplay);
  
  setColor(0, 0, 0);
  
  setFont(FONT_FACE_PROPORTIONAL, FONT_STYLE_PLAIN, FONT_SIZE_SMALL);  
  
  textToDisplay := 'Created with MIDletPascal';
  textXPos := (screenWidth - getStringWidth(textToDisplay)) div 2;
  drawText(textToDisplay, textXPos, textYPos);
  textYPos := textYPos + getStringHeight(textToDisplay);
  
  textToDisplay := 'Press any key';
  textXPos := (screenWidth - getStringWidth(textToDisplay)) div 2;
  drawText(textToDisplay, textXPos, textYPos);
   
  repaint;
  
  { wait until user presses any key }
  repeat
    keyCode := getKeyClicked;     
  until keyCode <> 0;

end;


Это сообщение отредактировал(а) Mayk - 11.8.2006, 15:48


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
W0LF
Дата 11.8.2006, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

Репутация: 19
Всего: 20



smile) Извращение smile


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
javastic
Дата 11.8.2006, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1214
Регистрация: 18.3.2005
Где: St.Petersburg

Репутация: 19
Всего: 27



ВАУ!!!  smile Вот это прикол!!!!  smile 

Настоящий процедурный подход.

Явно с любовью к Паскалю написано! smile

Добавлено @ 15:59 
Особенно мне понравился цикл в самом конце проги! =)


--------------------
01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011
scjp, mcp 
PM MAIL WWW ICQ   Вверх
skyboy
Дата 11.8.2006, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



javastic, а в j2me можно отталкиваться от событий или тоже - так же, цикл с ожиданием?
PM MAIL   Вверх
W0LF
Дата 11.8.2006, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

Репутация: 19
Всего: 20



Там ожидание нажатия в отдельном системном потоке идет:
Код

public void keyPressed(int keyCode){
        switch(getGameAction(keyCode)){
            case Canvas.LEFT :
                ....
                break;
            case Canvas.RIGHT :
                ....
                break;

        }
        
    }


Добавлено @ 16:29 
Здесь нормально написано

Это сообщение отредактировал(а) W0LF - 11.8.2006, 16:25


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
javastic
Дата 11.8.2006, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1214
Регистрация: 18.3.2005
Где: St.Petersburg

Репутация: 19
Всего: 27



skyboy, а коммандные кнопки могут обрабатываться откуда угодно и из любого класса.
А если хочешь в текущем, то просто назначаешь интерфейс обработки нажатия кнопок как CommandListener
WOLF тебе правильно истолковал.


Давай, переходи на Джаву smile


--------------------
01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011
scjp, mcp 
PM MAIL WWW ICQ   Вверх
W0LF
Дата 11.8.2006, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

Репутация: 19
Всего: 20



Да, JAVA РУЛИТ!

Добавлено @ 16:42 
smile


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
WGR
Дата 11.8.2006, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 184
Регистрация: 6.6.2006
Где: Россия

Репутация: нет
Всего: нет



Исходник тетриса на мидлет паскаль


Присоединённый файл ( Кол-во скачиваний: 28 )
Присоединённый файл  wgrtetris.txt 20,12 Kb
--------------------
Flash ICQ Chuch@"... да как два байта отослать!!!"
PM   Вверх
skyboy
Дата 11.8.2006, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



отдельный поток - это хорошо. потому я и сказал, что этот интерпретатор сильно ограничен. А теперь ещё и развиваться перестал smile
Цитата(javastic @  11.8.2006,  16:36 Найти цитируемый пост)
Давай, переходи на Джаву

Перейду. Через полгода нырну...
PM MAIL   Вверх
WGR
Дата 11.8.2006, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 184
Регистрация: 6.6.2006
Где: Россия

Репутация: нет
Всего: нет



уже на 90 процентов доделал 
универсальное приложение для мобильнык книг с рисунками
--------------------
Flash ICQ Chuch@"... да как два байта отослать!!!"
PM   Вверх
WGR
Дата 11.8.2006, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 184
Регистрация: 6.6.2006
Где: Россия

Репутация: нет
Всего: нет



Простенький мидлет проигрывает wavку

program midi;
begin
    if not openPlayer('/windows.WAV', 'audio/x-wav') then halt;    
    if not setPlayerCount(-1) then halt; 
    if not startPlayer then halt; 
    delay(5000);     
end.
_____
А как это будет выглядеть в j2me ????????????
--------------------
Flash ICQ Chuch@"... да как два байта отослать!!!"
PM   Вверх
W0LF
Дата 12.8.2006, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

Репутация: 19
Всего: 20



Код

public void PlayWAV() {
        try {
         InputStream is = getClass().getResourceAsStream("/windows.WAV"); 
               Player player = Manager.createPlayer(is, "audio/X-wav");
               player.start();
        } catch (IOException ioe) {
        } catch (MediaException me) { 
        }
    }

Это один раз проиграет твой wav. Если же тебе надо с управлением и бесконечным проигрыванием, то смотри здесь


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
RacerDeXakep
Дата 9.4.2007, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 9.4.2007

Репутация: нет
Всего: нет



Всем, здрасте!! 
Помогите решить трабл, не доходит до меня, как исправить!!
Вот код:

procedure on (st : string) ; 
begin 
setColor(255, 255, 255); 
fillRect(0, 0, GetWidth, GetHeight); 
setColor(255, 0, 0); 
setfont(FONT_FACE_SYSTEM , FONT_STYLE_BOLD, FONT_SIZE_LARGE); 
DrawText(st, (Getwidth) div 2, ((Getheight - 6) div 2) + 1); 
repaint; 
delay(1000); 
end; 

procedure menu; 
begin 
ShowMenu('Выберите действие', CH_IMPLICIT); //это заголовок меню 
igrat := MenuAppendString('Играть'); //это добавляются 3 пункта меню 
about := MenuAppendString('Автор'); 
vyhod := MenuAppendString('Выход'); 
play := CreateCommand('Выбрать', CM_SCREEN , 1); //тут добавляются команды, для 2 кнопок сразу под экраном 
AddCommand(play); 
exit := CreateCommand('Выход', CM_EXIT, 1); 
AddCommand(exit); 
repeat //запускаем цикл, пока игрок не нажал одну из 2 кнопок 
delay(100); 
clicked := getClickedCommand; 
until (clicked = play) or (clicked = exit); 
if clicked = exit then halt; //если выбрали выход, то... 
showCanvas; // "убираем" меню 
if menuGetSelectedIndex = igrat then igra; //смотрим, какой пункт выбрал игрок и в зависимости от этого вызываем нужную процедуру 
if menuGetSelectedIndex = about then ab; 
if menuGetSelectedIndex = vyhod then halt; 
menu; //опять вызываем меню 
end; 

type zp=record 
b : boolean; 
end; 

var a : array [0..20, 0..20] of zp;

if direction_y = up then y1 := y1 - speed; 
if direction_y = down then y1 := y1 + speed; 
if direction_x = left then x1 := x1 - speed; 
if direction_x = right then x1 := x1 + speed;

key := GetKeyPressed; 
if KeyToAction(key) = GA_UP then 
if y2<>0 then y2 := y2 - 3; 
if KeyToAction(key) = GA_DOWN then 
if y2<>(GetHeight - 5) then y2 := y2 + 3; 
if KeyToAction(key) = GA_LEFT then 
if x2<>0 then x2 := x2 - 3; 
if KeyToAction(key) = GA_RIGHT then 
if x2<>(GetWidth - 30) then x2 := x2 + 3;

procedure block; 
var i,k : integer; 
begin 
for i:=0 to (GetWidth div 10) - 1 do 
for k:=0 to (GetHeight div 10) - 1 do 
if a[i,k].b then 
begin 
SetColor(0, 0, 0); 
fillRect(i*10, k*10, 10, 10 ); 
SetColor(255, 255, 255); 
drawRect(i*10+2, k*10+2, 6, 6 ); 
end; 
end; 

for z:=0 to GetWidth div 10 do 
for d:=0 to GetHeight div 10 do 
if ( d < 5 ) and ( d > 0 ) and ( z > 0 ) and ( z < (GetWidth div 10) - 1) 
then a[z,d].b:=true else a[z,d].b:= false;

if (a[ x1 div 10, y1 div 10].b) or (a[ (x1+10) div 10, y1 div 10].b) or 
(a[ x1 div 10, (y1+10) div 10].b) or (a[ (x1+10) div 10, (y1+10) div 10].b) 
then 
begin 
if direction_y = down then direction_y := up else direction_y := down; 
if direction_x = left then direction_x := right else direction_x := left; 
if (a[ x1 div 10, y1 div 10].b) then 
a[ x1 div 10, y1 div 10].b:=false; 
if (a[ (x1+10) div 10, y1 div 10].b) then 
a[ (x1+10) div 10, y1 div 10].b:=false; 
if (a[ x1 div 10, (y1+10) div 10].b) then 
a[ x1 div 10, (y1+10) div 10].b:=false; 
if (a[ (x1+10) div 10, (y1+10) div 10].b) then 
a[ (x1+10) div 10, (y1+10) div 10].b:=false; 
end;

Ошибочка в строке 15 и 34:
" error, identefier 'igrat' is not procedure, function, variable or unit name"
"newproject.mpsrc:34: error, character '.' expected, 'type' found"


Заранее благодрен!!
PM MAIL   Вверх
Dancer
Дата 10.4.2007, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 29.4.2005
Где: Nizhniy Novgorod

Репутация: 33
Всего: 37



объяви кто у тебя такой igrat а так же avtor, vyxod, play.
Var igrat,vyhod,play: UserType; 
ну или какой-то определённый в MIDlet Pascal. я в нём не силён сорри. Но при описании процедуры то обязан описать переменные, которые будут в ней использоваться, либо эти перемнные уже должны быть глобально описаны у тебя где-то "выше"


--------------------
У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! smile
PM MAIL   Вверх
RacerDeXakep
Дата 10.4.2007, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 9.4.2007

Репутация: нет
Всего: нет



Dancer

Спасибо!!
PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0938 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.