merhaba arkadaşlar boş vakit buldum ve kafama göre bişiler yaptım envanter sistemide eklicem alt menuyu yaptım paylaşıyım dedim ona ne deniyor bilmiyorum skill bar deniyor galba :D alt menu işte bu arada dersler devam edicek böylede arada paylaşım yapıcam :)
main.cpp
#include "DarkGDK.h"
#include "envanter.h"
void DarkGDK ( void ) {
dbSyncOn();
dbSyncRate(60);
dbSetImageColorKey(255,0,255);
dbLoadImage("slot.bmp",1);
dbLoadImage("pot.bmp",2);
dbLoadImage("canbar.bmp",3);
dbSprite(100,40,40,3);
envanterr.AltMenuSpriteYukle();
envanterr.eşyaekle(1,2,2);
envanterr.eşyaekle(2,2,5);
envanterr.eşyaekle(3,2,2);
envanterr.eşyaekle(4,2,6);
envanterr.eşyaekle(5,2,4);
dbInk(dbRGB(255,0,0),dbRGB(255,0,0));
while ( LoopGDK() ) {
dbDrawSpritesFirst();
envanterr.eşyagüncelle();
envanterr.canbaryukle(100);
dbSync();
}
envanter.h
int adett [5] = {0,0,0,0,0};
int eşyakod = 0;
int hasar = 20;
int pot = 0;
int x = 0;
int attır = 1;
class envanter {
public:
void AltMenuSpriteYukle();
void canbaryukle(int maxcan);
void eşyaekle( int slot , int eşya , int adet ) ;
void eşyagüncelle();
}envanterr;
void envanter::AltMenuSpriteYukle(){
dbSprite(1,160,420,1); // slot 1
dbSprite(2,220,420,1); // slot 2
dbSprite(3,280,420,1); // slot 3
dbSprite(4,340,420,1); // slot 4
dbSprite(5,400,420,1); // slot 5
}
void envanter::canbaryukle(int maxcan) {
int hp;
char can [100] = "";
char candrm [100] = "";
hp = maxcan - hasar + pot;
if ( hp > maxcan) {
hp = maxcan;
}
dbSizeSprite(100,hp,20);
strcpy( can , " HP - ");
strcat( can , dbStr(maxcan));
strcpy( candrm , " / ");
strcat( candrm , dbStr(hp));
dbText(30,70,can);
dbText(100,70,candrm);
}
void envanter::eşyaekle(int slot , int eşya , int adet){
if (slot == 1){
adett[0] = adet;
if (eşya < 1 ) {
}else{
dbSprite(10,165,425,eşya);
if ( eşya == 2) {
eşyakod = 2;
}
}
}
if (slot == 2){
adett[1] = adet;
if (eşya < 1 ) {
}else{
dbSprite(11,225,425,eşya);
if ( eşya == 2) {
eşyakod = 2;
}
}
}
if (slot == 3){
adett[2] = adet;
if (eşya < 1 ) {
}else{
dbSprite(12,285,425,eşya);
if ( eşya == 2) {
eşyakod = 2;
}
}
}
if (slot == 4){
adett[3] = adet;
if (eşya < 1 ) {
}else{
dbSprite(13,345,425,eşya);
if ( eşya == 2) {
eşyakod = 2;
}
}
}
if (slot == 5){
adett[4] = adet;
if (eşya < 1 ) {
}else{
dbSprite(14,405,425,eşya);
if ( eşya == 2) {
eşyakod = 2;
}
}
}
}
void envanter::eşyagüncelle(){
int mx = dbMouseX();
int my = dbMouseY();
int tık = dbMouseClick();
if ( attır == 0) {
x++;
dbText(600,20,dbStr(x));
}else{
x=0;
}
for ( int i = 1 ; i < 5 ; i++){
if ( adett[i] < 0 ) {
adett[i] = 0;
}
}
dbText(600,20,dbStr(x));
dbText(190,444,dbStr(adett[0])); // slot 1
dbText(250,444,dbStr(adett[1])); // slot 2
dbText(310,444,dbStr(adett[2])); // slot 3
dbText(370,444,dbStr(adett[3])); // slot 4
dbText(430,444,dbStr(adett[4])); // slot 5
if ( x > 200 ) {
x = 0;
attır = 1;
}
if ( mx > 160 && mx < 160 + 50 && my > 420 && my < 420 + 40 ) { // slot 1
if (eşyakod == 2){
if (tık == 1){
if (adett[0] == 0){
}else{
if ( x == 0 ){
pot = pot + 10;
adett[0]--;
attır = 0;
}
}
}
}
}
if ( mx > 220 && mx < 220 + 50 && my > 420 && my < 420 + 40 ) { // slot 2
if (eşyakod == 2){
if (tık == 1){
if (adett[1] == 0){
}else{
if ( x == 0 ){
pot = pot + 10;
adett[1]--;
attır = 0;
}
}
}
}
}
if ( mx > 280 && mx < 280 + 50 && my > 420 && my < 420 + 40 ) { // slot 3
if (eşyakod == 2){
if (tık == 1){
if (adett[2] == 0){
}else{
if ( x == 0 ){
pot = pot + 10;
adett[2]--;
attır = 0;
}
}
}
}
}
if ( mx > 340 && mx < 340 + 50 && my > 420 && my < 420 + 40 ) { // slot 4
if (eşyakod == 2){
if (tık == 1){
if (adett[3] == 0){
}else{
if ( x == 0 ){
pot = pot + 10;
adett[3]--;
attır = 0;
}
}
}
}
}
if ( mx > 400 && mx < 400 + 50 && my > 420 && my < 420 + 40 ) { // slot 5
if (eşyakod == 2){
if (tık == 1){
if (adett[4] == 0){
}else{
if ( x == 0 ){
pot = pot + 10;
adett[4]--;
attır = 0;
}
}
}
}
}
}
main.cpp
#include "DarkGDK.h"
#include "envanter.h"
void DarkGDK ( void ) {
dbSyncOn();
dbSyncRate(60);
dbSetImageColorKey(255,0,255);
dbLoadImage("slot.bmp",1);
dbLoadImage("pot.bmp",2);
dbLoadImage("canbar.bmp",3);
dbSprite(100,40,40,3);
envanterr.AltMenuSpriteYukle();
envanterr.eşyaekle(1,2,2);
envanterr.eşyaekle(2,2,5);
envanterr.eşyaekle(3,2,2);
envanterr.eşyaekle(4,2,6);
envanterr.eşyaekle(5,2,4);
dbInk(dbRGB(255,0,0),dbRGB(255,0,0));
while ( LoopGDK() ) {
dbDrawSpritesFirst();
envanterr.eşyagüncelle();
envanterr.canbaryukle(100);
dbSync();
}
0 yorum:
Yorum Gönder