C++ Araba yarışı(h)
#ifndef ARABA_H
#define ARABA_H
#include”msoftcon.h”
#include <cstdlib>
#include<time.h>
#include<windows.h>
#include <iostream>
using namespace std;
class araba
{
public:
araba(int x,int y,int hiz,float agirlik,string isim,int renk,int motivasyon);
virtual ~araba();
bool ilerle();
private:
int xx;
int yy;
int h;
float a;
string ad;
int rnk;
int mot;
void ciz();
};
#endif // ARABA_H
C++ Araba yarışı(cpp)
#include “araba.h”
#include “msoftcon.h”
araba::araba(int x,int y,int hiz,float agirlik,string isim,int renk,int motivasyon)
{
srand(time(NULL));
xx=x;
yy=y;
h=hiz;
if (a>10)a=agirlik;else a=11;
ad=isim;
rnk=renk;
if (motivasyon<5) mot=motivasyon;
else mot=1;
ciz();
}
araba::~araba()
{
}
bool araba::ilerle()
{
set_cursor_pos(1,yy-1);
cout<<” “;
set_cursor_pos(xx,yy-1);
cout<<ad;
if (ad==”Ferrari”)
{
set_color(cDARK_RED);
}
else if(ad==”Mclaren”)
{
set_color(cDARK_BLUE);
}
set_fill_style(DARK_FILL);
draw_rectangle(xx,yy,xx+5,yy+5);
xx+=static_cast<int>(rand()%static_cast<int>((h/a)+mot));
ciz();
if(xx<70) return false;
else return true;
}
void araba::ciz()
{
if (ad==”Ferrari”)
{
set_color(cDARK_RED);
}
else if(ad==”Mclaren”)
{
set_color(cDARK_BLUE);
}
set_fill_style(SOLID_FILL);
draw_rectangle(xx,yy,xx+5,yy+5);
}
C++ Araba yarışı (main)
#include <iostream>
#include “araba.h”
#include “msoftcon.h”
using namespace std;
int main()
{
bool finish=false;
bool a,b;
init_graphics();
araba Ferrari=araba(1,5,30,8,”Ferrari”,4,3);
araba *Mclaren=new araba(1,12,30,6,”Mclaren”,8,5);
do{
a=Ferrari.ilerle();
b=Mclaren->ilerle();
if(a||b)finish=true;
wait(200);
}while(!finish);
if(a&&b) { set_cursor_pos(40,20); cout<<”BERABERE”;}
else if(a)
{
set_color(cRED);
set_cursor_pos(40,20); cout<<”Ferrari KAZANDI”;
draw_rectangle(42,22,50,25);
}
else if(b)
{
set_color(cBLUE);
set_cursor_pos(40,20); cout<<”Mclaren KAZANDI”;
draw_rectangle(42,22,50,25);
}
return 0;
}
Wxwidget Buton Ekletme
#include <wx/button.h>
Önce bu kütüphaneyi main.cpp dosyamıza include ediyoruz. Daha sonra koumutu ekleyeceğimiz butonun koduna aşığıdaki kodu yapıştırıyoruz. Bu kod ileButona her tıklamdığında ekrana yeni bir buton eklenmesini sağlarız.
wxButton *button = new wxButton(Panel1, wxID_EXIT, wxT(“Cikis”), wxPoint(x, y));
Panel1:butonun hangi panelde görüntüleneceği;
wxID_EXIT: Butonun tipi (YesNoCancel) mantığı ile benzer;
wxT(“Cikis”): Butonun üzerinde görünecek yazı;
wxPoint(x, y): Butonun x,y koordinatları;
Çerceve içinde yıldız gezdirme
#include <iostream>
#include <windows.h>
#include <conio.h>
using namespace std;
//koordinatları vermek için
void gotoxy (int x, int y)
{
COORD coord; // coordinates
coord.X = x-1;
coord.Y = y-1; // X and Y coordinates
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
void cerceve(int x1, int y1, int x2, int y2, unsigned char tip)
{
char yatay;
char dikey;
char solust;
char solalt;
char sagust;
char sagalt;
if(tip == 1)
{
yatay = 196;
dikey = 179;
solust = 218;
solalt = 192;
sagust = 191;
sagalt = 217;
}
else if(tip >31)
{
yatay = tip;
dikey = tip;
solust = tip;
solalt = tip;
sagust = tip;
sagalt = tip;
}
for(int i = x1+1; i<x2; i++)
{
gotoxy(i, y1);cout<<yatay;
gotoxy(i, y2);cout<<yatay;
}
for(int i = y1+1; i<y2; i++)
{
gotoxy(x1, i);cout<<dikey;
gotoxy(x2, i);cout<<dikey;
}
gotoxy(x1, y1);cout<<solust;
gotoxy(x2, y1);cout<<sagust;
gotoxy(x1, y2);cout<<solalt;
gotoxy(x2, y2);cout<<sagalt;
gotoxy(1,1);
}
int main()
{
cerceve(1,1,30,14,1);
cerceve(35,6,50,19,1);
int x = 2;
int y = 2;
char dx = 1;
char dy = 1;
char tus;
int a = 37;
int b = 8;
char fx = 1;
char fy = 1;
do{
if(kbhit() == true)tus = getch();
gotoxy(x, y); cout<<’*';
gotoxy(a, b); cout<<’*';
Sleep(50);
gotoxy(x, y); cout<<’ ‘;
gotoxy(a, b); cout<<’ ‘;
x += dx;
y += dy;
a += fx;
b += fy;
if (x<3 || x>28) dx = -dx;
if (y<3 || y>12) dy = -dy;
if (a<37 || a>48) fx = -fx;
if (b<8 || b>17) fy = -fy;
}while(tus != 27);
return 0;
}
Teşekkürler
Yapımda ve yayında emeği geçen Serhat,Kubidik ve Zafo kankaya teşekkürü borç bilirim…..
Genel Terimler
IDE:Tümleşik geliştirme ortamı (en:Integrated development environment), bilgisayar programcılarının hızlı ve rahat bir şekilde yazılım geliştirebilmesini amaçlayan, geliştirme sürecini organize edebilen birçok araç ile birlikte geliştirme sürecinin verimli kullanılmasına katkıda bulunan araçların tamamını içerisinde barındıran bir yazılım türüdür..
DERLEYİCİ:Programcılıkta, bir programlama dilinde yazılmış olan kaynak kodunu başka bir dile (genellikle makine koduna) çeviren yazılım. Derleyiciye bunu yaptırmaktaki amaç genellikle çalışabilir bir yazılım elde etmektir.
LİNKER:Compiler’in ürettigi objeleri bagdasririp calistirilabilir uygulama haline getiren ve compiler’in yaninda gelen ufak bir programdir..
