Advertisement
Hamikadze

ver6.game(ALPHA, without many bugs)

Apr 19th, 2014
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.88 KB | None | 0 0
  1. uses
  2. crt;//Подрубаем модуль, без него не работает
  3.  
  4. var
  5. a1, x, y, e, g, e1, e2, r, l, lx, ly, x1, x2, x3, x4, y1, y2, y3, y4, EXTx, EXTy, v1, v2, a, c, d, z1, z2, lvl, t1, t2, CQL: integer;
  6. Sym: char;//Значение 'Sym' - будет только для знаков (букв)
  7.  
  8. begin
  9. textbackground(white); //Перекраска фона
  10. clrscr; //Очистка экрана и применени цвета фона
  11. t1 := 2;
  12. t2 := 2;
  13. lvl := 4;
  14. lx := 9;//лабик
  15. ly := 20;//лабик
  16. for g := 1 to 5 do
  17. begin
  18. r := 10;//арена
  19. x := 5; //Корды перемеения курсора -
  20. y := 3; //Корды перемеения курсора |
  21. x1 := 4;// |
  22. x2 := 24;// |
  23. x3 := 4;// -
  24. x4 := 4;// -
  25. y1 := 2;// |
  26. y2 := 12;// |
  27. y3 := 2;// -
  28. y4 := 12;// -
  29. CQL := 1;//часть цикла
  30. //-------
  31. if lvl > 1 then begin
  32. r := r + lvl * 2;
  33. x2 := x2 + lvl * 2 + (lvl + 3);
  34. y2 := y2 + lvl * 2;
  35. y4 := y4 + lvl * 2;
  36. lx := lx + lvl * 2;
  37. ly := ly + lvl * 2 + (lvl + 3);
  38. e := 0;
  39. if lvl >= 3 then begin
  40. e := lvl div
  41. 2;
  42. x2 := x2 + e;
  43. ly := ly + e;
  44. end;
  45. end;
  46. l := lx * ly;//лабик
  47. EXTx := x2 - 1;
  48. EXTy := y2 - 1;
  49. //-------
  50. textcolor(black); //Текст будет цветом
  51. gotoxy(x1, y1); // рисуем первые квадратики арены
  52. write('H');
  53. gotoxy(x2, y2);
  54. write('H');
  55. gotoxy(x3, y3);
  56. write('H');
  57. gotoxy(x4, y4);
  58. write('H');
  59. //--------
  60. textcolor(red); //Текст будет цветом
  61. v1 := 5;
  62. v2 := 3;
  63. assign(output, 'lvl.txt');
  64. rewrite(output);
  65. a := 1;
  66. writeln(a);
  67. for d := 2 to l do
  68. begin
  69. a := random(5);
  70. writeln(a);
  71. end;
  72. close(output);
  73. reset(output);
  74. for d := 1 to lx do
  75. begin
  76. for c := 1 to ly do
  77. begin
  78. gotoxy(v1, v2);
  79. //v1 := v1 + 1;
  80. read(output, a);
  81. if a = 0 then begin
  82. writeln('*');
  83. if (x = v1) and (y = v2) then begin
  84. gotoxy(1, 1); //Если закрытие перемещаем на новые корды
  85. clrscr; //Очистка экрана
  86. textcolor(green); //Если закрытие меняем цвет текста на зеленый
  87. writeln('Вы взорвались!'); //Если закрытие пишем хрень какую-то
  88. EXIT; //ПРЕКРАЩЕНИЕ ЦИКЛА!!!
  89. end;
  90. end;
  91. v1 := v1 + 1;
  92. end;
  93. v1 := 5;
  94. v2 := v2 + 1;
  95. end;
  96. v1 := 5;
  97. v2 := 3;
  98. close(output);
  99. //--------
  100. for e1 := 1 to r do //рисуем всю арену
  101. begin
  102. textcolor(black); //Текст будет цветом
  103. y1 := y1 + 1;
  104. gotoxy(x1, y1);
  105. write('H');
  106. y2 := y2 - 1;
  107. gotoxy(x2, y2);
  108. write('H');
  109. for e2 := 1 to 2 do
  110. begin
  111. x3 := x3 + 1;
  112. gotoxy(x3, y3);
  113. write('H');
  114. x4 := x4 + 1;
  115. gotoxy(x4, y4);
  116. write('H');
  117. end;
  118. end;
  119. //--------
  120. while CQL = 1 do
  121. begin
  122. gotoxy(EXTx, EXTy);
  123. textcolor(blue); //Текст будет цветом
  124. write('O');
  125. gotoxy(x, y); //Курсор будет перемещён в точку
  126. textcolor(green); //Текст будет цветом
  127. write('o'); //Вывод текста
  128. Sym := readkey; //Значение 'Sym' клавиша
  129. if Sym = 'a' then x := x - 1; //Влево
  130. if Sym = 'w' then y := y - 1; //Вверх
  131. if Sym = 'd' then x := x + 1; //Вправо
  132. if Sym = 's' then y := y + 1; //Вниз
  133. if Sym = 'x' then begin//Закрытие
  134. gotoxy(1, 1); //Если закрытие перемещаем на новые корды
  135. clrscr; //Очистка экрана
  136. textcolor(green); //Если закрытие меняем цвет текста на зеленый
  137. writeln('Спасибо за тестирование данной фигни!'); //Если закрытие пишем хрень какую-то
  138. EXIT; //ПРЕКРАЩЕНИЕ ЦИКЛА!!!
  139. end;
  140. clrscr; //Очистка экрана
  141. x1 := 4;// |
  142. x2 := 24;// |
  143. x3 := 4;// -
  144. x4 := 4;// -
  145. y1 := 2;// |
  146. y2 := 12;// |
  147. y3 := 2;// -
  148. y4 := 12;// -
  149. //-------
  150. if lvl > 1 then begin
  151. x2 := x2 + lvl * 2 + (lvl + 3);
  152. y2 := y2 + lvl * 2;
  153. y4 := y4 + lvl * 2;
  154. end;
  155. //-------
  156. textcolor(red); //Текст будет цветом
  157. reset(output);
  158. for d := 1 to lx do
  159. begin
  160. for c := 1 to ly do
  161. begin
  162. gotoxy(v1, v2);
  163. //v1 := v1 + 1;
  164. read(output, a);
  165. if a = 0 then begin
  166. writeln('*');
  167. if (x = v1) and (y = v2) then begin//Закрытие
  168. gotoxy(1, 1); //Если закрытие перемещаем на новые корды
  169. clrscr; //Очистка экрана
  170. textcolor(green); //Если закрытие меняем цвет текста на зеленый
  171. writeln('Вы взорвались!'); //Если закрытие пишем хрень какую-то
  172. EXIT; //ПРЕКРАЩЕНИЕ ЦИКЛА!!!
  173. end;
  174. end;
  175. v1 := v1 + 1;
  176. end;
  177. v1 := 5;
  178. v2 := v2 + 1;
  179. end;
  180. close(output);
  181. v1 := 5;
  182. v2 := 3;
  183. //--------
  184. textcolor(black); //Текст будет цветом
  185. gotoxy(x1, y1); // рисуем первые квадратики арены
  186. write('H');
  187. if (x = x1) and (y = y1) then begin
  188. clrscr; //Очистка экрана
  189. EXIT;
  190. end;
  191. gotoxy(x2, y2);
  192. write('H');
  193. if (x = x2) and (y = y2) then begin
  194. clrscr; //Очистка экрана
  195. EXIT;
  196. end;
  197. gotoxy(x3, y3);
  198. write('H');
  199. if (x = x3) and (y = y3) then begin
  200. clrscr; //Очистка экрана
  201. EXIT;
  202. end;
  203. gotoxy(x4, y4);
  204. write('H');
  205. if (x = x4) and (y = y4) then begin
  206. clrscr; //Очистка экрана
  207. EXIT;
  208. end;
  209. for e1 := 1 to r do //рисуем всю арену
  210. begin
  211. textcolor(black); //Текст будет цветом
  212. y1 := y1 + 1;
  213. gotoxy(x1, y1);
  214. write('H');
  215. if (x = x1) and (y = y1) then begin
  216. clrscr; //Очистка экрана
  217. EXIT;
  218. end;
  219. y2 := y2 - 1;
  220. gotoxy(x2, y2);
  221. write('H');
  222. if (x = x2) and (y = y2) then begin
  223. clrscr; //Очистка экрана
  224. EXIT;
  225. end;
  226. for e2 := 1 to 2 do
  227. begin
  228. x3 := x3 + 1;
  229. gotoxy(x3, y3);
  230. write('H');
  231. if (x = x3) and (y = y3) then begin
  232. clrscr; //Очистка экрана
  233. EXIT;
  234. end;
  235. x4 := x4 + 1;
  236. gotoxy(x4, y4);
  237. write('H');
  238. if (x = x4) and (y = y4) then begin
  239. clrscr; //Очистка экрана
  240. EXIT;
  241. end;
  242. if (EXTx = x) and (EXTy = y) then begin
  243. gotoxy(t1, t2);
  244. CQL := 2;
  245. end;
  246. end;
  247. end;
  248. end;
  249. //-------
  250. rewrite(output);
  251. close(output);
  252. if (t1 = 2) and (t2 = 2) then begin
  253. clrscr;
  254. lvl := lvl + 1;
  255. writeln('Finish! LEVEL ', lvl);
  256. end;
  257. //--------
  258. //e := 1;
  259. //--------
  260. end;
  261. readln; //Это чтоб окно сразу не закрылось
  262. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement