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:  }