Thursday, April 11, 2013

Cara menambahkan custom map pada company of heroes

Game Company Of Heroes adalah game strategi yang dikembangkan oleh relic entertainment. Game ini menceritakan tentang perang kedua antara dua kubu yaitu amerika dan german.



System Requirement



Kali ini saya akan share tentang cara menambahkan map baru pada game company of heroes menggunakan company of heroes - dev , karena pada folder instalasi tidak tersedia folder map tersendiri seperti game-game lainnya.

Langsung saja,
1. Masuk ke folder instalasi company of heroes -> WW2 -> data
2. Jika ada folder "scenarios", masuk ke folder tersebut. Jika tidak ada, silahkan create new folder dengan nama "scenarios"(tanpa tanda kutip).
3. Masuk ke folder scenarios, kemudian create new folder lagi dengan nama "mp"
4. Ekstrak map baru yang ingin anda mainkan ke dalam folder mp tadi
5. Kemudian buat shortcut pada folder instalasi company of heroes. tambahkan " -dev " pada kolom target.
6. Gunakan Shortcut yang baru dibuat untuk bermain.


Selamat bermain :)




Wednesday, March 13, 2013

Transformasi Objek 2D menggunakan Delphi

Kali ini saya akan sharing tentang tugas grafika komputer transformasi objek 2D menggunakan bahasa pemrograman delphi. Ada beberapa transformasi objek 2D seperti rotasi, translasi, skala, dll. Pada program ini saya menunjukkan contoh program yang menerapkan translasi dan skala pada objek 2D.


Program diatas menggunakan timer. Kepala membesar dan mengecil sesuai nilai yang telah dirandom. Untuk animasi translasinya, objek orang tersebut berpindah-pindah dari koordinat tertentu ke koordinat yang lain juga sesuai dengan nilai random yang telah ditentukan komputer.
Untuk lebih jelasnya silahkan download file lengkapnya pada link ini:
Tranformasi Objek 2D


Sunday, January 6, 2013

Program C Metode Biseksi

Program di bawah ini merupakan program penyelesaian non linear menggunakan metode biseksi.
Flowchart Program :

Source Code :


#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
#include <windows.h>


void input(int *a,int *b,int *c,int *d,int *e,float *xn, float *xn1,float *error);
float hitungxmid(float xn, float xn1);
float hitungfxn(float a,float b, float c, float d,float e,float xn);
float hitungfxn1(float a,float b, float c, float d,float e,float xn1);
float hitungfxmid(float a,float b, float c, float d,float e,float xmid);
void switchval(float *xn, float*xn1,float*xmid,float*fxn,float*fxmid);
void output(float *xn,float *xn1,float *xmid,float *fxn,float *fxn1,float *fxmid,int *count);

//FUNGSI UTAMA
int main(){
    char repeat;
    do{
    SetConsoleTitle("Created By Herdian");
    int a,b,c,d,e,count=1;
    float xn, xn1,error,xmid,fxn,fxn1,fxmid;
 
    system("cls");
 
    printf("\t\t\tPROGRAM BISEKSI\n\n");
    input(&a,&b,&c,&d,&e,&xn,&xn1,&error);
 
    while(fabs(xn1-xn)>= error){
    xmid=hitungxmid(xn,xn1);
    fxn=hitungfxn(a,b,c,d,e,xn);
    fxn1=hitungfxn(a,b,c,d,e,xn1);
    fxmid=hitungfxmid(a,b,c,d,e,xmid);
    output(&xn,&xn1,&xmid,&fxn,&fxn1,&fxmid,&count);
    switchval(&xn,&xn1,&xmid,&fxn,&fxmid); count++;
    }
    printf("Ingin Mengulang Program ? <Y/N>"); repeat=getch();
    }while(repeat=='y'||repeat=='Y');
}

//FUNGSI INPUT
void input(int *a,int *b,int *c,int *d,int *e,float *xn, float *xn1,float *error){

printf("f(x)= (a)x^4 + (b)x^3 + (c)x^2 + (d)x + e\n");
printf("\nINPUT:\n");
printf("a = "); scanf("%d",a); fflush(stdin);
printf("b = "); scanf("%d",b); fflush(stdin);
printf("c = "); scanf("%d",c); fflush(stdin);
printf("d = "); scanf("%d",d); fflush(stdin);
printf("e = "); scanf("%d",e); fflush(stdin);
printf("\ninputkan xn, xn+1 dan batas error\n");
printf("xn   = "); scanf("%f",xn); fflush(stdin);
printf("xn+1 = "); scanf("%f",xn1); fflush(stdin);
printf("batas error = "); scanf("%f",error); fflush(stdin);

}
//FUNGSI HITUNG XMID
float hitungxmid(float xn, float xn1){
float xmid;
xmid = (xn + xn1)/2;
return(xmid);  
}

//FUNGSI HITUNG F(xn)
float hitungfxn(float a,float b, float c, float d,float e,float xn){
float fxn;
fxn = ((a*pow(xn,4))+(b*pow(xn,3))+(c*pow(xn,2))+(d*xn)+e);
return (fxn);
}

//FUNGSI HITUNG F(xn+1)
float hitungfxn1(float a,float b, float c, float d,float e,float xn1){
float fxn1;
fxn1 = ((a*pow(xn1,4))+(b*pow(xn1,3))+(c*pow(xn1,2))+(d*xn1)+e);
return (fxn1);
}

//FUNGSI HITUNG F(xmid)
float hitungfxmid(float a,float b, float c, float d,float e,float xmid){
float fxmid;
fxmid = ((a*pow(xmid,4))+(b*pow(xmid,3))+(c*pow(xmid,2))+(d*xmid)+e);
return (fxmid);
}

//FUNGSI MENUKAR NILAI
void switchval(float *xn, float*xn1,float*xmid,float*fxn,float*fxmid){
if((*fxn) * (*fxmid) < 0 ) {*xn1 = *xmid; }
else if ((*fxn) * (*fxmid) > 0 )*xn = *xmid;
}

//FUNGSI OUTPUT
void output(float *xn,float *xn1,float *xmid,float *fxn,float *fxn1,float *fxmid,int *count){
if(*count==1){
printf("ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ\n");
printf("no    xn       xn+1      xmid      f(xn)      f(xn+1)    f(xmid) \n");
printf("ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ\n");}
printf("%0d   %f  %f  %f  %f  %f   %f  \n",*count,*xn,*xn1,*xmid,*fxn,*fxn1,*fxmid);

}