[工学]基于DarkGDK库RPG游戏程序设计.doc

上传人:音乐台 文档编号:1977123 上传时间:2019-01-27 格式:DOC 页数:88 大小:1.98MB
返回 下载 相关 举报
[工学]基于DarkGDK库RPG游戏程序设计.doc_第1页
第1页 / 共88页
[工学]基于DarkGDK库RPG游戏程序设计.doc_第2页
第2页 / 共88页
[工学]基于DarkGDK库RPG游戏程序设计.doc_第3页
第3页 / 共88页
亲,该文档总共88页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[工学]基于DarkGDK库RPG游戏程序设计.doc》由会员分享,可在线阅读,更多相关《[工学]基于DarkGDK库RPG游戏程序设计.doc(88页珍藏版)》请在三一文库上搜索。

1、运行效果如下:二话不说先上图,程序在后,#include DarkGdk.h#define MAXblood1 5000;#define MAXblood2 50000;#define MAXmagic 1800;#define MAXanger 1200;class manpublic:man(int blo,int mag,int ang):blood(blo),magic(mag),anger(ang)int blooddec(int m,int ote);void blorec(int x)blood=x;protected:int blood;int magic;int anger;

2、int man:blooddec(int m,int ote)int seed;int Blo;seed=dbTimer();dbRandomize(seed);switch(m)case 0:if(ote0)Blo=ote+350+dbRND(100);elseBlo=350+dbRND(100);if(bloodBlo)blood=blood-Blo;elseblood=0;break;case 1:if(ote0)Blo=1000+ote+dbRND(290);elseBlo=1000+dbRND(290);if(bloodBlo)blood=blood-Blo;elseblood=0;

3、break;case 2:if(ote0)Blo=1400+dbRND(250)+ote;elseBlo=1400+dbRND(250);if(bloodBlo)blood=blood-Blo;elseblood=0;break;case 3:if(ote0)Blo=1800+dbRND(450)+ote;elseBlo=1800+dbRND(450);if(bloodBlo)blood=blood-Blo;elseblood=0;break;case 4:if(ote0)Blo=2400+dbRND(800)+ote;elseBlo=2400+dbRND(800);if(bloodBlo)b

4、lood=blood-Blo;elseblood=0;break;case 5:if(ote0)Blo=900+dbRND(300)+ote;elseBlo=900+dbRND(300);if(bloodBlo)blood=blood-Blo;elseblood=0;break;case 6:if(ote0)Blo=1800+dbRND(300)+ote;elseBlo=1800+dbRND(300);if(bloodBlo)blood=blood-Blo;elseblood=0;break;case 7:if(ote0)Blo=2400+dbRND(600)+ote;elseBlo=2400

5、+dbRND(600);if(bloodBlo)blood=blood-Blo;elseblood=0;break;case 8:if(ote0)Blo=3600+dbRND(500)+ote;elseBlo=3600+dbRND(500);if(bloodBlo)blood=blood-Blo;elseblood=0;break;case 9:if(ote0)Blo=1800+dbRND(700)+ote;elseBlo=1800+dbRND(700);if(bloodBlo)blood=blood-Blo;elseblood=0;break;case 10:if(ote0)Blo=3000

6、+dbRND(600)+ote;elseBlo=3000+dbRND(600);if(bloodBlo)blood=blood-Blo;elseblood=0;break;case 11:if(ote0)Blo=11000+dbRND(5000)+ote;elseBlo=11000+dbRND(5000);if(bloodBlo)blood=blood-Blo;elseblood=0;break;return Blo;class Alec1:public manpublic:Alec1(int blo,int mag,int ang,int mant,int tae):man(blo,mag,

7、ang)mantou=mant;tea=tae;mk=0;i=6;jia=0;void rec()anger=1200;magic=1800; int geti() return i; int getblo() return blood; int getmag() return magic; int getang() return anger; int getmantou() return mantou; int gettea() return tea; int getmk() return mk; void angdec(int x) anger-=220*x; void anginc1()

