![]() |
![]() |
Олежечег(быв. Олежик) |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Всем привет...
В институте курсовой работой будет игра. Я предложил свой варант игры....и преподы дали мне согласие. Игра будет реализовывать перемещение мячиков( 3 штуки ) по доске 3х3..( т.е. 9 сегментов )..... ОПИСАНИЕ. 1.на поле 3х3 расположены 3 шарика разного цвета.... - СИНИЙ - КРАСНЫЙ - ЗЕЛЁНЫЙ 2.на поле 3х3 есть 3 сегмента разного цвета... - СИНИЙ - КРАСНЫЙ - ЗЕЛЁНЫЙ 3. КРАСНЫЙ шарик расположен на ЗЁЛЁНОМ сегменте..... СИНИЙ шарик расположен на СИНЕМ сегменте(т.е. на своём месте он находится)............ ЗЕЛЁНЫЙ шарик расположен на КРАСНОМ сегменте......... 3.Их месторасположение вы увидите на картинках, скачав предварительно АРХИВ с этими картинками..... ![]() ( В архиве содержатся 6 картинок, последовательностью от 1 до 6 ) 4.Представьте, что это как доска, которую вы держите в руках....и при наклоне ВПЕРЁД( а на экране вверх ) перемещаются все шарики ВПЕРЁД( Если , конечно, перед этим шариком нет препятствия )... 5.На поле расположены несколько стенок, через которые шарики перекатиться не могут ЗАДАЧА ( В чём же заключается победа игры) Надо, путём совместного передвигания шариков, поставить каждый шарик на свой сегмент.... Хотелось бы услышать ваши предложения...... А сделать я бы хотел её совместно с вами.... Меню хотелось бы найти на вашем форуме (ЕДИНСТВЕННЫЙ МИНУС....модуль ГРАФ будем тока проходить в инсте в этот понедельник, поэтому особо незнаю, как там что =) ) Сообщение отредактировано: Олежечег(быв. Олежик) - 15.04.2007 18:08 |
![]() ![]() |
Lapp |
![]()
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Предыдущий пост - мой.
Кстати, на всякий случай: процедура GetTime - в модуле DOS -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Олежечег(быв. Олежик) |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Вот....
уря...сделал менюшку... но вот проблема..... Мне сказали ей переделать в динамическое меню.... Подскажите как? Код Program Menu; uses crt, graph; type TMenu=record name:string; active:boolean; end; const max=4; var driver,mode:integer; MenuList:array[1..max] of TMenu; i:integer; x,y:integer; key:char; keyt:byte; act,nact,pact:byte; exit:boolean; Procedure DrawButton(name:string;active:boolean;x,y:integer); var h,w:integer; tc,bc:integer; begin SetTextJustify(CenterText, CenterText); h:=TextWidth(name); w:=TextHeight(name); tc:=4; bc:=15; if active then begin SetFillStyle(1,0); Bar(x+40,y+40,x+h+20,y+w+20); SetFillStyle(1,bc); Bar(x,y,x+h+40,y+w+40); SetColor(tc); Rectangle(x,y,x+h+40,y+w+40); OutTextXY(x+(h div 2)+20,y+(w div 2)+20,name); end else begin SetFillStyle(1,0); Bar(x+40,y+40,x+h+20,y+w+20); SetFillStyle(1,tc); Bar(x,y,x+h+40,y+w+40); SetColor(bc); Rectangle(x,y,x+h+40,y+w+40); OutTextXY(x+(h div 2)+20,y+(w div 2)+20,name); end; end; BEGIN clrscr; driver:=vga; mode:=2; InitGraph(driver,mode,'C:\bp\BGI\'); { key:=readkey; keyt:=ord(key);} MenuList[1].name:='Game'; MenuList[1].active:=true; MenuList[2].name:='Records'; MenuList[2].active:=false; MenuList[3].name:='Options'; MenuList[3].active:=false; MenuList[4].name:='Exit'; MenuList[4].active:=false; act:=1; exit:=false; Repeat x:=250; y:=200; SetTextStyle(DefaultFont, HorizDir, 1); SetFillStyle(1,7); Bar(0,0,640,480); for i:=1 to max do begin DrawButton(MenuList[i].name,MenuList[i].active,x,y); y:=y+50; end; key:=readkey; if ord(key)=0 then key:=readkey; case ord(key) of 72: begin nact:=act-1; if nact=0 then nact:=4; MenuList[act].active:=not(MenuList[act].active); MenuList[nact].active:=not(MenuList[nact].active); if act>1 then act:=act-1 else act:=4; end; 80: begin nact:=act+1; if nact=5 then nact:=1; MenuList[act].active:=not(MenuList[act].active); MenuList[nact].active:=not(MenuList[nact].active); if act<4 then act:=act+1 else act:=1; end; 13: begin case act of 1: begin SetTextStyle(DefaultFont, HorizDir,2); DrawButton('‚лЎа Є®ЇЄ Game', true, 150, 300);{Введена клавиша ....} repeat until KeyPressed; end; 2: begin SetTextStyle(DefaultFont, HorizDir,2); DrawButton('‚лЎа Є®ЇЄ Records', true, 150, 300);{Введена клавиша ....} repeat until KeyPressed; end; 3: begin SetTextStyle(DefaultFont, HorizDir,2); DrawButton('‚лЎа Є®ЇЄ Options', true, 150, 300);{Введена клавиша ....} repeat until KeyPressed; end; 4: begin exit:=true; end; end; end; end; until exit; CloseGraph; END. |
Олежечег(быв. Олежик) |
![]()
Сообщение
#4
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Тут попробовал новую тему.....
Менюшку сделал... Слава богу!!! Динамическое!!! Так горд собой))) А насчёт своей игры....понапридумывал многое.. ))))))) ![]() Я хочу сделать вот так!!! Вы увидели массив.. заполненный 0-ми и 1-ми. Якобы...... Шарики могут двигаться тока по нечётным координатам.... [1,1][1,3][1,5][3,1][3,3][3,5][5,1][5,3][5,5] И..перед каждым шагом делаю проверку.. Таким образом я хочу показать стенки!!!!! Т.Е. Где стоят цифры 1, это стенки! Если на пути встречаются 2 последовательных нуля(0), то шарик двигается! В противном случае не происходит движение шарика. Вроде хорошо!!!! Как идейка? Или можно описать стенки по-лучше? |
![]() ![]() |
![]() |
Текстовая версия | 14.07.2025 22:27 |