283: switch(status)
284: {
285:
case 0:
286:
maze[pac_y][pac_x]=5;
287:
break;
288:
case 1:
289:
pac_290:
maze[pac_y][pac_x]=5;
291:
draw(pac_x,pac_y,act,14,1);
292:
tone(status);
293:
continue;
294:
case 2:
295:
scoretext(90);
296:
case 3:
297:
scoretext(10);
298:
maze[pac_y][pac_x]=5;
299:
break;
300:
default:
301:
game_over=1;
302:
tone(5);
303:
continue;
304: }
305: }
306: else
307: {
308: maze[pac_y][pac_x]=5;
309: last_act=RIGHT;
310: }
311: draw(pac_x,pac_y,RIGHT,14,1);
312: tone(status);
313: }
314: }
315: }
316:
317: dice=random(10);
318: if(dice==0)
319: {
320: g_no=random(3);
321: }
322:
323: dice=random(10);
324: if(dice<=1)
325: {
326: ghost_dir[g_no]=random(4)+1;
327: }
329: old_ghost_y=ghost_y[g_no];
330: old_ghost_x=ghost_x[g_no];
331: old_status=maze[ghost_y[g_no]][ghost_x[g_no]];
332:
333: switch(ghost_dir[g_no])
334: {
335: case UP: ghost_y[g_no]--;break;
336: case DOWN: ghost_y[g_no]++;break;
337: case LEFT: ghost_x[g_no]--;break;
338: case RIGHT:ghost_x[g_no]++;break;
339: }
340:
341: switch(maze[ghost_y[g_no]][ghost_x[g_no]])
342: {
343: case 1:
344: case 10:
345: case 12:
346: case 13:
347:
ghost_dir[g_no]=random(4)+1;
348: ghost_y[g_no]=old_ghost_y;
349: ghost_x[g_no]=old_ghost_x;
350: break;
351: case 4:
352: if(ghost_dir[g_no]==DOWN)
353: {
354:
ghost_y[g_no]=1;
355: }
356: else
357: {
358:
ghost_y[g_no]=17;
359: }
360: case 0:
361: case 2:
362: case 3:
363:
draw(old_ghost_x,old_ghost_y,4,0,2);
364:
365: if(old_status==10)
366: {
367:
maze[old_ghost_y][old_ghost_x]=0;
368: }
369: if(old_status==12)
370: {
371:
setcolor(12);
372:
circle(24*old_ghost_x+5,24*old_ghost_y+55,7);
373:
maze[old_ghost_y][old_ghost_x]=2;
374: }
375: if(old_status==13)
376: {
377:
setcolor(7);
378:
bar(24*old_ghost_x+3,24*old_ghost_y+53,24*old_ghost_x+7,24*old_ghost_y+57);
379:
maze[old_ghost_y][old_ghost_x]=3;
380: }
381:
382:
maze[ghost_y[g_no]][ghost_x[g_no]]+=10;
383:
draw(ghost_x[g_no],ghost_y[g_no],4,ghost_color[g_no],2);
384: break;
385: case 5:
386:
maze[old_ghost_y][old_ghost_x]=0;
387:
draw(old_ghost_x,old_ghost_y,4,0,2);
388:
389:
maze[ghost_y[g_no]][ghost_x[g_no]]=15;
390:
draw(ghost_x[g_no],ghost_y[g_no],4,(-1)*ghost_color[g_no],2);
391: tone(5);
392: game_over=1;
393: break;
394: }
395:
396: }
397:
398: closegraph();
399: printf("score = %d",score);
400:
401:}
402:
403:void draw(int maze_x,int maze_y,int action,int color,int body)
404:{
405: int i,j,k;
406: int point,k1;
407:
408: void dot(int pac_x,int pac_y,int action,int color,int j,int i);
409:
410: char a[3][24][24]={
411:
{{0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0},
412:
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
413:
{0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0},
414:
{0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0},
415:
{0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0},
416:
{0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0},
417:
{0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0},
418:
{0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0},
419:
{0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0},
420:
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0},
421:
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0},
422:
{1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0},
423:
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0},
424:
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0},
425:
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0},
426:
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0},
427:
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
428:
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0},
429:
{0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0},
430:
{0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0},
431:
{0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0},
432:
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
433:
{0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0},
434:
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},},
435:
436:
{{0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0},
437:
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
438:
{0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0},
439:
{0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0},
440:
{0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0},
441:
{0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
442:
{0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0},
443:
{0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0},
444:
{0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
445:
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0},
446:
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0},
447:
{1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0},
448:
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0},
449:
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0},
450:
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
451:
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0},
452:
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0},
453:
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
454:
{0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0},
455:
{0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0},
456:
{0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0},
457:
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
458:
{0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0},
459:
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},},
460:461:
{{0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0},
462:
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
463:
{0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0},
464:
{0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0},
465:
{0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0},
466:
{0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
467:
{0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
468:
{0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0},
469:
{0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
470:
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
471:
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
472:
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
473:
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
474:
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
475:
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
476:
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
477:
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
478:
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
479:
{0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0},
480:
{0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0},
481:
{0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0},
482:
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
483:
{0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0},
484:
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}
485: };