File: scrolldemo.c - Tab length: 1 2 4 8 - Lines: on off - No wrap: on off

0001: /*
0002:  scrolling 0.1 - LYNX - kit BLL (newcc65) - 16/12/2010 - philippe H.
0003: 
0004:  LYNX - r�solution: 160*102 - scroll demo -
0005:  
0006:  Gestion des tiles: 6 tiles * 7 tiles = 42 tiles, chaque tile ayant une taille de 34*34 -
0007:  
0008:  Zone de jeu: 30 tiles * 7 tiles soit 210 tiles - 1020 * 238 = 242760 pixels */
0009:  
0010: #include <stdlib.h>
0011: #include <lynx.h>
0012: #include <lynxlib.h>
0013: 
0014: /* LYNX-specific #defines: */
0015: #define JOY_RIGHT  0x10
0016: #define JOY_LEFT  0x20
0017: #define JOY_DOWN  0x40
0018: #define JOY_UP   0x80
0019: 
0020: #define BUTTON_OPTION1 0x08
0021: #define BUTTON_OPTION2 0x04
0022: #define BUTTON_LEFT  0x02
0023: #define BUTTON_RIGHT 0x01
0024: 
0025: #define BUTTON_PAUSE 0x01
0026: 
0027: //#define BUFFER1     0xBC40
0028: //#define BUFFER2     0xDC20
0029: //char SCREEN[8160]       at (MEMTOP-16320);
0030: char SCREEN[8160]       at (MEMTOP-16320);
0031: char RENDER[8160]       at (MEMTOP-8160);
0032: 
0033: uchar pal[]={
0034:  0x00,0x00,0x0F,0x0F,0x0E,0x08,0x07,0x03,0x05,0x0A,0x00,0x0F,0x09,0x09,0x08,0x08,
0035:  0x00,0x0F,0x7C,0x28,0x02,0x00,0x66,0x32,0xE0,0xAA,0x50,0xFF,0x99,0x99,0x88,0x88};
0036: 
0037: /**
0038: // ------------------------------------
0039: extern char fond1[];
0040: char SCB[];
0041: #asm        
0042: _SCB      dc.b $c0,$10,$20
0043:           dc.w 0,0
0044:           dc.w 0,0,$100,$100
0045:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0046: #endasm
0047: 
0048: **/
0049: 
0050: 
0051: 
0052: // ------------------------------------
0053: /*****************************************************************************
0054: **  Ci-dessous, le contenu du fichier batchfile pour l'image cara.bmp      **
0055: set image01=cara.bmp
0056: 
0057: SPRPCK -t6 -S030021 -r001003 -o000000 -i030063 -a014010 -p0 %image01% ca
0058: cmd
0059: **  Le point d'action de l'image ghost est mis au centre de celle-ci,       **
0060: **  (-a014010).
0061: *****************************************************************************/
0062: extern uchar ca000000[];
0063: extern uchar ca001000[];
0064: extern uchar ca002000[];
0065: 
0066: 
0067: uchar *catab[3] = {ca000000, ca001000, ca002000};
0068: 
0069: uchar SCBca[]; // d�claration d'un nouveau controleur de sprite --> car
0070: #asm        
0071: _SCBca      dc.b $c7,$10,$20
0072:                 dc.w 0,0
0073:                 dc.w 0,0,$100,$100
0074:                 dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0075: #endasm
0076: // ------------------------------------
0077: // clip du sprite rtile, d'une taille de 34*34 : 0(pelouse), 1 (bordure), 2 (bord de la route), 3 (bord de la route + flaque d'huile), 4 (route), 5 (route + bande).
0078: /*****************************************************************************
0079: **  Ci-dessous, le contenu du fichier batchfile pour l'image rtile.bmp      **
0080: set image01=rtile.bmp
0081: 
0082: SPRPCK -t6 -S034034 -r014001 -o000000 -i476034 -p0 %image01% rt
0083: cmd
0084: 
0085: *****************************************************************************/
0086: extern uchar rt000000[];
0087: extern uchar rt000001[];
0088: extern uchar rt000002[];
0089: extern uchar rt000003[];
0090: extern uchar rt000004[];
0091: extern uchar rt000005[];
0092: extern uchar rt000006[];
0093: extern uchar rt000007[];
0094: extern uchar rt000008[];
0095: extern uchar rt000009[];
0096: extern uchar rt000010[];
0097: extern uchar rt000011[];
0098: extern uchar rt000012[];
0099: extern uchar rt000013[];
0100: 
0101: uchar *rttab[14] =  {rt000000, rt000001, rt000002, rt000003, rt000004, rt000005,
0102:       rt000006, rt000007, rt000008, rt000009, rt000010, rt000011,
0103:       rt000012, rt000013};
0104: // nombreuses d�clarations des nouveaux controleurs de sprite (42) pour les tiles.
0105: uchar SCBrt01[];
0106: uchar SCBrt02[];
0107: uchar SCBrt03[];
0108: uchar SCBrt04[];
0109: uchar SCBrt05[];
0110: uchar SCBrt06[];
0111: uchar SCBrt07[];
0112:  
0113: uchar SCBrt08[];
0114: uchar SCBrt09[];
0115: uchar SCBrt10[];
0116: uchar SCBrt11[];
0117: uchar SCBrt12[];
0118: uchar SCBrt13[];
0119: uchar SCBrt14[];
0120: 
0121: uchar SCBrt15[];
0122: uchar SCBrt16[];
0123: uchar SCBrt17[];
0124: uchar SCBrt18[];
0125: uchar SCBrt19[];
0126: uchar SCBrt20[];
0127: uchar SCBrt21[];
0128: 
0129: uchar SCBrt22[];
0130: uchar SCBrt23[];
0131: uchar SCBrt24[];
0132: uchar SCBrt25[];
0133: uchar SCBrt26[];
0134: uchar SCBrt27[];
0135: uchar SCBrt28[];
0136: 
0137: uchar SCBrt29[];
0138: uchar SCBrt30[];
0139: uchar SCBrt31[];
0140: uchar SCBrt32[];
0141: uchar SCBrt33[];
0142: uchar SCBrt34[];
0143: uchar SCBrt35[];
0144: 
0145: uchar SCBrt36[];
0146: uchar SCBrt37[];
0147: uchar SCBrt38[];
0148: uchar SCBrt39[];
0149: uchar SCBrt40[];
0150: uchar SCBrt41[];
0151: uchar SCBrt42[];
0152: /*****************************************************************************
0153: ************************************ _SCBrt01     dc.b $c7,$10,$20 *****************************************/
0154: #asm
0155: _SCBrt01     dc.b $c0,$10,$20
0156:           dc.w 0,0
0157:           dc.w 0,0,$100,$100
0158:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0159: ;
0160: _SCBrt02     dc.b $c0,$10,$20
0161:           dc.w 0,0
0162:           dc.w 0,0,$100,$100
0163:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0164: ;
0165: _SCBrt03     dc.b $c0,$10,$20
0166:           dc.w 0,0
0167:           dc.w 0,0,$100,$100
0168:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0169: ;
0170: _SCBrt04     dc.b $c0,$10,$20
0171:           dc.w 0,0
0172:           dc.w 0,0,$100,$100
0173:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0174: ;
0175: _SCBrt05     dc.b $c0,$10,$20
0176:           dc.w 0,0
0177:           dc.w 0,0,$100,$100
0178:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0179: ;
0180: _SCBrt06     dc.b $c0,$10,$20
0181:           dc.w 0,0
0182:           dc.w 0,0,$100,$100
0183:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0184: ;
0185: _SCBrt07     dc.b $c0,$10,$20
0186:           dc.w 0,0
0187:           dc.w 0,0,$100,$100
0188:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0189: ;
0190: _SCBrt08     dc.b $c0,$10,$20
0191:           dc.w 0,0
0192:           dc.w 0,0,$100,$100
0193:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0194: ;
0195: _SCBrt09     dc.b $c0,$10,$20
0196:           dc.w 0,0
0197:           dc.w 0,0,$100,$100
0198:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0199: ;
0200: _SCBrt10     dc.b $c0,$10,$20
0201:           dc.w 0,0
0202:           dc.w 0,0,$100,$100
0203:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0204: ;
0205: _SCBrt11     dc.b $c0,$10,$20
0206:           dc.w 0,0
0207:           dc.w 0,0,$100,$100
0208:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0209: ;
0210: _SCBrt12     dc.b $c0,$10,$20
0211:           dc.w 0,0
0212:           dc.w 0,0,$100,$100
0213:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0214: ;
0215: _SCBrt13     dc.b $c0,$10,$20
0216:           dc.w 0,0
0217:           dc.w 0,0,$100,$100
0218:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0219: ;
0220: _SCBrt14     dc.b $c0,$10,$20
0221:           dc.w 0,0
0222:           dc.w 0,0,$100,$100
0223:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0224: ;
0225: _SCBrt15     dc.b $c0,$10,$20
0226:           dc.w 0,0
0227:           dc.w 0,0,$100,$100
0228:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0229: ;
0230: _SCBrt16     dc.b $c0,$10,$20
0231:           dc.w 0,0
0232:           dc.w 0,0,$100,$100
0233:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0234: ;
0235: _SCBrt17     dc.b $c0,$10,$20
0236:           dc.w 0,0
0237:           dc.w 0,0,$100,$100
0238:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0239: ;
0240: _SCBrt18     dc.b $c0,$10,$20
0241:           dc.w 0,0
0242:           dc.w 0,0,$100,$100
0243:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0244: ;
0245: _SCBrt19     dc.b $c0,$10,$20
0246:           dc.w 0,0
0247:           dc.w 0,0,$100,$100
0248:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0249: ;
0250: _SCBrt20     dc.b $c0,$10,$20
0251:           dc.w 0,0
0252:           dc.w 0,0,$100,$100
0253:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0254: ;
0255: _SCBrt21     dc.b $c0,$10,$20
0256:           dc.w 0,0
0257:           dc.w 0,0,$100,$100
0258:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0259: ;
0260: _SCBrt22     dc.b $c0,$10,$20
0261:           dc.w 0,0
0262:           dc.w 0,0,$100,$100
0263:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0264: ;
0265: _SCBrt23     dc.b $c0,$10,$20
0266:           dc.w 0,0
0267:           dc.w 0,0,$100,$100
0268:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0269: ;
0270: _SCBrt24     dc.b $c0,$10,$20
0271:           dc.w 0,0
0272:           dc.w 0,0,$100,$100
0273:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0274: ;
0275: _SCBrt25     dc.b $c0,$10,$20
0276:           dc.w 0,0
0277:           dc.w 0,0,$100,$100
0278:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0279: ;
0280: _SCBrt26     dc.b $c0,$10,$20
0281:           dc.w 0,0
0282:           dc.w 0,0,$100,$100
0283:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0284: ;
0285: _SCBrt27     dc.b $c0,$10,$20
0286:           dc.w 0,0
0287:           dc.w 0,0,$100,$100
0288:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0289: ;
0290: _SCBrt28     dc.b $c0,$10,$20
0291:           dc.w 0,0
0292:           dc.w 0,0,$100,$100
0293:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0294: ;
0295: _SCBrt29     dc.b $c0,$10,$20
0296:           dc.w 0,0
0297:           dc.w 0,0,$100,$100
0298:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0299: ;
0300: _SCBrt30     dc.b $c0,$10,$20
0301:           dc.w 0,0
0302:           dc.w 0,0,$100,$100
0303:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0304: ;
0305: _SCBrt31     dc.b $c0,$10,$20
0306:           dc.w 0,0
0307:           dc.w 0,0,$100,$100
0308:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0309: ;
0310: _SCBrt32     dc.b $c0,$10,$20
0311:           dc.w 0,0
0312:           dc.w 0,0,$100,$100
0313:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0314: ;
0315: _SCBrt33     dc.b $c0,$10,$20
0316:           dc.w 0,0
0317:           dc.w 0,0,$100,$100
0318:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0319: ;
0320: _SCBrt34     dc.b $c0,$10,$20
0321:           dc.w 0,0
0322:           dc.w 0,0,$100,$100
0323:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0324: ;
0325: _SCBrt35     dc.b $c0,$10,$20
0326:           dc.w 0,0
0327:           dc.w 0,0,$100,$100
0328:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0329: ;
0330: _SCBrt36     dc.b $c0,$10,$20
0331:           dc.w 0,0
0332:           dc.w 0,0,$100,$100
0333:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0334: ;
0335: _SCBrt37     dc.b $c0,$10,$20
0336:           dc.w 0,0
0337:           dc.w 0,0,$100,$100
0338:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0339: ;
0340: _SCBrt38     dc.b $c0,$10,$20
0341:           dc.w 0,0
0342:           dc.w 0,0,$100,$100
0343:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0344: ;
0345: _SCBrt39     dc.b $c0,$10,$20
0346:           dc.w 0,0
0347:           dc.w 0,0,$100,$100
0348:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0349: ;
0350: _SCBrt40     dc.b $c0,$10,$20
0351:           dc.w 0,0
0352:           dc.w 0,0,$100,$100
0353:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0354: ;
0355: _SCBrt41     dc.b $c0,$10,$20
0356:           dc.w 0,0
0357:           dc.w 0,0,$100,$100
0358:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0359: ;
0360: _SCBrt42     dc.b $c0,$10,$20
0361:           dc.w 0,0
0362:           dc.w 0,0,$100,$100
0363:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0364: #endasm
0365: // ------------------------------------
0366: // clip du sprite chiffres, chacun d'une taille de 8*8: 0123456789.LEV
0367: extern uchar bc000000[];
0368: extern uchar bc000001[];
0369: extern uchar bc000002[];
0370: extern uchar bc000003[];
0371: extern uchar bc000004[];
0372: extern uchar bc000005[];
0373: extern uchar bc000006[];
0374: extern uchar bc000007[];
0375: extern uchar bc000008[];
0376: extern uchar bc000009[];
0377: extern uchar bc000010[];
0378: extern uchar bc000011[];
0379: extern uchar bc000012[];
0380: extern uchar bc000013[];
0381: 
0382: uchar *chiffrestab[14] = {bc000000, bc000001, bc000002, bc000003, bc000004,
0383:                          bc000005, bc000006, bc000007, bc000008, bc000009,
0384:                          bc000010, bc000011, bc000012, bc000013};
0385: uchar SCBchiffres1[]; // d�claration d'un nouveau controleur de sprite (test)
0386: uchar SCBchiffres2[]; // d�claration d'un nouveau controleur de sprite (test)
0387: uchar SCBchiffres3[]; // d�claration d'un nouveau controleur de sprite (test)
0388: uchar SCBchiffres4[]; // d�claration d'un nouveau controleur de sprite (test)
0389: uchar SCBchiffres5[]; // d�claration d'un nouveau controleur de sprite (test)
0390: 
0391: uchar SCBscore1[]; // d�claration d'un nouveau controleur de sprite (score unit�)
0392: uchar SCBscore2[]; // d�claration d'un nouveau controleur de sprite (score dizaine)
0393: uchar SCBscore3[]; // d�claration d'un nouveau controleur de sprite (score centaine)
0394: uchar SCBscore4[]; // d�claration d'un nouveau controleur de sprite (score millier)
0395: 
0396: uchar SCBtexte1[]; // d�claration d'un nouveau controleur de sprite (level)
0397: uchar SCBtexte2[]; // d�claration d'un nouveau controleur de sprite (level)
0398: uchar SCBtexte3[]; // d�claration d'un nouveau controleur de sprite (level)
0399: uchar SCBtexte4[]; // d�claration d'un nouveau controleur de sprite (level)
0400: uchar SCBtexte5[]; // d�claration d'un nouveau controleur de sprite (level)
0401: 
0402: uchar SCBlife[]; // d�claration d'un nouveau controleur de sprite (score unit�)
0403: 
0404: #asm
0405: _SCBchiffres1     dc.b $c7,$10,$20
0406:           dc.w 0,0
0407:           dc.w 0,0,$100,$100
0408:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0409: ;
0410: _SCBchiffres2     dc.b $c7,$10,$20
0411:           dc.w 0,0
0412:           dc.w 0,0,$100,$100
0413:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0414: ;
0415: _SCBchiffres3     dc.b $c7,$10,$20
0416:           dc.w 0,0
0417:           dc.w 0,0,$100,$100
0418:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0419: ;
0420: _SCBchiffres4     dc.b $c7,$10,$20
0421:           dc.w 0,0
0422:           dc.w 0,0,$100,$100
0423:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0424: ;
0425: _SCBchiffres5     dc.b $c7,$10,$20
0426:           dc.w 0,0
0427:           dc.w 0,0,$100,$100
0428:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0429: ;
0430: _SCBscore1     dc.b $c7,$10,$20
0431:           dc.w 0,0
0432:           dc.w 0,0,$100,$100
0433:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0434: ;
0435: _SCBscore2     dc.b $c7,$10,$20
0436:           dc.w 0,0
0437:           dc.w 0,0,$100,$100
0438:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0439: ;
0440: _SCBscore3     dc.b $c7,$10,$20
0441:           dc.w 0,0
0442:           dc.w 0,0,$100,$100
0443:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0444: ;
0445: _SCBscore4     dc.b $c7,$10,$20
0446:           dc.w 0,0
0447:           dc.w 0,0,$100,$100
0448:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0449: ;
0450: _SCBtexte1     dc.b $c7,$10,$20
0451:           dc.w 0,0
0452:           dc.w 0,0,$100,$100
0453:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0454: ;
0455: _SCBtexte2     dc.b $c7,$10,$20
0456:           dc.w 0,0
0457:           dc.w 0,0,$100,$100
0458:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0459: ;
0460: _SCBtexte3     dc.b $c7,$10,$20
0461:           dc.w 0,0
0462:           dc.w 0,0,$100,$100
0463:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0464: ;
0465: _SCBtexte4     dc.b $c7,$10,$20
0466:           dc.w 0,0
0467:           dc.w 0,0,$100,$100
0468:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0469: ;
0470: _SCBtexte5     dc.b $c7,$10,$20
0471:           dc.w 0,0
0472:           dc.w 0,0,$100,$100
0473:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0474: ;
0475: _SCBlife     dc.b $c7,$10,$20
0476:           dc.w 0,0
0477:           dc.w 0,0,$100,$100
0478:           dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
0479: #endasm
0480: // ------------------------------------
0481: 
0482: 
0483: //_SCB7b dc.b $c5,$18,$20
0484: //  dc.w _SCBp1, hills
0485: //  dc.w 0,83,$100,$100
0486: //  dc.b $01, $23, $45, $67, $89,$Ab,$cd,$ef
0487: //
0488: 
0489: int posx,posy,level,score,xpush,ypush,relach;
0490: int i;
0491: 
0492: int atest,unite,dizaine,centaine,millier,dmillier,horszone;
0493: 
0494: char tempa,tempb,tempc,tempd,tempe,etape,filife,gspause,gsblip,mhaut,mbas; // de -128 � 127
0495: 
0496: int compti, comptx, compty;
0497: int tligne,nbrbriqx, nbrbriqy;
0498: 
0499: 
0500: 
0501: 
0502: 
0503: 
0504: 
0505: 
0506: // ------------------------------------
0507: uchar *brdata[42]; //6*7 = 42 tiles
0508: int cible, bbcontact, rebcot, brnbr, brie[42], brix[6] ,briy[7], pointx, tile_x, xboucle, iboucle, jboucle; // 5 car il y a 6 rang�es de tiles sur la m�me ligne (ligne car ecran vertical).
0509: 
0510: 
0511: ShowScreen() // Proc�dure de mise � jour des coordonn�es des 42 tiles.
0512: {
0513: 
0514:   SCBX(SCBrt01) = brix[0];
0515:   SCBX(SCBrt02) = brix[0];
0516:   SCBX(SCBrt03) = brix[0];
0517:   SCBX(SCBrt04) = brix[0];
0518:   SCBX(SCBrt05) = brix[0];
0519:   SCBX(SCBrt06) = brix[0];
0520:   SCBX(SCBrt07) = brix[0];
0521: 
0522:   SCBX(SCBrt08) = brix[1];
0523:   SCBX(SCBrt09) = brix[1];
0524:   SCBX(SCBrt10) = brix[1];
0525:   SCBX(SCBrt11) = brix[1];
0526:   SCBX(SCBrt12) = brix[1];
0527:   SCBX(SCBrt13) = brix[1];
0528:   SCBX(SCBrt14) = brix[1];
0529: 
0530:   SCBX(SCBrt15) = brix[2];
0531:   SCBX(SCBrt16) = brix[2];
0532:   SCBX(SCBrt17) = brix[2];
0533:   SCBX(SCBrt18) = brix[2];
0534:   SCBX(SCBrt19) = brix[2];
0535:   SCBX(SCBrt20) = brix[2];
0536:   SCBX(SCBrt21) = brix[2];
0537: 
0538:   SCBX(SCBrt22) = brix[3];
0539:   SCBX(SCBrt23) = brix[3];
0540:   SCBX(SCBrt24) = brix[3];
0541:   SCBX(SCBrt25) = brix[3];
0542:   SCBX(SCBrt26) = brix[3];
0543:   SCBX(SCBrt27) = brix[3];
0544:   SCBX(SCBrt28) = brix[3];
0545: 
0546:   SCBX(SCBrt29) = brix[4];
0547:   SCBX(SCBrt30) = brix[4];
0548:   SCBX(SCBrt31) = brix[4];
0549:   SCBX(SCBrt32) = brix[4];
0550:   SCBX(SCBrt33) = brix[4];
0551:   SCBX(SCBrt34) = brix[4];
0552:   SCBX(SCBrt35) = brix[4];
0553: 
0554:   SCBX(SCBrt36) = brix[5];
0555:   SCBX(SCBrt37) = brix[5];
0556:   SCBX(SCBrt38) = brix[5];
0557:   SCBX(SCBrt39) = brix[5];
0558:   SCBX(SCBrt40) = brix[5];
0559:   SCBX(SCBrt41) = brix[5];
0560:   SCBX(SCBrt42) = brix[5];
0561:  
0562:  SCBY(SCBrt01) = briy[0];SCBY(SCBrt08) = briy[0];SCBY(SCBrt15) = briy[0];SCBY(SCBrt22) = briy[0];SCBY(SCBrt29) = briy[0];SCBY(SCBrt36) = briy[0];
0563:  SCBY(SCBrt02) = briy[1];SCBY(SCBrt09) = briy[1];SCBY(SCBrt16) = briy[1];SCBY(SCBrt23) = briy[1];SCBY(SCBrt30) = briy[1];SCBY(SCBrt37) = briy[1];
0564:  SCBY(SCBrt03) = briy[2];SCBY(SCBrt10) = briy[2];SCBY(SCBrt17) = briy[2];SCBY(SCBrt24) = briy[2];SCBY(SCBrt31) = briy[2];SCBY(SCBrt38) = briy[2];
0565:  SCBY(SCBrt04) = briy[3];SCBY(SCBrt11) = briy[3];SCBY(SCBrt18) = briy[3];SCBY(SCBrt25) = briy[3];SCBY(SCBrt32) = briy[3];SCBY(SCBrt39) = briy[3];
0566:  SCBY(SCBrt05) = briy[4];SCBY(SCBrt12) = briy[4];SCBY(SCBrt19) = briy[4];SCBY(SCBrt26) = briy[4];SCBY(SCBrt33) = briy[4];SCBY(SCBrt40) = briy[4];
0567:  SCBY(SCBrt06) = briy[5];SCBY(SCBrt13) = briy[5];SCBY(SCBrt20) = briy[5];SCBY(SCBrt27) = briy[5];SCBY(SCBrt34) = briy[5];SCBY(SCBrt41) = briy[5];
0568:  SCBY(SCBrt07) = briy[6];SCBY(SCBrt14) = briy[6];SCBY(SCBrt21) = briy[6];SCBY(SCBrt28) = briy[6];SCBY(SCBrt35) = briy[6];SCBY(SCBrt42) = briy[6];
0569: 
0570: }
0571: 
0572: 
0573: // assembler vertical retrace syncronisation routine
0574: void Vsync()
0575: {
0576: #asm
0577: vretrace:
0578:  lda $fd0a
0579:  bne vretrace
0580: #endasm
0581: }
0582: /**************************************************************************
0583: 
0584: ATTENTION : Ci-dessous un tableau de valeurs : ces valeurs ne pourront pas �tre modifi� par la suite.
0585: 
0586: La variable brie[42] sera donc utilis� pour modifier l'�tat des 42 tiles.
0587: **************************************************************************/
0588: #include "rdata.h"
0589: 
0590: /**************************************************************************
0591: **                                                                       **
0592: **                                                                       **
0593: **************************************************************************/
0594: char main()
0595: {
0596:   InitIRQ();
0597:   CLI;
0598: 
0599:   SetBuffers(SCREEN, RENDER ,0);
0600: 
0601:   /* set the palette */
0602:   SetRGB(pal); //  Ceci sert � changer la palette de la Lynx.
0603:   //DrawFBox(0,0,160,102,0);
0604: 
0605: /**
0606:  SCBX(SCB) = 0;
0607:  SCBY(SCB) = 0;
0608:  SCBDATA(SCB) = fond1;
0609:  SCBNEXT(SCB) = SCBromeo; // chainage de sprite
0610:  
0611:  **/
0612: 
0613: 
0614: horszone=500;// mettre les tiles hors de l'�cran visible. Sprite tile d'une taille de 34*34.
0615: 
0616:   SCBX(SCBrt01) = 0;SCBY(SCBrt01) = 0-horszone;
0617:   SCBDATA(SCBrt01) = rttab[0%14]; //
0618:   SCBNEXT(SCBrt01) = SCBrt02; // chainage de la tile 02
0619:   SCBY(SCBrt02) = 34-horszone;
0620:   SCBDATA(SCBrt02) = rttab[0%14]; //
0621:   SCBNEXT(SCBrt02) = SCBrt03; // chainage de la tile 03
0622:   SCBY(SCBrt03) = 68-horszone;
0623:   SCBDATA(SCBrt03) = rttab[0%14]; //
0624:   SCBNEXT(SCBrt03) = SCBrt04; // chainage de la tile 04
0625:   SCBY(SCBrt04) = 102-horszone;
0626:   SCBDATA(SCBrt04) = rttab[0%14]; //
0627:   SCBNEXT(SCBrt04) = SCBrt05; // chainage de la tile 05
0628:   SCBY(SCBrt05) = 136-horszone;
0629:   SCBDATA(SCBrt05) = rttab[0%14]; //
0630:   SCBNEXT(SCBrt05) = SCBrt06; // chainage de la tile 06
0631:   SCBY(SCBrt06) = 170-horszone;
0632:   SCBDATA(SCBrt06) = rttab[0%14]; //
0633:   SCBNEXT(SCBrt06) = SCBrt07; // chainage de la tile 07
0634:   SCBY(SCBrt07) = 204-horszone;
0635:   SCBDATA(SCBrt07) = rttab[0%14]; //
0636: 
0637:   SCBNEXT(SCBrt07) = SCBrt08; // chainage de la tile 08
0638:   SCBY(SCBrt08) = 0-horszone;
0639:   SCBDATA(SCBrt08) = rttab[0%14]; //
0640:   SCBNEXT(SCBrt08) = SCBrt09; // chainage de la tile 09
0641:   SCBY(SCBrt09) = 34-horszone;
0642:   SCBDATA(SCBrt09) = rttab[0%14]; //
0643:   SCBNEXT(SCBrt09) = SCBrt10; // chainage de la tile 10
0644:   SCBY(SCBrt10) = 68-horszone;
0645:   SCBDATA(SCBrt10) = rttab[0%14]; //
0646:   SCBNEXT(SCBrt10) = SCBrt11; // chainage de la tile 11
0647:   SCBY(SCBrt11) = 102-horszone;
0648:   SCBDATA(SCBrt11) = rttab[0%14]; //
0649:   SCBNEXT(SCBrt11) = SCBrt12; // chainage de la tile 12
0650:   SCBY(SCBrt12) = 136-horszone;
0651:   SCBDATA(SCBrt12) = rttab[0%14]; //
0652:   SCBNEXT(SCBrt12) = SCBrt13; // chainage de la tile 13
0653:   SCBY(SCBrt13) = 170-horszone;
0654:   SCBDATA(SCBrt13) = rttab[0%14]; //
0655:   SCBNEXT(SCBrt13) = SCBrt14; // chainage de la tile 14
0656:   SCBY(SCBrt14) = 204-horszone;
0657:   SCBDATA(SCBrt14) = rttab[0%14]; //
0658: 
0659:   SCBNEXT(SCBrt14) = SCBrt15; // chainage de la tile 15
0660:   SCBY(SCBrt15) = 0-horszone;
0661:   SCBDATA(SCBrt15) = rttab[0%14]; //
0662:   SCBNEXT(SCBrt15) = SCBrt16; // chainage de la tile 16
0663:   SCBY(SCBrt16) = 34-horszone;
0664:   SCBDATA(SCBrt16) = rttab[0%14]; //
0665:   SCBNEXT(SCBrt16) = SCBrt17; // chainage de la tile 17
0666:   SCBY(SCBrt17) = 68-horszone;
0667:   SCBDATA(SCBrt17) = rttab[0%14]; //
0668:   SCBNEXT(SCBrt17) = SCBrt18; // chainage de la tile 18
0669:   SCBY(SCBrt18) = 102-horszone;
0670:   SCBDATA(SCBrt18) = rttab[0%14]; //
0671:   SCBNEXT(SCBrt18) = SCBrt19; // chainage de la tile 19
0672:   SCBY(SCBrt19) = 136-horszone;
0673:   SCBDATA(SCBrt19) = rttab[0%14]; //
0674:   SCBNEXT(SCBrt19) = SCBrt20; // chainage de la tile 20
0675:   SCBY(SCBrt20) = 170-horszone;
0676:   SCBDATA(SCBrt20) = rttab[0%14]; //
0677:   SCBNEXT(SCBrt20) = SCBrt21; // chainage de la tile 21
0678:   SCBY(SCBrt21) = 204-horszone;
0679:   SCBDATA(SCBrt21) = rttab[0%14]; //
0680: 
0681:   SCBNEXT(SCBrt21) = SCBrt22; // chainage de la tile 22
0682:   SCBY(SCBrt22) = 0-horszone;
0683:   SCBDATA(SCBrt22) = rttab[0%14]; //
0684:   SCBNEXT(SCBrt22) = SCBrt23; // chainage de la tile 23
0685:   SCBY(SCBrt23) = 34-horszone;
0686:   SCBDATA(SCBrt23) = rttab[0%14]; //
0687:   SCBNEXT(SCBrt23) = SCBrt24; // chainage de la tile 24
0688:   SCBY(SCBrt24) = 68-horszone;
0689:   SCBDATA(SCBrt24) = rttab[0%14]; //
0690:   SCBNEXT(SCBrt24) = SCBrt25; // chainage de la tile 25
0691:   SCBY(SCBrt25) = 102-horszone;
0692:   SCBDATA(SCBrt25) = rttab[0%14]; //
0693:   SCBNEXT(SCBrt25) = SCBrt26; // chainage de la tile 26
0694:   SCBY(SCBrt26) = 136-horszone;
0695:   SCBDATA(SCBrt26) = rttab[0%14]; //
0696:   SCBNEXT(SCBrt26) = SCBrt27; // chainage de la tile 27
0697:   SCBY(SCBrt27) = 170-horszone;
0698:   SCBDATA(SCBrt27) = rttab[0%14]; //
0699:   SCBNEXT(SCBrt27) = SCBrt28; // chainage de la tile 28
0700:   SCBY(SCBrt28) = 204-horszone;
0701:   SCBDATA(SCBrt28) = rttab[0%14]; //
0702: 
0703:   SCBNEXT(SCBrt28) = SCBrt29; // chainage de la tile 29
0704:   SCBY(SCBrt29) = 0-horszone;
0705:   SCBDATA(SCBrt29) = rttab[0%14]; //
0706:   SCBNEXT(SCBrt29) = SCBrt30; // chainage de la tile 30
0707:   SCBY(SCBrt30) = 34-horszone;
0708:   SCBDATA(SCBrt30) = rttab[0%14]; //
0709:   SCBNEXT(SCBrt30) = SCBrt31; // chainage de la tile 31
0710:   SCBY(SCBrt31) = 68-horszone;
0711:   SCBDATA(SCBrt31) = rttab[0%14]; //
0712:   SCBNEXT(SCBrt31) = SCBrt32; // chainage de la tile 32
0713:   SCBY(SCBrt32) = 102-horszone;
0714:   SCBDATA(SCBrt32) = rttab[0%14]; //
0715:   SCBNEXT(SCBrt32) = SCBrt33; // chainage de la tile 33
0716:   SCBY(SCBrt33) = 136-horszone;
0717:   SCBDATA(SCBrt33) = rttab[0%14]; //
0718:   SCBNEXT(SCBrt33) = SCBrt34; // chainage de la tile 34
0719:   SCBY(SCBrt34) = 170-horszone;
0720:   SCBDATA(SCBrt34) = rttab[0%14]; //
0721:   SCBNEXT(SCBrt34) = SCBrt35; // chainage de la tile 35
0722:   SCBY(SCBrt35) = 204-horszone;
0723:   SCBDATA(SCBrt35) = rttab[0%14]; //
0724: 
0725:   SCBNEXT(SCBrt35) = SCBrt36; // chainage de la tile 36
0726:   SCBY(SCBrt36) = 0-horszone;
0727:   SCBDATA(SCBrt36) = rttab[0%14]; //
0728:   SCBNEXT(SCBrt36) = SCBrt37; // chainage de la tile 37
0729:   SCBY(SCBrt37) = 34-horszone;
0730:   SCBDATA(SCBrt37) = rttab[0%14]; //
0731:   SCBNEXT(SCBrt37) = SCBrt38; // chainage de la tile 38
0732:   SCBY(SCBrt38) = 68-horszone;
0733:   SCBDATA(SCBrt38) = rttab[0%14]; //
0734:   SCBNEXT(SCBrt38) = SCBrt39; // chainage de la tile 39
0735:   SCBY(SCBrt39) = 102-horszone;
0736:   SCBDATA(SCBrt39) = rttab[0%14]; //
0737:   SCBNEXT(SCBrt39) = SCBrt40; // chainage de la tile 40
0738:   SCBY(SCBrt40) = 136-horszone;
0739:   SCBDATA(SCBrt40) = rttab[0%14]; //
0740:   SCBNEXT(SCBrt40) = SCBrt41; // chainage de la tile 41
0741:   SCBY(SCBrt41) = 170-horszone;
0742:   SCBDATA(SCBrt41) = rttab[0%14]; //
0743:   SCBNEXT(SCBrt41) = SCBrt42; // chainage de la tile 42
0744:   SCBY(SCBrt42) = 204-horszone;
0745:   SCBDATA(SCBrt42) = rttab[0%14]; //
0746: 
0747: 
0748:   SCBNEXT(SCBrt42) = SCBca; // chainage de la voiture
0749:   SCBX(SCBca) = 32;SCBY(SCBca) = 51;
0750:   SCBDATA(SCBca) = catab[0%3]; //
0751: 
0752: 
0753: 
0754: 
0755:  
0756: //  SCBNEXT(SCBrt09) = SCBrt10; // chainage de la tile 10
0757: //  SCBX(SCBrt10) = 95-horszone;
0758: //  SCBY(SCBrt10) = 16+56;
0759: //  SCBDATA(SCBrt10) = brtab[0%4]; //
0760: //[0]
0761: 
0762: // 2�me sprite chain� (test)
0763:   SCBX(SCBchiffres1) = 0;SCBY(SCBchiffres1) = 0;
0764:   //SCBDATA(SCBchiffres1) = chiffres;    
0765:   SCBNEXT(SCBchiffres1) = SCBchiffres2; // chainage de sprite
0766:   SCBX(SCBchiffres2) = 0;SCBY(SCBchiffres2) = 0;
0767:   //SCBDATA(SCBchiffres2) = chiffres;  
0768:   SCBNEXT(SCBchiffres2) = SCBchiffres3; // chainage de sprite
0769:   SCBX(SCBchiffres3) = 0;SCBY(SCBchiffres3) = 0;
0770:   //SCBDATA(SCBchiffres3) = chiffres;  
0771:   SCBNEXT(SCBchiffres3) = SCBchiffres4; // chainage de sprite
0772:   SCBX(SCBchiffres4) = 0;SCBY(SCBchiffres4) = 0;
0773:   SCBNEXT(SCBchiffres4) = SCBchiffres5; // chainage de sprite
0774:   SCBX(SCBchiffres5) = 0;SCBY(SCBchiffres5) = 0;
0775:  
0776:  
0777:  
0778: // truc bien pratique : associer les tiles du tableau � une variable num�rot�.
0779: brdata[0] = SCBrt01;brdata[1] = SCBrt02;brdata[2] = SCBrt03;brdata[3] = SCBrt04;brdata[4] = SCBrt05;brdata[5] = SCBrt06;brdata[6] = SCBrt07;
0780: brdata[7] = SCBrt08;brdata[8] = SCBrt09;brdata[9] = SCBrt10;brdata[10] = SCBrt11;brdata[11] = SCBrt12;brdata[12] = SCBrt13;brdata[13] = SCBrt14;
0781: brdata[14] = SCBrt15;brdata[15] = SCBrt16;brdata[16] = SCBrt17;brdata[17] = SCBrt18;brdata[18] = SCBrt19;brdata[19] = SCBrt20;brdata[20] = SCBrt21;
0782: brdata[21] = SCBrt22;brdata[22] = SCBrt23;brdata[23] = SCBrt24;brdata[24] = SCBrt25;brdata[25] = SCBrt26;brdata[26] = SCBrt27;brdata[27] = SCBrt28;
0783: brdata[28] = SCBrt29;brdata[29] = SCBrt30;brdata[30] = SCBrt31;brdata[31] = SCBrt32;brdata[32] = SCBrt33;brdata[33] = SCBrt34;brdata[34] = SCBrt35;
0784: brdata[35] = SCBrt36;brdata[36] = SCBrt37;brdata[37] = SCBrt38;brdata[38] = SCBrt39;brdata[39] = SCBrt40;brdata[40] = SCBrt41;brdata[41] = SCBrt42;
0785: 
0786: 
0787: /**************************************************************************
0788: 
0789: level=1;
0790: //  for(comptx=0 ; comptx<5; comptx++) // de 0 � 4, ce qui fait 5.
0791: //   {
0792:    for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
0793:     {
0794:     if (level==1)
0795:      {
0796:      //SCBDATA(brdata[comptx+(compty*5)]) = rttab[tbr01[compty][comptx]%14];
0797:      SCBDATA(brdata[0 + (compty)]) = rttab[tbr01[0][compty]%14];
0798:      
0799:      }
0800:     }
0801: //   }
0802:    for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
0803:     {
0804:     if (level==1)
0805:      {
0806:      //SCBDATA(brdata[comptx+(compty*5)]) = rttab[tbr01[compty][comptx]%14];
0807:      SCBDATA(brdata[0 + (compty+9)]) = rttab[tbr01[1][compty]%14];
0808:      
0809:      }
0810:     }
0811:    for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
0812:     {
0813:     if (level==1)
0814:      {
0815:      //SCBDATA(brdata[comptx+(compty*5)]) = rttab[tbr01[compty][comptx]%14];
0816:      SCBDATA(brdata[0 + (compty+18)]) = rttab[tbr01[2][compty]%14];
0817:      
0818:      }
0819:     }
0820:    for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
0821:     {
0822:     if (level==1)
0823:      {
0824:      //SCBDATA(brdata[comptx+(compty*5)]) = rttab[tbr01[compty][comptx]%14];
0825:      SCBDATA(brdata[0 + (compty+27)]) = rttab[tbr01[3][compty]%14];
0826:      
0827:      }
0828:     }
0829:    for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
0830:     {
0831:     if (level==1)
0832:      {
0833:      //SCBDATA(brdata[comptx+(compty*5)]) = rttab[tbr01[compty][comptx]%14];
0834:      SCBDATA(brdata[0 + (compty+36)]) = rttab[tbr01[4][compty]%14];
0835:      
0836:      }
0837:     }
0838: **************************************************************************/
0839: 
0840: /**************************************************************************
0841: 
0842:  //�a marche !
0843:   comptx=0;
0844:   SCBDATA(brdata[comptx]) = rttab[tbr01[0][0]%14];
0845:   comptx=1;
0846:   SCBDATA(brdata[comptx]) = rttab[tbr01[0][1]%14];
0847:   comptx=2;
0848:   SCBDATA(brdata[comptx]) = rttab[tbr01[0][2]%14];
0849:   comptx=3;
0850:   SCBDATA(brdata[comptx]) = rttab[tbr01[0][3]%14];
0851:   comptx=4;
0852:   SCBDATA(brdata[comptx]) = rttab[tbr01[0][4]%14];
0853: **************************************************************************/
0854: 
0855: 
0856: 
0857: 
0858: 
0859: 
0860:  
0861: /**************************************************************************
0862: **                       BOUCLE PRINCIPALE                               **
0863: **************************************************************************/    
0864:   while(1)
0865: {
0866: //  for( ; ; )
0867: 
0868:   Vsync();
0869:   SwapBuffers();
0870: //update_music(); // petite subtilit� de la gestion sonore
0871: 
0872: 
0873: 
0874: 
0875: 
0876:  ++gsblip; // economie ressource machine --> certaines des conditions n'ont pas besoin d'�tre lu par la LYNX � chaque boucle.
0877:  if (gsblip==5)
0878:  {
0879:  gsblip=1;
0880: 
0881:  if (switches & BUTTON_PAUSE)
0882:   {
0883:   if (gspause==0) {gspause=1;} //silence();abcmusic(0,abcaptvir);}
0884:   }
0885:  if (!(switches & BUTTON_PAUSE))
0886:   {
0887:   if (gspause==1) gspause=2;
0888:   }
0889: 
0890:  if (switches & BUTTON_PAUSE)
0891:   {
0892:   if (gspause==2) gspause=3;
0893:   }
0894: 
0895:  if (!(switches & BUTTON_PAUSE))
0896:   {
0897:   if (gspause==3) gspause=0;
0898:   }
0899:  }
0900: 
0901: 
0902: 
0903: /**************************************************************************
0904: **************************************************************************/
0905:  if (etape>=0 & etape<=4)  // �cran titre
0906:  {
0907:  ++tempa;
0908:  if (tempa>16) {tempa=0;etape=9;}
0909:  }
0910: // Affichage des sprites chain�:  
0911: /**************************************************************************
0912: **************************************************************************/
0913:  if (etape==9)  // coordonn�es affichage texte "LEVEL", et surtout application des choix de la nature des tiles (voir tables de donn�es plus haut).
0914:  {
0915:  ++etape;
0916:  
0917:  //horszone=0;
0918:  
0919:  }
0920: /**************************************************************************
0921: **************************************************************************/
0922:  if (etape==10)  // ecran level
0923:  {
0924:  brix[0] = 0;
0925:  brix[1] = 34;
0926:  brix[2] = 68;
0927:  brix[3] = 102;
0928:  brix[4] = 136;
0929:  brix[5] = 170;
0930:  
0931:  briy[0]=0;briy[1]=34;briy[2]=68;briy[3]=102;briy[4]=136;briy[5]=170;briy[6]=204;//briy[7]=238;briy[8]=272;
0932:  
0933:  ShowScreen(); // Coordonn�es de toutes les tiles (voir la proc�dure situ� au d�but de ce joyeux code).
0934:  
0935:  level=1;
0936: //  for(comptx=0 ; comptx<5; comptx++) // de 0 � 4, ce qui fait 5.
0937: //   {
0938:    for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
0939:     {
0940:     if (level==1)
0941:      {
0942:      //SCBDATA(brdata[comptx+(compty*5)]) = rttab[tbr01[compty][comptx]%14];
0943:      SCBDATA(brdata[0 + (compty)]) = rttab[tbr01[0][compty]%14];
0944:      
0945:      }
0946:     }
0947: //   }
0948:    for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
0949:     {
0950:     if (level==1)
0951:      {
0952:      //SCBDATA(brdata[comptx+(compty*5)]) = rttab[tbr01[compty][comptx]%14];
0953:      SCBDATA(brdata[0 + (compty+7)]) = rttab[tbr01[1][compty]%14];
0954:      
0955:      }
0956:     }
0957:    for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
0958:     {
0959:     if (level==1)
0960:      {
0961:      //SCBDATA(brdata[comptx+(compty*5)]) = rttab[tbr01[compty][comptx]%14];
0962:      SCBDATA(brdata[0 + (compty+14)]) = rttab[tbr01[2][compty]%14];
0963:      
0964:      }
0965:     }
0966:    for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
0967:     {
0968:     if (level==1)
0969:      {
0970:      //SCBDATA(brdata[comptx+(compty*5)]) = rttab[tbr01[compty][comptx]%14];
0971:      SCBDATA(brdata[0 + (compty+21)]) = rttab[tbr01[3][compty]%14];
0972:      
0973:      }
0974:     }
0975:    for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
0976:     {
0977:     if (level==1)
0978:      {
0979:      //SCBDATA(brdata[comptx+(compty*5)]) = rttab[tbr01[compty][comptx]%14];
0980:      SCBDATA(brdata[0 + (compty+28)]) = rttab[tbr01[4][compty]%14];
0981:      
0982:      }
0983:     }
0984:    for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
0985:     {
0986:     if (level==1)
0987:      {
0988:      //SCBDATA(brdata[comptx+(compty*5)]) = rttab[tbr01[compty][comptx]%14];
0989:      SCBDATA(brdata[0 + (compty+35)]) = rttab[tbr01[5][compty]%14];
0990:      
0991:      }
0992:     }
0993:  etape=20;pointx=0;
0994:  
0995:  
0996: // if (level==1)
0997: //  {
0998: //  
0999: //  }
1000:  
1001:  }
1002:  
1003:  if (etape==20)  // ecran level
1004:  {
1005:  /**************************************************************************
1006:  #define JOY_DOWN  0x40
1007:  #define JOY_UP   0x80
1008: 
1009:  #define JOY_RIGHT  0x10
1010:  #define JOY_LEFT  0x20
1011: 
1012:  brix[0] = 0;
1013:  brix[1] = 34;
1014:  brix[2] = 68;
1015:  brix[3] = 102;
1016:  brix[4] = 136;
1017:  
1018:   if (joystick & JOY_UP)  {
1019:          //yplayer=yplayer-2;
1020:          //if (yplayer<15) {yplayer=15;}
1021:          ++brix[0];++brix[1];++brix[2];++brix[3];++brix[4];
1022:          }
1023:  
1024:   if (joystick & JOY_DOWN) {
1025:          //yplayer=yplayer+2;
1026:          //if (yplayer>87) {yplayer=87;} // (102-24 = 78-3 = 75) ; 24 = largeur de la raquette
1027:          --brix[0];--brix[1];--brix[2];--brix[3];--brix[4];
1028:          }
1029:  **************************************************************************/
1030: 
1031: 
1032:   /** Coordonn�es des 42 Tiles, r�parties en 19 colonnes (de 0 � 18). Il est bien s�r possible d'afficher plus de colonne encore. **/
1033:   if (joystick & JOY_LEFT) {
1034:          //yplayer=yplayer-2;
1035:          //if (yplayer<15) {yplayer=15;}
1036:          
1037:          //if (pointx>0)
1038:          if (tile_x>0 | (tile_x==0 & pointx>0))
1039:          //if (tile_x>0 | (tile_x==0 & pointx>0))
1040:           {
1041:           --pointx;
1042:           ++brix[0];++brix[1];++brix[2];++brix[3];++brix[4];++brix[5];
1043:           }
1044:          if (pointx<0) // tile d'une taille de 34*34 --> 0 � 33
1045:           {
1046:           pointx=33;
1047:           if (tile_x>0) --tile_x;
1048:           //
1049: /**
1050:           if (tile_x==0)
1051:            {
1052:            brix[0]=-33;
1053:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1054:             {
1055:             SCBDATA(brdata[0 + (compty)]) = rttab[tbr01[0][compty]%14]; // lecture donn�e
1056:             }
1057:            }
1058:           if (tile_x==1)
1059:            {
1060:            brix[1]=-33;
1061:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1062:             {
1063:             SCBDATA(brdata[0 + (compty+7)]) = rttab[tbr01[1][compty]%14]; // lecture donn�e
1064:             }
1065:            }
1066:           if (tile_x==2)
1067:            {
1068:            brix[2]=-33;
1069:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1070:             {
1071:              SCBDATA(brdata[0 + (compty+14)]) = rttab[tbr01[2][compty]%14]; // lecture donn�e
1072:             }
1073:            }
1074:           if (tile_x==3)
1075:            {
1076:            brix[3]=-33;
1077:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1078:             {
1079:             SCBDATA(brdata[0 + (compty+21)]) = rttab[tbr01[3][compty]%14]; // lecture donn�e
1080:             }
1081:            }
1082:           if (tile_x==4)
1083:            {
1084:            brix[4]=-33;
1085:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1086:             {
1087:             SCBDATA(brdata[0 + (compty+28)]) = rttab[tbr01[4][compty]%14]; // lecture donn�e
1088:             }
1089:            }
1090:           if (tile_x==5)
1091:            {
1092:            brix[5]=-33;
1093:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1094:             {
1095:             SCBDATA(brdata[0 + (compty+35)]) = rttab[tbr01[5][compty]%14]; // lecture donn�e
1096:             }
1097:            }
1098: **/
1099: 
1100:            
1101:            
1102:            
1103: /**
1104:           if (tile_x==6)
1105:            {
1106:            brix[0]=-33;
1107:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1108:             {
1109:             SCBDATA(brdata[0 + (compty)]) = rttab[tbr01[6][compty]%14]; // lecture donn�e
1110:             }
1111:            }
1112:           if (tile_x==7)
1113:            {
1114:            brix[1]=-33;
1115:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1116:             {
1117:             SCBDATA(brdata[0 + (compty+7)]) = rttab[tbr01[7][compty]%14]; // lecture donn�e
1118:             }
1119:            }
1120:           if (tile_x==8)
1121:            {
1122:            brix[2]=-33;
1123:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1124:             {
1125:             SCBDATA(brdata[0 + (compty+14)]) = rttab[tbr01[8][compty]%14]; // lecture donn�e
1126:             }
1127:            }
1128:           if (tile_x==9)
1129:            {
1130:            brix[3]=-33;
1131:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1132:             {
1133:             SCBDATA(brdata[0 + (compty+21)]) = rttab[tbr01[9][compty]%14]; // lecture donn�e
1134:             }
1135:            }
1136:           if (tile_x==10)
1137:            {
1138:            brix[4]=-33;
1139:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1140:             {
1141:             SCBDATA(brdata[0 + (compty+28)]) = rttab[tbr01[10][compty]%14]; // lecture donn�e
1142:             }
1143:            }
1144:           if (tile_x==11)
1145:            {
1146:            brix[5]=-33;
1147:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1148:             {
1149:             SCBDATA(brdata[0 + (compty+35)]) = rttab[tbr01[11][compty]%14]; // lecture donn�e
1150:             }
1151:            }
1152: **/
1153: 
1154:            
1155:            
1156:            
1157:            
1158: /**
1159:           if (tile_x==12)
1160:            {
1161:            brix[0]=-33;
1162:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1163:             {
1164:             SCBDATA(brdata[0 + (compty)]) = rttab[tbr01[12][compty]%14]; // lecture donn�e
1165:             }
1166:            }
1167:           if (tile_x==13)
1168:            {
1169:            brix[1]=-33;
1170:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1171:             {
1172:             SCBDATA(brdata[0 + (compty+7)]) = rttab[tbr01[13][compty]%14]; // lecture donn�e
1173:             }
1174:            }
1175:           if (tile_x==14)
1176:            {
1177:            brix[2]=-33;
1178:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1179:             {
1180:             SCBDATA(brdata[0 + (compty+14)]) = rttab[tbr01[14][compty]%14]; // lecture donn�e
1181:             }
1182:            }
1183:           if (tile_x==15)
1184:            {
1185:            brix[3]=-33;
1186:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1187:             {
1188:             SCBDATA(brdata[0 + (compty+21)]) = rttab[tbr01[15][compty]%14]; // lecture donn�e
1189:             }
1190:            }
1191:           if (tile_x==16)
1192:            {
1193:            brix[4]=-33;
1194:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1195:             {
1196:             SCBDATA(brdata[0 + (compty+28)]) = rttab[tbr01[16][compty]%14]; // lecture donn�e
1197:             }
1198:            }
1199:           if (tile_x==17)
1200:            {
1201:            brix[5]=-33;
1202:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1203:             {
1204:             SCBDATA(brdata[0 + (compty+35)]) = rttab[tbr01[17][compty]%14]; // lecture donn�e
1205:             }
1206:            }
1207: **/
1208:           if (tile_x<6) // 0 1 2 3 4 5
1209:            {
1210:            jboucle=tile_x;
1211:            
1212:            brix[jboucle]=-33;
1213:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1214:             {
1215:             xboucle=jboucle;xboucle=xboucle*7;
1216:             iboucle=tile_x;//iboucle=iboucle+5;
1217:             SCBDATA(brdata[0 + (compty+xboucle)]) = rttab[tbr01[iboucle][compty]%14]; // lecture donn�e
1218:             }
1219:            }
1220:           if (tile_x>5 & tile_x<12) // 6 7 8 9 10 11
1221:            {
1222:            jboucle=tile_x;jboucle=jboucle-6;
1223:            brix[jboucle]=-33;
1224:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1225:             {
1226:             xboucle=jboucle;xboucle=xboucle*7;
1227:             iboucle=tile_x;//iboucle=iboucle+5;
1228:             SCBDATA(brdata[0 + (compty+xboucle)]) = rttab[tbr01[iboucle][compty]%14]; // lecture donn�e
1229:             }
1230:            }
1231:           if (tile_x>11 & tile_x<18) // 12 13 14 15 16 17
1232:            {
1233:            jboucle=tile_x;jboucle=jboucle-12;
1234:            brix[jboucle]=-33;
1235:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1236:             {
1237:             xboucle=jboucle;xboucle=xboucle*7;
1238:             iboucle=tile_x;//iboucle=iboucle+5;
1239:             SCBDATA(brdata[0 + (compty+xboucle)]) = rttab[tbr01[iboucle][compty]%14]; // lecture donn�e
1240:             }
1241:            }
1242:           if (tile_x>17 & tile_x<24) // 18 19 20 21 22 23
1243:            {
1244:            jboucle=tile_x;jboucle=jboucle-18;
1245:            brix[jboucle]=-33;
1246:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1247:             {
1248:             xboucle=jboucle;xboucle=xboucle*7;
1249:             iboucle=tile_x;//iboucle=iboucle+5;
1250:             SCBDATA(brdata[0 + (compty+xboucle)]) = rttab[tbr01[iboucle][compty]%14]; // lecture donn�e
1251:             }
1252:            }
1253:           }
1254:          
1255:          }
1256: 
1257: 
1258:   if (joystick & JOY_RIGHT) {
1259:          //yplayer=yplayer+2;
1260:          //if (yplayer>87) {yplayer=87;} // (102-24 = 78-3 = 75) ; 24 = largeur de la raquette
1261:          
1262:          if (tile_x<25 | (tile_x==25 & pointx<10))
1263:           {
1264:           ++pointx;
1265:           --brix[0];--brix[1];--brix[2];--brix[3];--brix[4];--brix[5];
1266:           }
1267:           if (pointx>33)
1268:           {
1269:           pointx=0;
1270:           ++tile_x;
1271:          
1272: /**************************************************************************
1273:           if (tile_x==1)
1274:            {
1275:            brix[0]=170; // 1ere colonne de sprites plac�e � droite.
1276:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1277:             {
1278:             SCBDATA(brdata[0 + (compty)]) = rttab[tbr01[6][compty]%14]; // lecture donn�e
1279:             }
1280:            }
1281:           if (tile_x==2)
1282:            {
1283:            brix[1]=170; // 2eme colonne de sprites plac�e � droite.
1284:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1285:             {
1286:             SCBDATA(brdata[0 + (compty+7)]) = rttab[tbr01[7][compty]%14];  // lecture donn�e
1287:             }
1288:            }
1289:           if (tile_x==3)
1290:            {
1291:            brix[2]=170; // 3eme colonne de sprites plac�e � droite.
1292:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1293:             {
1294:             SCBDATA(brdata[0 + (compty+14)]) = rttab[tbr01[8][compty]%14];  // lecture donn�e
1295:             }
1296:            }
1297:           if (tile_x==4)
1298:            {
1299:            brix[3]=170; // 4eme colonne de sprites plac�e � droite.
1300:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1301:             {
1302:             SCBDATA(brdata[0 + (compty+21)]) = rttab[tbr01[9][compty]%14];  // lecture donn�e
1303:             }
1304:            }
1305:           if (tile_x==5)
1306:            {
1307:            brix[4]=170; // 5eme colonne de sprites plac�e � droite.
1308:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1309:             {
1310:             SCBDATA(brdata[0 + (compty+28)]) = rttab[tbr01[10][compty]%14];  // lecture donn�e
1311:             }
1312:            }
1313:           if (tile_x==6)
1314:            {
1315:            brix[5]=170; // 6eme colonne de sprites plac�e � droite.
1316:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1317:             {
1318:             SCBDATA(brdata[0 + (compty+35)]) = rttab[tbr01[11][compty]%14];  // lecture donn�e
1319:             }
1320:            }
1321: 
1322:           if (tile_x==7)
1323:            {
1324:            brix[0]=170; // 1ere colonne de sprites plac�e � droite.
1325:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1326:             {
1327:             SCBDATA(brdata[0 + (compty)]) = rttab[tbr01[12][compty]%14];  // lecture donn�e
1328:             }
1329:            }
1330:           if (tile_x==8)
1331:            {
1332:            brix[1]=170; // 1ere colonne de sprites plac�e � droite.
1333:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1334:             {
1335:             SCBDATA(brdata[0 + (compty+7)]) = rttab[tbr01[13][compty]%14];  // lecture donn�e
1336:             }
1337:            }
1338:           if (tile_x==9)
1339:            {
1340:            brix[2]=170; // 1ere colonne de sprites plac�e � droite.
1341:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1342:             {
1343:             SCBDATA(brdata[0 + (compty+14)]) = rttab[tbr01[14][compty]%14];  // lecture donn�e
1344:             }
1345:            }
1346:           if (tile_x==10)
1347:            {
1348:            brix[3]=170; // 1ere colonne de sprites plac�e � droite.
1349:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1350:             {
1351:             SCBDATA(brdata[0 + (compty+21)]) = rttab[tbr01[15][compty]%14];  // lecture donn�e
1352:             }
1353:            }
1354:           if (tile_x==11)
1355:            {
1356:            brix[4]=170; // 1ere colonne de sprites plac�e � droite.
1357:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1358:             {
1359:             SCBDATA(brdata[0 + (compty+28)]) = rttab[tbr01[16][compty]%14];  // lecture donn�e
1360:             }
1361:            }
1362:           if (tile_x==12)
1363:            {
1364:            brix[5]=170; // 1ere colonne de sprites plac�e � droite.
1365:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1366:             {
1367:             SCBDATA(brdata[0 + (compty+35)]) = rttab[tbr01[17][compty]%14];  // lecture donn�e
1368:             }
1369:            }
1370: 
1371:           if (tile_x==13)
1372:            {
1373:            brix[0]=170; // 1ere colonne de sprites plac�e � droite.
1374:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1375:             {
1376:             SCBDATA(brdata[0 + (compty)]) = rttab[tbr01[18][compty]%14];  // lecture donn�e
1377:             }
1378:            }
1379:           if (tile_x==14)
1380:            {
1381:            brix[1]=170; // 1ere colonne de sprites plac�e � droite.
1382:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1383:             {
1384:             SCBDATA(brdata[0 + (compty+7)]) = rttab[tbr01[19][compty]%14];  // lecture donn�e
1385:             }
1386:            }
1387:           if (tile_x==15)
1388:            {
1389:            brix[2]=170; // 1ere colonne de sprites plac�e � droite.
1390:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1391:             {
1392:             SCBDATA(brdata[0 + (compty+14)]) = rttab[tbr01[20][compty]%14];  // lecture donn�e
1393:             }
1394:            }
1395:           if (tile_x==16)
1396:            {
1397:            brix[3]=170; // 1ere colonne de sprites plac�e � droite.
1398:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1399:             {
1400:             SCBDATA(brdata[0 + (compty+21)]) = rttab[tbr01[21][compty]%14];  // lecture donn�e
1401:             }
1402:            }
1403:           if (tile_x==17)
1404:            {
1405:            brix[4]=170; // 1ere colonne de sprites plac�e � droite.
1406:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1407:             {
1408:             SCBDATA(brdata[0 + (compty+28)]) = rttab[tbr01[22][compty]%14];  // lecture donn�e
1409:             }
1410:            }
1411:           if (tile_x==18)
1412:            {
1413:            brix[5]=170; // 1ere colonne de sprites plac�e � droite.
1414:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1415:             {
1416:             SCBDATA(brdata[0 + (compty+35)]) = rttab[tbr01[23][compty]%14];  // lecture donn�e
1417:             }
1418:            }
1419: **************************************************************************/
1420:           if (tile_x<7) // 1 2 3 4 5 6
1421:            {
1422:            jboucle=tile_x-1;
1423:            
1424:            brix[jboucle]=170;
1425:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1426:             {
1427:             xboucle=jboucle;xboucle=xboucle*7;
1428:             iboucle=tile_x;iboucle=iboucle+5;
1429:             SCBDATA(brdata[0 + (compty+xboucle)]) = rttab[tbr01[iboucle][compty]%14]; // lecture donn�e
1430:             }
1431:            }
1432:           if (tile_x>6 & tile_x<13) // 7 8 9 10 11 12
1433:            {
1434:            jboucle=tile_x-7;
1435:            
1436:            brix[jboucle]=170;
1437:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1438:             {
1439:             xboucle=jboucle;xboucle=xboucle*7;
1440:             iboucle=tile_x;iboucle=iboucle+5;
1441:             SCBDATA(brdata[0 + (compty+xboucle)]) = rttab[tbr01[iboucle][compty]%14]; // lecture donn�e
1442:             }
1443:            }
1444:           if (tile_x>12 & tile_x<19) // 13 14 15 16 17 18
1445:            {
1446:            jboucle=tile_x-13;
1447:            
1448:            brix[jboucle]=170;
1449:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1450:             {
1451:             xboucle=jboucle;xboucle=xboucle*7;
1452:             iboucle=tile_x;iboucle=iboucle+5;
1453:             SCBDATA(brdata[0 + (compty+xboucle)]) = rttab[tbr01[iboucle][compty]%14]; // lecture donn�e
1454:             }
1455:            }
1456:           if (tile_x>18 & tile_x<25) // 19 20 21 22 23 24
1457:            {
1458:            jboucle=tile_x-19;
1459:            
1460:            brix[jboucle]=170;
1461:            for(compty=0 ; compty<7; compty++) // de 0 � 6, ce qui fait 7 tiles par colonne.
1462:             {
1463:             xboucle=jboucle;xboucle=xboucle*7;
1464:             iboucle=tile_x;iboucle=iboucle+5;
1465:             SCBDATA(brdata[0 + (compty+xboucle)]) = rttab[tbr01[iboucle][compty]%14]; // lecture donn�e
1466:             }
1467:            }
1468:           }
1469:          }
1470: 
1471:  
1472:   if (joystick & JOY_UP)  {
1473:          //yplayer=yplayer-2;
1474:          //if (yplayer<15) {yplayer=15;}
1475:          //briy[0]
1476:          if (briy[0]<0)
1477:           {
1478:          ++briy[0];++briy[1];++briy[2];++briy[3];++briy[4];++briy[5];++briy[6];//++briy[7];++briy[8];
1479:           }
1480:          }
1481:  
1482:   if (joystick & JOY_DOWN) {
1483:          //yplayer=yplayer+2;
1484:          //if (yplayer>87) {yplayer=87;} // (102-24 = 78-3 = 75) ; 24 = largeur de la raquette
1485:          if (briy[0]>-136)//34*4 = 136
1486:           {
1487:           --briy[0];--briy[1];--briy[2];--briy[3];--briy[4];--briy[5];--briy[6];//--briy[7];--briy[8];
1488:           }
1489:          }
1490: 
1491:  
1492:  
1493:  
1494:  
1495:  
1496:  ShowScreen(); // Coordonn�es de toutes les tiles (voir la proc�dure situ� au d�but de ce joyeux code).
1497:  }
1498:  
1499:  
1500:  
1501:  DrawSprite(SCBrt01); // Affichage de toutes les images chain�es (tiles, voiture...).
1502: 
1503: 
1504:  
1505: /**************************************************************************
1506: **************************************************************************/
1507: /** test
1508: 
1509: 
1510:  atest=tile_x;//pointx;//xboucle;//tile_x;//xboucle+compty;//tile_x;//pointx;//etape;//brsco[0];//ttest;//9;//balldirX;//yplayer;//speedX;//dirf;//etape;
1511: 
1512:  //atest=horszone;//relach;//etape;//SCBCTL0(SCBbr);
1513:  unite = atest % 10;
1514:  dizaine = atest / 10 % 10;
1515:  centaine = atest / 100 % 10;
1516: // millier = atest / 1000 % 10;
1517: // dmillier = atest / 10000 % 10;
1518:   // unit�:  
1519:   SCBDATA(SCBchiffres1) = chiffrestab[unite%14];
1520:   SCBX(SCBchiffres1) = 100;
1521:   SCBY(SCBchiffres1) = 53;  
1522: 
1523:   // dizaine:  
1524:   SCBDATA(SCBchiffres2) = chiffrestab[dizaine%14];
1525:   SCBX(SCBchiffres2) = 100;
1526:   SCBY(SCBchiffres2) = 53-8;
1527: 
1528:   // centaine:  
1529:   SCBDATA(SCBchiffres3) = chiffrestab[centaine%14]; // 0
1530:   SCBX(SCBchiffres3) = 100;
1531:   SCBY(SCBchiffres3) = 53-16;
1532:  
1533:   // millier:  
1534: //  SCBDATA(SCBchiffres4) = chiffrestab[millier%14]; // 0
1535: //  SCBX(SCBchiffres4) = 100;
1536: //  SCBY(SCBchiffres4) = 53-24;
1537: 
1538:   // dizaine de millier:  
1539: //  SCBDATA(SCBchiffres5) = chiffrestab[dmillier%14]; // 0
1540: //  SCBX(SCBchiffres5) = 100;
1541: //  SCBY(SCBchiffres5) = 53-32;
1542:  
1543:   DrawSprite(SCBchiffres1); // Affichage valeur test�    
1544: 
1545:      **/
1546:  
1547:  
1548: }
1549:  
1550: /**************************************************************************
1551: **                     FIN de la BOUCLE PRINCIPALE                       **
1552: **************************************************************************/
1553:  
1554:  }