Ana Menü
· Ana Sayfa
· Dosyalar
· Dökümanlar
· Forum
· Günün Resmi
· Haber Arşivi
· WWW Linkleri
· Üye Listesi

     Forumlar

 strncpy ve strncpy_s
 Konu adi : Borland c++ Builder ile Amiral Batti
 Rady10 - YerliOyun
 Kabusta Kaybolmak
 Konsol da programı bekletmek
 Oyun programlama icin hangi programlama dilli ?
 flash! şanlıurfa bilgisayar oyununda(no rapid)
 Sevgilim Olur musun?
 Directx'e başlamak isteyenler bi bakın
 PSP programlama
 Flash tan php
 Bilgisyr oyunu yapmam için üniverstde hangi bölüme girmeliym
 www.arshiv.gen.ms
 Cimg.h ilgilenenler icin
 müttefik oyunu

Konu Disi
 Emraah
 Yeni sitemiz açıldı
 Kalp krizi durumunda ne yapılmalı?
 Oyun sektöründe hangi görevde çalışmak isterdiniz?
 Takım arkadaşı sorunu
 msn de renklı nıck
 pc hata veriyor ! YARDIM!!
 Gülmek isteyenler Buraya
 İnanılmaz hl 2 modu görüntüsü
 Computer Languages History

[ Forumlara Git ]


oyunyapimi.org: Forums

www.oyunyapimi.org :: Başlığı Görüntüle - Basit bir C++ oyunu ve yardım
 SSSSSS   AramaArama   Kullanıcı GruplarıKullanıcı Grupları   ProfilProfil   LoginLogin 

Basit bir C++ oyunu ve yardım

 
Yeni Başlık Gönder   Cevap Gönder    www.oyunyapimi.org Forum Ana Sayfası -> Yeni Başlayanlar (Ben de oyun yapmak istiyorum)
Önceki başlık :: Sonraki başlık  
Yazar Mesaj
Utku7tepe



Kayıt: Nov 26, 2005
Mesajlar: 6

MesajTarih: Tue Nov 29, 2005 10:09 pm    Mesaj konusu: Basit bir C++ oyunu ve yardım Alıntıyla Cevap Ver

/*C++ da basit bir oyun yazdım.
Zaten yazabileceğim oyunlarda bu kadar.:=)
Sadece bu işe çok meraklıyım ve kendimi geliştirmek istiyorum:)
Benim kodla ilgili sormak istedigim bir kaç soru var.Mesela ben oyunu döngü içinde yaptım dolayısyla her halede ekran kayıyor .Ben boardumun sabit durmasını istiyorum.Napabilirm?Mesela bu kodu üzerine grafik tasarlamak için neler gerekli.?(çok abartı bir şey değil mesela X ler mavi yuvarlaklar olsun O larda kırmızı)

Bir de bu işi iyi bilen arklar koodu incelerlersetavsiyelerini büyüyk bir zevkle dinlerim:)*/

PS:oyunu bilmeyenler için.Bu hedef 4 diye satılan oyun.Oyun mekanik bir oyun olduug için yer çekimi var.Taşı bıraktıgın sütunn en altına düşüyor.+ tane seri yapan ik oyuncu herhangi bir yönde oyunu kazanır.)
*/



//------------------------------------------------------------------------------
//The game line 4
//The aim is having 4 "X" or "O" vertically,horizantionally,diagonal together
//26.11.2005
//UK
//------------------------------------------------------------------------------


#include<iostream>
using std::cout;
using std::cin;
using std::endl;
void game();
bool menu();

#define ROW 7
#define COL 8

class line4
{
public:

void print();//print the board
int check1(int);//Checks the line is empty or not
void placeX(int,int);//Place X
void placeO(int,int);//Place O
bool checkv();//check the game vertical
bool checkh();//check the game horizantal
bool checkd1();//check the game in / direction
bool checkd2();//check the game in \ direction
void fill();//fill the board with0s.Create a new board
bool finish();//

private:
int board[ROW][COL];
};


void line4::print()
{
for(int c=0; c<COL; c++)
cout<<" "<<c<<" ";

cout<<endl;

for(int a=0; a<ROW; a++)
{
for(int b=0; b<COL; b++)
{
if(board[a][b]==0)
cout<<" . ";
if(board[a][b]==1)
cout<<" X ";
if(board[a][b]==2)
cout<<" O ";
}cout<<endl;
}
}

void line4::fill()
{
for(int a=0; a<ROW; a++)
{
for(int b=0; b<COL; b++)
board[a][b]=0;
}

}

bool line4::checkh()
{
for(int d=1; d<=2; d++)
{
for(int a=ROW; a>-1; a--)
{
for(int b=COL; b>-1; b--)
if(board[a][b]==d && board[a][b-1]==d && board[a][b-2]==d && board[a][b-3]==d)
{
return true;
}
}
}

return false;
}