8、 if(blood=1080)anger+=120; else anger=1200; void bloinc() if(blood=4200) blood+=800; else blood=5000; void bloj() blood-=1000; void maginc() if(magic0)magic-=a; void anginc() anger+=160; if(anger1200) anger=1200; void mantdec() if(mantou0)mantou-=1; void teadec() if(tea0)tea-=1; void mk0() mk=0; voi

9、d mk1() mk=1; void i1()i+;jia=666;int jia;private:int mantou;int tea;int mk;int i;class MONST:public manpublic:MONST(int blo,int mag,int ang,int m_x,int m_y,int cl,int nu):man(blo,mag,ang),monst_x(m_x),monst_y(m_y),cla(cl),num(nu)mark=1;mark1=1;m=0;n=0;cs=0;void monxinc(int);void monxdec(int);void m

10、onyinc(int);void monydec(int);void mak0();void mak1();void mak10();void mak11();void m1();void m0();void mm1();void mm0();void n1();void n0();void nn1();void nn0();void wcs(int);int getx();int gety();int getmark();int getmark1();int getm();int getmm();int getn();int getnn();int getblo();int geti();i

11、nt getcla();int getnum();int getcs();int timer;int num;private:int monst_x;int monst_y;int mark;int mark1;int m;int mm;int n;int nn;int cla;int cs;void MONST:wcs(int x)cs=x;int MONST:getcs()return cs;int MONST:getblo()return blood;int MONST:getnum()return num;int MONST:getcla()return cla;void MONST:

12、monxinc(int a)monst_x+=a;void MONST:monxdec(int a)monst_x-=a;void MONST:monyinc(int a)monst_y+=a;void MONST:monydec(int a)monst_y-=a;void MONST:mak0()mark=0;void MONST:mak1()mark=1;void MONST:mak10()mark1=0;void MONST:mak11()mark1=1;int MONST:getx()return monst_x;int MONST:gety()return monst_y;int M

13、ONST:getmark()return mark;int MONST:getmark1()return mark1;int MONST:getm()return m;int MONST:getmm()return mm;void MONST:m0()m=0;void MONST:m1()m=1;void MONST:mm0()mm=0;void MONST:mm1()mm=1;void MONST:n0()n=0;void MONST:n1()n=1;void MONST:nn0()nn=0;void MONST:nn1()nn=1;int MONST:getn()return n;int

14、MONST:getnn()return nn;Alec1 LXY(5000,1800,1200,100,20);MONST monst0(2000,1000,1000,220,660,1,0);MONST monst1(3000,1000,1000,290,880,1,1);MONST monst2(3600,1000,1000,200,1380,1,2);MONST monst3(3600,1000,1000,500,1680,1,3);MONST monst4(3000,1000,1000,360,280,1,4);MONST monst5(4200,1000,1000,960,320,2

15、,5);MONST monst6(4600,1000,1000,760,620,2,6);MONST monst7(4600,1000,1000,860,1320,2,7);MONST monst8(4600,1000,1000,760,1520,2,8);MONST monst9(5000,1000,1000,960,1990,2,9);MONST monst10(5000,1000,1000,1160,1960,3,10);MONST monst11(5600,1000,1000,1360,1960,3,11);MONST monst12(5600,1000,1000,1360,1360,

16、3,12);MONST monst13(5600,1000,1000,1760,1460,3,13);MONST monst14(5600,1000,1000,1660,1060,3,14);MONST monst15(5600,1000,1000,1860,760,3,15);MONST monst16(5600,1000,1000,1610,260,3,16);MONST monst17(15000,1000,1000,1480,830,3,17);MONST monst18(50000,1000,1000,1980,1960,4,18);const int ROW=43;const in

17、t COLS=32;const int NORTH=1;const int SOUTH=2;const int EAST=3;const int WEST=4;const int DOWN=15;const int UP=18;const int LEFT=16;const int RIGHT=17;const int GRASS=1;const int PATH=2;const int PATHNE=3;const int PATHNW=4;const int PATHSE=5;const int PATHSW=6;const int ROCK=7;const int TREENE=8;co

