1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791
| ' chargement des palette
pallettes paletteMAP,0,0,64
palettes paletteGENERALE,1,0,16
palettes paletteSPRITES,3,0,16
'chargement des tiles
loadtiles tilesMAP,904,224
loadtiles SPRpapi1A,16,128
'Definition des sprites
papiH = addsprite(4,4)
propsprite papiH,128,3
'Definition champ de bataille
SETGFXPLANE SCROLL_B
Reload mapdataMAP
For y= 1 To 81
For x = 1 To 64
ReadInt AuxInt
DrawTile 224+AuxInt, X+50, Y+395
Next
Next
'choix du plan pour le scrolling
setscrollplane SCROLL_B
'Init Variables
global Animation as integer
global Xpapi as integer
global Ypapi as integer
global Scd as integer
global Scg as integer
Global Sens as integer
global tempo as integer
global Scyh as integer
global sconh as integer
global sconb as integer
global scong as integer
global scond as integer
'Init coordonnées
Xpapi=270
Ypapi=325
scd=65
scg=20
Sens=0
ink 1
locate 0,10:print "PAPI COMMANDO DEMO"
'Titre de la cartouche
option title,"Papi Commando"
' boucle principale
do
'Init animation
tempo=tempo+1
if tempo>10 then
Sens=0
tempo=0
end if
'Limite tableau & scrolling
LimiteTableau
'Traitement Commande et scrolling
Gestionpad
'Affichage Sprite
Affichesprite
'Init & Gestion animation
Gestionanimation
sleep 1
loop
' assignation des palettes, Tiles
tilesMAP:
datafile MapTileData.bin,BIN
paletteMAP:
datafile MapPalette.bin,BIN
mapdataMAP:
datafile MapTileMap.bin,BIN
paletteGENERALE:
dataint $0000,$0EEE,$0000,$0000,$0000,$0000,$0000,$0000 ' couleurs 0,1,2,3,4,5,6,7
dataint $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 ' couleurs 8,9,A,B,C,D,E,F
paletteSPRITES: ' la couleur 0 est la transparente par defaut pour les sprites
DATAINT $0A0E,$0000,$0EEE,$0AAC,$0ACE,$0008,$048C,$088A
DATAINT $0446,$0224,$002C,$0242,$0282,$0066,$06EE,$0000
' listing DATA des sprites et decors & routines
'Gestion Animation
declare sub GestionAnimation
'Gestion animation
if sens>=1 then animation=animation+1
if animation <10 then
'select case sens
'case 1
'loadtiles SPRpapi0B,16,128
'exit case
'case 2
loadtiles SPRpapi0A,16,128
'exit case
'end select
end if
if animation >10 and animation <=20 then
'select case sens
'case 1
'loadtiles SPRpapi0B,16,128
'exit case
'case 2
loadtiles SPRpapi1A,16,128
'exit case
'end select
end if
if animation > 20 then
'select case sens
'case 1
'loadtiles SPRpapi0B,16,128
'exit case
'case 2
loadtiles SPRpapi2A,16,128
'exit case
'end select
end if
'Init animation Papi
if animation>30 then animation=1
if sens=0 then loadtiles SPRpapi1A,16,128
end sub
'Affichage Sprite
declare sub AfficheSprite
if scyh<=85 then
movesprite papiH,Xpapi,Ypapi
else
movesprite papiH,Xpapi,240
end if
end sub
'Limite tableau
declare sub LimiteTableau
if ypapi>=325 then
ypapi=325
end if
if ypapi<=1 then ypapi=1
if scyh>75 and ypapi>1 then
sconh=1
else
sconh=0
end if
if scyh>=80 then
sconb=1
else
sconb=0
end if
if (scg)>=95 then
scong=0
else
scong=1
end if
if scd>=152 then
scond=0
else
scond=1
end if
if xpapi<=135 then
xpapi=135
end if
if xpapi>=420 then
xpapi=420
end if
end sub
'Gestion Pad & Commandes
declare sub GestionPad
if joypad(0).0 THEN
sens=1'Haut
Ypapi = Ypapi - 1
if ypapi >1 then scyh=scyh+1
if sconh=1 then
scroll down,1,SCROLL_B
end if
END IF
if joypad(0).1 THEN
sens=2'Bas
Ypapi = Ypapi + 1
if scyh<=1 then scyh=1
ScYH=ScYH-1
if sconb=1 then
scroll up,1,SCROLL_B
end if
end if
if joypad(0).2 THEN
sens=3'Gauche
Xpapi = Xpapi - 1
if scd<1 then scd=1
if scong=1 then
if scd<=95 then ScG=ScG+1
scd=scd-1
end if
if sconG=1 then
scroll right,1,SCROLL_B
end if
END IF
if joypad(0).3 THEN
sens=4'Droite
Xpapi = Xpapi + 1
if scg<1 then scg=1
if scond=1 then
scd=scd+1
scg=scg-1
END IF
IF sconD=1 then
scroll left,1,SCROLL_B
end if
END IF
end sub
SPRpapi0B:
DATALONG $00000000 ' Tile #0
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000001
DATALONG $00000001 ' Tile #4
DATALONG $00000013
DATALONG $00000012
DATALONG $00000001
DATALONG $00000000
DATALONG $00000099
DATALONG $00000199
DATALONG $00001344
DATALONG $00012343 ' Tile #8
DATALONG $00012222
DATALONG $0001A221
DATALONG $0001AAAA
DATALONG $00001AAA
DATALONG $00000001
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #12
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #1
DATALONG $00001111
DATALONG $00112334
DATALONG $15344444
DATALONG $15344344
DATALONG $55344444
DATALONG $66664444
DATALONG $66666677
DATALONG $55566666 ' Tile #5
DATALONG $55555555
DATALONG $35555555
DATALONG $33553555
DATALONG $13255553
DATALONG $9999A333
DATALONG $99B99999
DATALONG $999CCBBC
DATALONG $299BBB9C ' Tile #9
DATALONG $199B9BBB
DATALONG $1999BBBB
DATALONG $11119999
DATALONG $11DD1111
DATALONG $E999EEEE
DATALONG $19BBCCBB
DATALONG $199BBBBB
DATALONG $1C9999EE ' Tile #13
DATALONG $0199BB91
DATALONG $11EBBBE1
DATALONG $116FFF61
DATALONG $11666661
DATALONG $11666661
DATALONG $00111111
DATALONG $00000000
DATALONG $00000000 ' Tile #2
DATALONG $11111000
DATALONG $44332110
DATALONG $44344435
DATALONG $44444435
DATALONG $43444435
DATALONG $44444766
DATALONG $77776666
DATALONG $66666655 ' Tile #6
DATALONG $55555553
DATALONG $55555553
DATALONG $55555533
DATALONG $55355338
DATALONG $33333999
DATALONG $999999B9
DATALONG $CBBBCCC9
DATALONG $CB9BCCC9 ' Tile #10
DATALONG $9BBB9B99
DATALONG $CCBBB991
DATALONG $99999111
DATALONG $11111DD1
DATALONG $EEEEE999
DATALONG $BBBBBBB9
DATALONG $EBBBCC99
DATALONG $1EE9CC99 ' Tile #14
DATALONG $519BB991
DATALONG $11EBBBE1
DATALONG $116FFF61
DATALONG $11666661
DATALONG $11666661
DATALONG $11111111
DATALONG $00000000
DATALONG $00000000 ' Tile #3
DATALONG $00000000
DATALONG $00000000
DATALONG $10000000
DATALONG $10000000
DATALONG $51000000
DATALONG $66110000
DATALONG $66177100
DATALONG $31117100 ' Tile #7
DATALONG $53100000
DATALONG $32100000
DATALONG $81000000
DATALONG $10000000
DATALONG $99100000
DATALONG $99910000
DATALONG $34431000
DATALONG $23432100 ' Tile #11
DATALONG $12222100
DATALONG $1122A100
DATALONG $1AAAA100
DATALONG $1AAA1000
DATALONG $E1000000
DATALONG $10000000
DATALONG $10000000
DATALONG $10000000 ' Tile #15
DATALONG $00000000
DATALONG $10000000
DATALONG $11000000
DATALONG $11000000
DATALONG $10000000
DATALONG $00000000
DATALONG $00000000
SPRpapi2A:
DATALONG $00000000 ' Tile #0
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000111
DATALONG $00001511 ' Tile #4
DATALONG $00001516
DATALONG $00000113
DATALONG $00000016
DATALONG $00000001
DATALONG $00000001
DATALONG $00000011
DATALONG $00001BCC
DATALONG $000016BB ' Tile #8
DATALONG $00013443
DATALONG $00013369
DATALONG $00163455
DATALONG $00163553
DATALONG $00015534
DATALONG $00011946
DATALONG $00000011
DATALONG $00000000 ' Tile #12
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000001
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #1
DATALONG $00000000
DATALONG $00001111
DATALONG $01223444
DATALONG $12244444
DATALONG $22344434
DATALONG $23444444
DATALONG $11155555
DATALONG $11111555 ' Tile #5
DATALONG $36777776
DATALONG $26721264
DATALONG $33333364
DATALONG $33223336
DATALONG $92222333
DATALONG $92222312
DATALONG $92222333
DATALONG $C7922222 ' Tile #9
DATALONG $91193332
DATALONG $111C9999
DATALONG $111111CC
DATALONG $311111BB
DATALONG $64199111
DATALONG $4611197D
DATALONG $1111111C
DATALONG $0111111C ' Tile #13
DATALONG $00111111
DATALONG $01111111
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $00000000
DATALONG $00000000 ' Tile #2
DATALONG $00000000
DATALONG $11111000
DATALONG $44443321
DATALONG $44444232
DATALONG $44444432
DATALONG $44444432
DATALONG $55555511
DATALONG $55511111 ' Tile #6
DATALONG $33777736
DATALONG $33212236
DATALONG $44333338
DATALONG $66333222
DATALONG $33332223
DATALONG $A2132223
DATALONG $23332233
DATALONG $22222239 ' Tile #10
DATALONG $222339B1
DATALONG $99999BC1
DATALONG $BBBBBBC1
DATALONG $BBCCCC11
DATALONG $11117911
DATALONG $EE7711C1
DATALONG $CCBBBBCC
DATALONG $CBBCCBB1 ' Tile #14
DATALONG $1CBCCBC1
DATALONG $1CBBBC11
DATALONG $11111111
DATALONG $18881111
DATALONG $11111111
DATALONG $11881111
DATALONG $11111000
DATALONG $00000000 ' Tile #3
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $10000000
DATALONG $21000000
DATALONG $21000000
DATALONG $11000000
DATALONG $11000000 ' Tile #7
DATALONG $36100000
DATALONG $23100000
DATALONG $26100000
DATALONG $81000000
DATALONG $91000000
DATALONG $91100000
DATALONG $91361000
DATALONG $C6331000 ' Tile #11
DATALONG $C1163100
DATALONG $16633610
DATALONG $11636110
DATALONG $10111000
DATALONG $10000000
DATALONG $10000000
DATALONG $10000000
DATALONG $10000000 ' Tile #15
DATALONG $10000000
DATALONG $00000000
DATALONG $11000000
DATALONG $11000000
DATALONG $11000000
DATALONG $10000000
DATALONG $00000000
SPRpapi0A:
DATALONG $00000000 ' Tile #0
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00001511
DATALONG $00015511 ' Tile #4
DATALONG $00015116
DATALONG $00001013
DATALONG $00000016
DATALONG $00000001
DATALONG $00000001
DATALONG $00000011
DATALONG $00001631
DATALONG $00001336 ' Tile #8
DATALONG $00013611
DATALONG $00163366
DATALONG $00116661
DATALONG $00001110
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #12
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000001
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #1
DATALONG $00000000
DATALONG $00001111
DATALONG $01233444
DATALONG $12324444
DATALONG $22344434
DATALONG $22344444
DATALONG $11155555
DATALONG $11111555 ' Tile #5
DATALONG $36788883
DATALONG $26722123
DATALONG $27333334
DATALONG $72223336
DATALONG $93223333
DATALONG $9322321A
DATALONG $93322333
DATALONG $B9322222 ' Tile #9
DATALONG $B1C93322
DATALONG $11BC9999
DATALONG $11BCCCCC
DATALONG $111BBBBC
DATALONG $11198111
DATALONG $11B1188D
DATALONG $1BBCCCCB
DATALONG $11CCBBCC ' Tile #13
DATALONG $11BCBBCB
DATALONG $011BCCCB
DATALONG $11111111
DATALONG $11111777
DATALONG $11111111
DATALONG $11111771
DATALONG $00001111
DATALONG $00000000 ' Tile #2
DATALONG $00000000
DATALONG $11111000
DATALONG $44443221
DATALONG $44344422
DATALONG $44444432
DATALONG $44444443
DATALONG $55555511
DATALONG $55511111 ' Tile #6
DATALONG $36888776
DATALONG $34621276
DATALONG $44633333
DATALONG $66333223
DATALONG $33333222
DATALONG $A2123222
DATALONG $23332222
DATALONG $22222298 ' Tile #10
DATALONG $22333911
DATALONG $99999B11
DATALONG $CBB11111
DATALONG $CCC11111
DATALONG $11119914
DATALONG $DE891116
DATALONG $BB111111
DATALONG $BB111111 ' Tile #14
DATALONG $11111110
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $10000000
DATALONG $00000000 ' Tile #3
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $10000000
DATALONG $21000000
DATALONG $21000000
DATALONG $11000000
DATALONG $11000000 ' Tile #7
DATALONG $36100000
DATALONG $23100000
DATALONG $36100000
DATALONG $31000000
DATALONG $91000000
DATALONG $91100000
DATALONG $9BBC1000
DATALONG $BCC61000 ' Tile #11
DATALONG $93443100
DATALONG $19633100
DATALONG $15543610
DATALONG $33553610
DATALONG $64355100
DATALONG $46491100
DATALONG $11100000
DATALONG $00000000 ' Tile #15
DATALONG $00000000
DATALONG $00000000
DATALONG $11000000
DATALONG $11000000
DATALONG $11000000
DATALONG $10000000
DATALONG $00000000
SPRpapi1A:
DATALONG $00000000 ' Tile #0
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000111
DATALONG $00001511 ' Tile #4
DATALONG $00015116
DATALONG $00001013
DATALONG $00000016
DATALONG $00000001
DATALONG $00000001
DATALONG $00000011
DATALONG $0000163B
DATALONG $00001336 ' Tile #8
DATALONG $00016443
DATALONG $00013446
DATALONG $00155664
DATALONG $00156344
DATALONG $00014646
DATALONG $00014616
DATALONG $00000000
DATALONG $00000000 ' Tile #12
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000001
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #1
DATALONG $00000000
DATALONG $00001111
DATALONG $01233444
DATALONG $12324434
DATALONG $22344444
DATALONG $22334433
DATALONG $11155555
DATALONG $11111555 ' Tile #5
DATALONG $36788883
DATALONG $26722223
DATALONG $27322124
DATALONG $72233336
DATALONG $93231333
DATALONG $93223212
DATALONG $93322333
DATALONG $B9322222 ' Tile #9
DATALONG $B1C93322
DATALONG $11BC9999
DATALONG $11BCCCCC
DATALONG $111BBBBC
DATALONG $11198111
DATALONG $1BB1188D
DATALONG $1CCCBBCB
DATALONG $1BCCCCCB ' Tile #13
DATALONG $1BCCCBB1
DATALONG $01BBBBB1
DATALONG $11111111
DATALONG $11111111
DATALONG $11771111
DATALONG $11111111
DATALONG $00000000
DATALONG $00000000 ' Tile #2
DATALONG $00000000
DATALONG $11111000
DATALONG $44443221
DATALONG $44444422
DATALONG $44444432
DATALONG $43344333
DATALONG $55555511
DATALONG $55511111 ' Tile #6
DATALONG $36888776
DATALONG $34622276
DATALONG $44612233
DATALONG $66333333
DATALONG $33331322
DATALONG $AA123222
DATALONG $23332222
DATALONG $22222223 ' Tile #10
DATALONG $22333991
DATALONG $99999BC1
DATALONG $CBBCCBB1
DATALONG $CCCCBB11
DATALONG $11118911
DATALONG $ED8811BB
DATALONG $BCCCCBBC
DATALONG $BCCCCBBC ' Tile #14
DATALONG $01BBCBBB
DATALONG $01BBBBB1
DATALONG $11111111
DATALONG $11111111
DATALONG $11111771
DATALONG $11111111
DATALONG $00000000
DATALONG $00000000 ' Tile #3
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $10000000
DATALONG $21000000
DATALONG $21000000
DATALONG $11000000
DATALONG $11000000 ' Tile #7
DATALONG $36100000
DATALONG $23100000
DATALONG $36100000
DATALONG $31000000
DATALONG $91000000
DATALONG $91100000
DATALONG $9B661000
DATALONG $94331000 ' Tile #11
DATALONG $B3446100
DATALONG $16443100
DATALONG $16665510
DATALONG $14336610
DATALONG $16464100
DATALONG $16164100
DATALONG $10000000
DATALONG $10000000 ' Tile #15
DATALONG $10000000
DATALONG $00000000
DATALONG $11000000
DATALONG $11000000
DATALONG $11000000
DATALONG $10000000
DATALONG $00000000 |
Partager