bool line4::checkv()
{
for(int d=1; d<=2; d++)
{
for(int a=ROW; a>-1; a--)
{
for(int b=COL; b>-1; b--)
if(board[a][b]==d && board[a-1][b]==d && board[a-2][b]==d && board[a-3][b]==d)
{
return true;
}
}
}

return false;

}

int line4::check1(int y)
{
int x=ROW-1;
if(board[0][y]!=0)
return -1;

while(board[x][y]!=0)
{
x--;
}

return x;
}

void line4::placeX(int x,int y)
{
board[x][y]=1;

}

void line4::placeO(int x,int y)
{
board[x][y]=2;
}

bool line4::finish()
{
if(checkh()==true)
return true;

if(checkv()==true)
return true;

if(checkd1()==true)
return true;

if(checkd2()==true)
return true;

return false;

}

bool line4::checkd1()
{
for(int d=1; d<=2; d++)
{
for(int a=0; a<ROW ; a++)
for(int b=0; b<COL ;b++)
{
if(board[a][b]==d && board[a-1][b+1]==d && board[a-2][b+2] && board[a-3][b+3]==d)
return true;
}
}

return false;
}

bool line4::checkd2()
{
for(int d=1; d<=2; d++)
{
for(int a=0; a<ROW ; a++)
for(int b=0; b<COL ;b++)
{
if(board[a][b]==d && board[a-1][b-1]==d && board[a-2][b-2] && board[a-3][b-3]==d)
return true;
}
}
return false;
}

int main()
{
while(menu()!=false);


return 0;
}

void game()
{
line4 u;
int turn=0;
int x;
u.fill();
u.print();
while(u.finish()==false)
{
if(turn%2==0 && u.finish()==false)
{
cout<<"Player 1 Enter the column number:";
cin>>x;
if(u.check1(x)==-1)
{
cout<<"Please enter another column";
cin>>x;
turn=turn+2;
}
else
{
u.placeX(u.check1(x),x);
u.print();
turn=turn+1;
}
}

if(turn%2==1 && u.finish()==false)
{
cout<<"Player 2 Enter the column number:";
cin>>x;
if(u.check1(x)==-1)
{
cout<<"Please enter another column";
cin>>x;
turn=turn+2;
}
else
{
u.placeO(u.check1(x),x);
u.print();
turn=turn+1;
}
}

}

if(turn%2==1)
cout<<"PLAYER 1 WINS!!!\n";
else
cout<<"PALYER 2 WINS!!!\n";

}

bool menu()
{
int x;
cout<<"--------------------------------------------\n";
cout<<"--------------------------------------------\n";
cout<<"--------------------------------------------\n";
cout<<"-----------LL I N N EEE 4 -----------\n";
cout<<"-----------LL I NN N E 4 ----------\n";
cout<<"-----------LL I N N N EEE 4 ----------\n";
cout<<"-----------LL I N NN E 4444--------\n";
cout<<"-----------LLLL I N N EEE 4 ----------\n";
cout<<"--------------------------------------------\n";
cout<<"--------------------------------------------\n";
cout<<"--------------------------------------------\n";

cout<<"To PLAY the game press 1:\n";
cout<<"For HELP press 2\n";
cout<<"To EXIT press -1\n";
cin>>x;
switch(x)
{
case 1:
game();
return true;
case 2:
cout<<"The player you makes 4 lines in any direction";
cout<<"\nwins the game.When you select the column the ";
cout<<"\nelement falls to the blank place in that column.\n";
return true;
case -1:
return false;

}

return true;
}
Başa dön
Kullanıcı profilini gör
sevdalinka



Kayıt: Oct 15, 2005
Mesajlar: 25
Nereden: İstanbul / Şişli

MesajTarih: Wed Nov 30, 2005 12:28 pm    Mesaj konusu: Alıntıyla Cevap Ver

Oyun konsol ekranında oynandığı için her güncellemede ( hamlede ) ekran yenilenir , çünkü matrisi yeniden yazıyorsun.Yani o sorunu konsol ekranında çözmenin imkanı yok.Normal oyunlarda da devamlı yenileme olur.Yanlız ortlama saniyede 20 defa ekran yenilenme olduğu için sayfanın değiştiğini anlamazsın. X ve O ların farklı renkte görünmesini istiyorsan hiç kullanmadım ama font engine türü bir kütüphane kullan , tahminim orada ekrana renkli yazı yazdırmak için ihtiyaç duyacağın komutlar vardır.
Başa dön
Kullanıcı profilini gör
Autostic



Kayıt: May 23, 2005
Mesajlar: 70
Nereden: İzmir

MesajTarih: Wed Nov 30, 2005 3:48 pm    Mesaj konusu: Link lazım Alıntıyla Cevap Ver

