2008年12月3日 星期三

week 13














#include
#include
#include
#define SIZE 10
#define SIZE_a 8
/*void attribute(int level,int *HP_highptr,int *HP_lowptr,int *MP_highptr,int *MP_lowptr,int *power,int *dex,int *gold,int *ac);*/
int two_ten(void);
int one_twelve(void);
int two_eight(void);
int two_ten(void);
int HP(void);
int monster(int level);
int monster_gold(void);
int player_AC(int level);
int monster_attack(int level);
int tack(int tck,int *powerptr);
int buyitem(int *gold,int *HP_highptr,int *HP_lowptr);
int probability(void);
char monsterid(int monster_HP);
main()
{
char string1[SIZE],monster_name,monstername;
int attribute[SIZE_a]={16,16,10,10,12,8,0,1};/*HP最大0 HP最小1 MP最大2 MP最小3 力量4 敏捷5 金錢6 防禦7 */
int attack,chose,monster_HP,att,changeitem=0,LV=1;/*,hp_high=16,hp_low=16,mp_high=10,mp_low=10,power=12,dex=8,gold=0,ac=1*/
int *ptr;
ptr=attribute;
printf("請輸入名字:");
scanf("%s",string1);
do{
printf("\n等級:%d\n",LV);
printf("HP:%d/%d\n",*ptr,*(ptr+1));
printf("MP:%d/%d\n",*(ptr+2),*(ptr+3));
printf("力量:%d\n",*(ptr+4));
printf("敏捷:%d\n",*(ptr+5));
printf("金錢:%d\n",*(ptr+6));
printf("防禦:%d\n",*(ptr+7));
/*attribute(LV,ptr,ptr+1,ptr+2,ptr+3,ptr+4,ptr+5,ptr+6,ptr+7);*/

monster_HP=monster(LV);
do{
printf("請選擇1:攻擊 2:防禦 3:道具 4:離開遊戲?");
scanf("%d",&chose);
if(chose==1){
attack=tack(changeitem,ptr+4);
monster_HP-=attack;
monstername=monsterid(monster_HP);
//switch(monster_HP)
printf("攻擊%s,%s受到%d傷害........\n",monstername,monstername,attack);
att=monster_attack(LV);
*(ptr+1)-=att;
while(*(ptr+1)<=0){
printf("\n受到%s攻擊損失%d生命,死亡.........\n",monstername,att);
goto end;
}//*end whil
printf("\n受到%s攻擊損失%d生命\t當前生命%d\n",monstername,att,*(ptr+1));
}//*end if
else if(chose==2){
if((*(ptr+1)+=*(ptr+7))<*ptr){
*(ptr+1)+=*(ptr+7);
printf("回復生命%d\t當前生命%d\n",*(ptr+7),*(ptr+1));
}
else if((*(ptr+1)+=*(ptr+7))>=*ptr){
*(ptr+1)+=*(ptr+7);
printf("回復生命%d\t當前生命%d\n",*ptr-*(ptr+1),*ptr);
}
}
else if(chose==3){
printf("尚未開放!!");
}
else if(chose==4) goto end;
else printf("error請重新選擇\n");
}while(monster_HP>0);//*end do
printf("戰鬥結束");
printf("等級提升得到金錢\n");
*ptr+=HP();
*(ptr+6)+=monster_gold();
*(ptr+7)+=player_AC(LV);
LV++;
printf("1:買裝備2:繼續遊戲?");
scanf("%d",&chose);
if(chose==1){
changeitem=buyitem(ptr+6,ptr,ptr+1);
}//end if
else{
printf("生命回復!!!\n");
*(ptr+1)=*ptr;
}//end else
}while(HP>0);//*end do
end:
system("PAUSE");
}
我想把以前用c寫的程式改成bcb的介面
不過做出來好像和影像處理跟多媒體一點關係也沒有
至於是什麼程式
就是像從前我們玩的太空站士,勇者鬥惡龍那種RPG遊戲
我要做的部分只有戰鬥時的畫面和功能而已
所以功能可能就攻擊防禦那之類的
(因此我可能會著重在裡面的程式碼我希望做到就算只是純粹的打怪也有它的耐玩性)
剛再拉介面時我突然想到一個問題
怎麼才可以使Memo這個輸出畫面不會覆蓋到底下我想拿來當背景的image
上網查了一下發現memo並沒有提供透明化的功能
那我怎麼做輸出同時又有背景圖案呢???
不知道可不可以用label做輸出
Label我可能會拉好幾排吧反正他是透明的多拉幾排貼成像memo那樣會一行一行做輸出就好了
等等我在試吧
但是字體好像還可能會被背景覆蓋變的不清楚

不過其實我本來是要寫井字遊戲的連書都找好了(別本書有昌庫番,不過有人寫過了)
但是我比較希望能把那個C語言改成介面
(看到老師說沒有做出來並沒關係才決定改回做這個的)

沒有留言:

張貼留言