18、nst int TREENW=9;const int TREESE=10;const int TREESW=11;const int TILE_WIDTH=64;const int TILE_HEIGHT=48;const int RATE=60;const int DELAY=100;const int DELAY1=300;/int time0=1100;const DWORD BLACK=dbRGB(0,0,0);const DWORD RED=dbRGB(255,0,0);const DWORD BLUE=dbRGB(0,0,255);const DWORD GREEN=dbRGB(0

19、,255,0);const DWORD WHITE=dbRGB(155,155,155);const DWORD WHITE1=dbRGB(45,45,45);const DWORD WHITE2=dbRGB(254,228,149);int kx=1,ky=1,px=0,py=0,py1=0,px1=0,x=0,y=0;int centre_x=320,centre_y=240;int xx=0,yy=0,kk,vv=0,vv0=0,vv1=0,vv2=0,timed,timek;int k=0,direc,bx=420,by=610,up=0,rl=0,key0=0,key1=0,key2

20、=1,key3=0,tao=0;bool syms0=true,syms1=false;void setup();void showtile(int COLS,int,int,int);void showboss(int,int,int,int,int,int,int,int,int,int,MONST&,int,int,int,int);void chess(MONST&,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int COLS);void walking();void show(

21、);void dect();void monst(int COLS);void battle(MONST&,int COLS,int,int,int,int,int,int,int,int,int,int);void GameStart();void story();void continuegame();void newstart();void introdus();void exitgame();void DarkGDK()int key4=1,key5=1,key6=1,key7=1,key8=1,mouse_x,mouse_y,key9=0,key10=0,time1=dbTimer(

22、);setup();dbHideSprite(1);mouse_x=dbMouseX();mouse_y=dbMouseY();dbSprite(8,500,200,25);dbSetSpritePriority(8,1);while(LoopGDK()dbCLS();dbHideMouse();dbHideAllSprites();if(!dbSpriteVisible(21)dbShowSprite(21);if(!dbSpriteVisible(22)dbShowSprite(22);if(!dbSpriteVisible(23)dbShowSprite(23);if(!dbSprite

23、Visible(24)dbShowSprite(24);if(!dbSpriteVisible(25)dbShowSprite(25);if(!dbSpriteVisible(8)dbShowSprite(8);if(!dbMusicLooping(2)dbLoopMusic(2);dbPasteImage(31,0,0);dbSprite(21,218,160,32);dbSprite(22,218,218,33);dbSprite(23,221,276,34);dbSprite(24,212,334,35);dbSprite(25,221,392,36);mouse_x=dbMouseX(

24、);mouse_y=dbMouseY();dbSprite(8,mouse_x,mouse_y,25);if(dbSpriteCollision(8,21)if(key4)dbPlaySound(5);key4=0;key5=1;key6=1;key7=1;key8=1;key9=0;dbStretchSprite(21,111,111);dbSizeSprite(22,180,40);dbSizeSprite(23,180,40);dbSizeSprite(24,180,40);dbSizeSprite(25,180,40);if(dbMouseClick()story();else if(

25、dbSpriteCollision(8,22)if(key5)dbPlaySound(5);key5=0;key4=1;key6=1;key7=1;key8=1;key9=1;dbStretchSprite(22,111,111);dbSizeSprite(21,180,40);dbSizeSprite(23,180,40);dbSizeSprite(24,180,40);dbSizeSprite(25,180,40);if(dbMouseClick()continuegame();else if(dbSpriteCollision(8,23)if(key6)dbPlaySound(5);ke

26、y6=0;key4=1;key5=1;key7=1;key8=1;key9=2;dbStretchSprite(23,111,111);dbSizeSprite(22,180,40);dbSizeSprite(21,180,40);dbSizeSprite(24,180,40);dbSizeSprite(25,180,40);if(dbMouseClick()newstart();else if(dbSpriteCollision(8,24)if(key7)dbPlaySound(5);key7=0;key4=1;key5=1;key6=1;key8=1;key9=3;dbStretchSpr

27、ite(24,111,111);dbSizeSprite(22,180,40);dbSizeSprite(23,180,40);dbSizeSprite(21,180,40);dbSizeSprite(25,180,40);if(dbMouseClick()introdus();else if(dbSpriteCollision(8,25)if(key8)dbPlaySound(5);key8=0;key4=1;key5=1;key6=1;key7=1;key9=4;dbStretchSprite(25,111,111);dbSizeSprite(22,180,40);dbSizeSprite

28、(23,180,40);dbSizeSprite(24,180,40);dbSizeSprite(21,180,40);if(dbMouseClick()exitgame();if(dbDownKey()key10=1; switch(key9) case 0:if(key5)dbPlaySound(5);key5=0;key4=1;key6=1;key7=1;key8=1;key9=1;dbStretchSprite(22,111,111);dbSizeSprite(21,180,40);break;case 1:if(key6)dbPlaySound(5);key6=0;key4=1;ke

29、y5=1;key7=1;key8=1;key9=2;dbStretchSprite(23,111,111);dbSizeSprite(22,180,40);break;case 2:if(key7)dbPlaySound(5);key7=0;key4=1;key5=1;key6=1;key8=1;key9=3;dbStretchSprite(24,111,111);dbSizeSprite(23,180,40);break;case 3:if(key8)dbPlaySound(5);key8=0;key4=1;key5=1;key6=1;key7=1;key9=4;dbStretchSprit

30、e(25,111,111);dbSizeSprite(24,180,40);break;case 4:if(key4)dbPlaySound(5);key4=0;key5=1;key6=1;key7=1;key8=1;key9=0;dbStretchSprite(21,111,111);dbSizeSprite(25,180,40);break;if(dbUpKey()key10=1; switch(key9) case 2:if(key5)dbPlaySound(5);key5=0;key4=1;key6=1;key7=1;key8=1;key9=1;dbStretchSprite(22,1

31、11,111);dbSizeSprite(23,180,40);break;case 3:if(key6)dbPlaySound(5);key6=0;key4=1;key5=1;key7=1;key8=1;key9=2;dbStretchSprite(23,111,111);dbSizeSprite(24,180,40);break;case 4:if(key7)dbPlaySound(5);key7=0;key4=1;key5=1;key6=1;key8=1;key9=3;dbStretchSprite(24,111,111);dbSizeSprite(25,180,40);break;ca

32、se 0:if(key8)dbPlaySound(5);key8=0;key4=1;key5=1;key6=1;key7=1;key9=4;dbStretchSprite(25,111,111);dbSizeSprite(21,180,40);break;case 1:if(key4)dbPlaySound(5);key4=0;key5=1;key6=1;key7=1;key8=1;key9=0;dbStretchSprite(21,111,111);dbSizeSprite(22,180,40);break; if(dbReturnKey()while(dbReturnKey();switc

33、h(key9)case 0:story();break;case 1:continuegame();break;case 2:newstart();break;case 3:introdus();break;case 4:exitgame();dbSync();if(key10)key10=0;while(dbTimer()-time1)=300);time1=dbTimer();if(dbTimer()-time1)=600)while(dbTimer()-time1=200);void story()dbHideAllSprites();dbStopMusic(2);dbLoopMusic

34、(4);dbSprite(26,0,0,38);dbOffsetSprite(26,dbSpriteWidth(26),0);dbSprite(75,0,0,93);dbOffsetSprite(75,dbSpriteWidth(75),0);if(dbSpriteVisible(26)dbShowSprite(26);if(dbSpriteVisible(75)dbShowSprite(75);if(!dbSpriteVisible(8)dbShowSprite(8);dbSprite(26,640,0,38);dbSprite(75,460,0,93);while(LoopGDK()&!dbControlKey()dbSprite(8,dbMouseX(),dbMouseY(),25);/dbPasteImage(37,0,0);if(dbSprite

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1