Bunu PS için nasıl derliyorsun bunu derleme ve deneme araçlarının linklerini verirmisin.
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Yahoo Messenger MSN Messenger
Nomax



Kayıt: Jan 24, 2003
Mesajlar: 1134
Nereden: Bakırköyden.Yeni taşındık da...

MesajTarih: Wed Nov 30, 2005 4:39 pm    Mesaj konusu: Alıntıyla Cevap Ver

Bu kodları yazan sen misin?

//26.11.2005
//UK


UK united kingdom olabilir mi?
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et MSN Messenger
TheCotanak



Kayıt: Sep 03, 2003
Mesajlar: 921
Nereden: Istanbul

MesajTarih: Wed Nov 30, 2005 5:16 pm    Mesaj konusu: Re: Link lazım Alıntıyla Cevap Ver

Autostic demiş ki:
Bunu PS için nasıl derliyorsun bunu derleme ve deneme araçlarının linklerini verirmisin.


PS icin derlemiyor ki sen yanlis okumussun..
Ps, bir nevi 'not:' anlamina gelir.
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et
Nomax



Kayıt: Jan 24, 2003
Mesajlar: 1134
Nereden: Bakırköyden.Yeni taşındık da...

MesajTarih: Wed Nov 30, 2005 5:54 pm    Mesaj konusu: Alıntıyla Cevap Ver

Konu dışı olacak ama açılımı neydi? Bir yerde Post Scriptum diye birşey okumuştum ama yanlış da olabilir...
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et MSN Messenger
Ragnor



Kayıt: Jan 26, 2003
Mesajlar: 218
Nereden: Bursa

MesajTarih: Wed Nov 30, 2005 6:03 pm    Mesaj konusu: Alıntıyla Cevap Ver

Evet post scriptum.
Ayrıca sanırım arkadaş konsol olayına takıldı. Oda komut satırı işte. Linuxçular falan konsol diyor ona Smile. Oyun yapımı gibi konularda bazen karışabiliyor bunlar Smile.
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et MSN Messenger
Autostic



Kayıt: May 23, 2005
Mesajlar: 70
Nereden: İzmir

MesajTarih: Wed Nov 30, 2005 6:55 pm    Mesaj konusu: Alıntıyla Cevap Ver

Arkadaşlar TheCotanak yazdıktan sonra dedim konu açığa kavuştu olay benim hızlı okumam, bide yazan arkadaşın "Not:" türkçesi yerine "PS:" kullanmış olması, ha ona bişey dediğim yok onuda yanlış anlamasın. Ama n00b yerine de koymayın. Bu arada bende LINUXÇUYUM, Very Happy
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Yahoo Messenger MSN Messenger
Utku7tepe



Kayıt: Nov 26, 2005
Mesajlar: 6

MesajTarih: Wed Nov 30, 2005 9:08 pm    Mesaj konusu: Alıntıyla Cevap Ver

Nomax demiş ki:
Bu kodları yazan sen misin?

//26.11.2005
//UK


UK united kingdom olabilir mi?


evet kodu yaan benim:) İsmimin baş harflerinin kısaltması Wink
Başa dön
Kullanıcı profilini gör
Utku7tepe



Kayıt: Nov 26, 2005
Mesajlar: 6

MesajTarih: Wed Nov 30, 2005 9:12 pm    Mesaj konusu: Re: Link lazım Alıntıyla Cevap Ver

Autostic demiş ki:
Bunu PS için nasıl derliyorsun bunu derleme ve deneme araçlarının linklerini verirmisin.


Ben bu kodu visual Studio 6.0 C++ da yazdım orada dirak compile ediyorum.
Başa dön
Kullanıcı profilini gör
Mesajları göster:   
Yeni Başlık Gönder   Cevap Gönder    www.oyunyapimi.org Forum Ana Sayfası -> Yeni Başlayanlar (Ben de oyun yapmak istiyorum) Tüm saatler GMT +2 Saat
1. sayfa (Toplam 1 sayfa)

 
Forum Seçin:  
Bu forumda yeni konular açamazsınız
Bu forumdaki mesajlara cevap veremezsiniz
Bu forumdaki mesajlarınızı değiştiremezsiniz
Bu forumdaki mesajlarınızı silemezsiniz
Bu forumdaki anketlerde oy kullanamazsınız


Powered by phpBB 2.x.x © 200x phpBB Group
Türkçe Çeviri : Onur Turgay & Erdem Çorapçıoğlu
Türkçe Düzenleme: Alexis Canver
Version 2.x.x of PHP-Nuke Port by Tom Nitzschner © 200x www.toms-home.com




Web site powered by PHP-Nuke
Web site engine\'s code is Copyright © 2002 by PHP-Nuke. All Rights Reserved. PHP-Nuke is Free Software released under the GNU/GPL license.
Sayfa Üretimi: 0.126 Saniye