![]() |
![]() |
Олежечег(быв. Олежик) |
![]()
Сообщение
#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 |
![]() ![]() |
Олежечег(быв. Олежик) |
![]() ![]()
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Volvo .....//
она у тебя не запускается......? Я просто не понял!!!! Там адрес тогда измени на свой...а то уменя там..с:/bp/bgi ))))) Я по поводу разбиения....... Я придумал вот что! Спасибо SkIv за предложенную версию..... Можешь приблизительно написать.... Я понял, но не полностью... А что если.... В процедуре драг сделать ещё одну переменную, которую назвать NOMER и присвоить ей значение Pcircle.... .. ВОТ.. Это избавит от лишних действий... Код procedure Tcircle.Drag(Step:integer;ch:char;nomer1:pcircle); var nomer2,nomer3:pcircle; const centr1x=198; centr2x=354; centr3x=510; centr1y=84; centr2y=240; centr3y=396; begin if nomer1=p1 then begin nomer2:=p2; nomer3:=p3; end else if nomer1=p2 then begin nomer2:=p1; nomer3:=p3; end else if nomer1=p3 then begin nomer2:=p1; nomer3:=p2; end; Case Ord(Ch) of 72:if (x<>198) and (y<>84) and ((x<>354) or (y<>396)) and (((nomer1^.x<>centr2x) or (nomer1 ^.y<>centr1y)) or {Ќ з «® Їа®ўҐаЄЁ Єа б®Ј® Ё бЁҐЈ® и аЁЄ Ї®§ЁжЁЁ 354} ((nomer2^.x<>centr2x) or (nomer2^.y<>centr2y))) and (((nomer1^.x<>centr2x) or (nomer1^.y<>centr2y)) or ((nomer2^.x<>centr2x) or (nomer2^.y<>centr1y))) and {Љ®Ґж Їа®ўҐаЄЁ Єа б®Ј® Ё бЁҐЈ® и аЁЄ Ї®§ЁжЁЁ 354} (((nomer1^.x<>centr3x) or (nomer1^.y<>centr1y)) or {Ќ з «® Їа®ўҐаЄЁ Єа б®Ј® Ё бЁҐЈ® и аЁЄ Ї®§ЁжЁЁ 510} ((nomer2^.x<>centr3x) or (nomer2^.y<>centr2y))) and (((nomer1^.x<>centr3x) or (nomer1^.y<>centr2y)) or ((nomer2^.x<>centr3x) or (nomer2^.y<>centr1y))) and {Љ®Ґж Їа®ўҐаЄЁ Єа б®Ј® Ё бЁҐЈ® и аЁЄ Ї®§ЁжЁЁ 510} (((nomer1^.x<>centr2x) or (nomer1^.y<>centr1y)) or {Ќ з «® Їа®ўҐаЄЁ Єа б®Ј® Ё §Ґ«Ґ®Ј® и аЁЄ Ї®§ЁжЁЁ 354} ((nomer3^.x<>centr2x) or (nomer3^.y<>centr2y))) and (((nomer1^.x<>centr2x) or (nomer1^.y<>centr2y)) or ((nomer3^.x<>centr2x) or (nomer3^.y<>centr1y))) and {Љ®Ґж Їа®ўҐаЄЁ Єа б®Ј® Ё §Ґ«Ґ®Ј® и аЁЄ Ї®§ЁжЁЁ 354} (((nomer1^.x<>centr3x) or (nomer1^.y<>centr1y)) or {Ќ з «® Їа®ўҐаЄЁ Єа б®Ј® Ё §Ґ«Ґ®Ј® и аЁЄ Ї®§ЁжЁЁ 510} ((nomer3^.x<>centr3x) or (nomer3^.y<>centr2y))) and (((nomer1^.x<>centr3x) or (nomer1^.y<>centr2y)) or ((nomer3^.x<>centr3x) or (nomer3^.y<>centr1y))) then {Љ®Ґж Їа®ўҐаЄЁ Єа б®Ј® Ё §Ґ«Ґ®Ј® и аЁЄ Ї®§ЁжЁЁ 510} MoveTo(x, y-Step); {Up} Я ВПРИНЦИПЕ всё описал..... Случай..когда находится стенка я описал... Код Case Ord(Ch) of 72:if (x<>198) and (y<>84) and ((x<>354) or (y<>396)) and ........................... а вот всё ОГРОМНОЕ что идёт далее..это проверка на встречу двух шариков, чтоб один не налез на другого... У вас есть другие варианты.....??? |
![]() ![]() |
![]() |
Текстовая версия | 15.07.2025 3:53 |