wyndy

game tebak angka

Oct 21st, 2014
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.61 KB | None | 0 0
  1. USES CRT;
  2. VAR
  3. I, J, K, L: INTEGER;
  4. YT: CHAR;
  5. NILAI:INTEGER;
  6.  
  7. FUNCTION CSTR(I: INTEGER): STRING;
  8. VAR
  9. S: STRING[11];
  10. BEGIN
  11. STR(I, S);
  12. CSTR := S;
  13. END;
  14.  
  15. PROCEDURE TULIS(POSISI:INTEGER; TEKS:STRING);
  16. VAR
  17. A, B, C: INTEGER;
  18. BEGIN
  19. A := POSISI;
  20. B := POSISI MOD 10;
  21. C := 1;
  22.  
  23. IF B = 0 THEN
  24. BEGIN B := 10;C := 0; END;
  25.  
  26. GOTOXY(B * 8 - 5,(A DIV 10 + C) * 3 + 1);
  27. WRITE(TEKS);
  28. END;
  29.  
  30.  
  31. PROCEDURE BIKIN_KOTAK(KOLOM, BARIS: INTEGER);
  32. BEGIN
  33. CLRSCR;
  34. FOR I:= 1 TO KOLOM DO
  35. BEGIN
  36. FOR J := 1 TO BARIS DO
  37. BEGIN
  38. GOTOXY (J * 8 - 7, (I * 3));
  39. WRITE('____');
  40. GOTOXY (J * 8 - 7, (I * 3 + 1));
  41. WRITE('| |');
  42. GOTOXY (J * 8 - 7, (I * 3 + 2));
  43. WRITE('____');
  44. END;
  45. END;
  46. END;
  47.  
  48. PROCEDURE WIZARD7;
  49. BEGIN
  50. CLRSCR;
  51. WRITELN('ANGKA YANG ANDA PILIH = ', NILAI);
  52. WRITELN;
  53. WRITE('INGIN MENGULANG (Y/ESC.)? ');READKEY;
  54. YT := READKEY;
  55. END;
  56.  
  57. PROCEDURE WIZARD6;
  58. BEGIN
  59. BIKIN_KOTAK(2, 10);
  60. FOR I := 1 TO 19 DO
  61. TULIS(I, CSTR(I + 31));
  62. GOTOXY (5, 15);
  63. WRITE('APAKAH ANGKA YANG ANDA PILIH',
  64. ' ADA PADA DERETAN ANGKA DI ATAS (Y/T) ');
  65. REPEAT
  66. YT := READKEY;
  67. UNTIL YT IN ['y', 'Y', 't', 'T', #27];
  68. IF UPCASE(YT) = 'Y' THEN
  69. NILAI := NILAI + 32;
  70. WIZARD7;
  71. {===============================}
  72. END;
  73.  
  74. PROCEDURE WIZARD5;
  75. BEGIN
  76. BIKIN_KOTAK(2, 10);
  77. FOR I := 1 TO 16 DO
  78. TULIS(I, CSTR(I + 15));
  79.  
  80. FOR J := 17 TO 19 DO
  81. TULIS (J, CSTR(J + 31));
  82. GOTOXY (5, 15);
  83. WRITE('APAKAH ANGKA YANG ANDA PILIH',
  84. ' ADA PADA DERETAN ANGKA DI ATAS (Y/T) ');
  85. REPEAT
  86. YT := READKEY;
  87. UNTIL YT IN ['y', 'Y', 't', 'T', #27];
  88. {===============================}
  89.  
  90. IF UPCASE(YT) = 'Y' THEN
  91. NILAI := NILAI + 16;
  92. WIZARD6;
  93. END;
  94.  
  95. PROCEDURE WIZARD4;
  96. BEGIN
  97. BIKIN_KOTAK(3, 10);
  98. FOR J := 0 TO 2 DO
  99. FOR I := 1 TO 8 DO
  100. TULIS(J * 8 + I, CSTR(J * 16 + I + 7));
  101. GOTOXY (5, 15);
  102.  
  103. WRITE('APAKAH ANGKA YANG ANDA PILIH',
  104. ' ADA PADA DERETAN ANGKA DI ATAS (Y/T) ');
  105.  
  106. REPEAT
  107. YT := READKEY;
  108. UNTIL YT IN ['y', 'Y', 't', 'T', #27];
  109.  
  110. IF UPCASE(YT) = 'Y' THEN
  111. NILAI := NILAI + 8;
  112. WIZARD5;
  113. {===============================}
  114. END;
  115.  
  116. PROCEDURE WIZARD3;
  117. BEGIN
  118. BIKIN_KOTAK(3, 10);
  119. FOR J := 0 TO 5 DO
  120. FOR I := 1 TO 4 DO
  121. TULIS(J * 4 + I, CSTR(J * 8 + I + 3));
  122. GOTOXY (5, 15);
  123. WRITE('APAKAH ANGKA YANG ANDA PILIH',
  124. ' ADA PADA DERETAN ANGKA DI ATAS (Y/T) ');
  125.  
  126. REPEAT
  127. YT := READKEY;
  128. UNTIL YT IN ['y', 'Y', 't', 'T'];
  129. IF UPCASE(YT) = 'Y' THEN
  130. NILAI := NILAI + 4;
  131. WIZARD4;
  132. {===============================}
  133. END;
  134.  
  135. PROCEDURE WIZARD2;
  136. BEGIN
  137. BIKIN_KOTAK(3, 10);
  138. J:=0;
  139. FOR J := 0 TO 12 DO
  140. FOR I := 1 TO 2 DO
  141. TULIS(J * 2 + I, CSTR(J * 4 + I + 1));
  142. GOTOXY (5, 15);
  143. WRITE('APAKAH ANGKA YANG ANDA PILIH',
  144. ' ADA PADA DERETAN ANGKA DI ATAS (Y/T) ');
  145. REPEAT
  146. YT := READKEY;
  147. UNTIL YT IN ['y', 'Y', 't', 'T', #27];
  148. IF UPCASE(YT) = 'Y' THEN
  149. NILAI := NILAI + 2;
  150. WIZARD3;
  151. {===============================}
  152. END;
  153.  
  154. PROCEDURE WIZARD1;
  155. BEGIN
  156. BIKIN_KOTAK(3, 10);
  157. L:= 1;
  158. REPEAT
  159. TULIS ((L + 1) DIV 2,CSTR(L));
  160. L:= L + 2;
  161. UNTIL L > 50;
  162. GOTOXY (5, 15);
  163. WRITE('APAKAH ANGKA YANG ANDA PILIH',
  164. ' ADA PADA DERETAN ANGKA DI ATAS (Y/T) ');
  165. REPEAT
  166. YT := READKEY;
  167. UNTIL YT IN ['y', 'Y', 't', 'T', #27];
  168.  
  169. IF UPCASE(YT) = 'Y' THEN
  170. NILAI := 1;
  171. WIZARD2;
  172. {===============================}
  173. END;
  174.  
  175. PROCEDURE TULIS_NOMOR;
  176. BEGIN
  177. BIKIN_KOTAK(5, 10);
  178. FOR K:= 1 TO 50 DO
  179. TULIS(K, CSTR(K));
  180. GOTOXY(1, 20);
  181. WRITE ('PILIH SEBUAH ANGKA, ',
  182. 'TEKAN: Y, KALO MAU TERUS! ');
  183. WRITE ('TEKAN ESC UNTUK KELUAR ');
  184. REPEAT
  185. YT := READKEY;
  186. IF UPCASE(YT) = 'Y' THEN
  187. BEGIN
  188. NILAI := 0;
  189. WIZARD1;
  190. END;
  191.  
  192. UNTIL YT IN ['y', 'Y', 't', 'T', #27];
  193. {===============================}
  194. END;
  195. (* Program Utama *)
  196. BEGIN
  197. CLRSCR;
  198. TEXTATTR := $1F;
  199. REPEAT
  200. TULIS_NOMOR;
  201. UNTIL YT = #27;
  202. END.
Advertisement
Add Comment
Please, Sign In to add comment