Project: A Void Game
Project Info
- Version: 0.01
- Completion: %10
- State: PRE-ALPHA
- Start Date: 02.05.2012
- End Date: N/A
Project Description
“A Void Game” is just like a classical “avoid the obstacles” kind of game where the character which is controlled by the player, tries to avoid arrows coming at him from every one of 4 sides of the screen. The actual thing of the game is that after every level, some random effects influences the environment. For example, “Winky” (player controlled character) may get bigger, or say, slower. Speed or number of arrows may increase. This affects the game in different ways. It may become easier, or may turn into a hard challenge. No matter what, the main goal of the game is to endure as much as possible.
Trivial Information
- The name of the game implies that it has no story and it is only a casual game which has no purpose at all. Also, “A Void” can be pronounced in the same way as “avoid” which is one of the mechanics of the game.
- This game is coded for the sole purpose of getting better at Java and experimenting with one of Java game libraries.
Git Repository (Source Code)
Sitede Kullandığım WordPress Plugin’ler
Ne de olsa WordPress kurdum, kullandığım eklentileri yazmasam olmaz. Klasik ve kullanışlı olanlardan seçmeye çalıştım, sürüyle eklenti kurup çorba yapmak istemedim. Ama abuk subuk plugin’ler yükleyip kurcalayasım da yok değil hani
.
Add Link to Facebook
Bu plugin’i ilk bu post ile deneyeceğim ben de. Asıl amacı yazdığınız yazıları Facebook’ta otomatik olarak paylaşmak. Paylaşırken yazıdan bir resmi de ekliyor ve yazının bir özetini de açıklama olarak ekliyor. Ayrıca yazıya Facebook “Like” ve “Send” butonları da ekleyebiliyor, ki ben bu özelliğini de kullanıyorum gördüğünüz gibi. Daha birçok özelliği var, fakat ben bazılarını aktifleştirmedim. Kullandığım özelliklerine ek olarak Facebook’ta yazılan yorumları WordPress’e otomatik olarak aktarmasını da ekleyebilirim. Gayet gelişmiş ve çok amaçlı bir eklenti, kesinlikle tavsiyemdir.
Akismet
Bunu anlatmama gerek bile yoktur zaten. WordPress’e yüklü halde geliyor. Siteyi genel olarak spam yorumlara karşı korumada görev alıyor. Çoğu eklenti gibi aksiyon halinde görmek nasip olmadı daha fakat bir önlem olarak aktifleştirmede sakınca olmayacağı düşüncesindeyim.
Read more
Yes, I Unblushingly Installed WordPress!
Türkçe Özet
Sitemi yine yeniledim, yine yeniden yepyeni bir platform kurdum: WordPress! Artık yazılarımın Türkçe veya İngilizce olma yoğunluğu tam tersi bir durumda olacak. Yani çoğunlukla İngilizce yazmayı planlıyorum. Ayrıca daha sık yazacağım. WordPress manyakmış bu arada. Birçok yazıyı aktardım. Bir tek yorumları aktaramadım, kötü oldu. Neyse buna da şükür…
OMG!
It’s nearly the third year of my personal website and I again made a platform change, the third time! I know, I’m too much of a reform person. This have been in my mind for a long long time, and I couldn’t stand it anymore. Countless times I told myself that I should keep my site as my original work from A to Z. It should have been my own work, not WordPress or Blogspot or whatever. But here we are now. I’m writing from within the amazing WordPress admin panel. Am I pleased now? Nope…
I’m just kidding, of course I am pleased
. Wow, why was I even struggling with that PHP coding stuff. I now feel like I invented the wheel again, while others were driving “Ferrari”! This is really a very well developed platform. I’m writing very relaxed right now. I’m not thinking about taking a backup of this text with the aim of saving it in case of a database error or a power failure etc. Because WordPress is doing that for me. It’s telling me that it is saving revisions of my text while I continue writing. Totally amazing!
Then you may be wondering why I am writing in English. Well, I think I will write most of my blog posts in English. I started hating that hybrid language usage of mine, especially in programming. If you mix Turkish words in something that is made to be used in English, it won’t be neat. There is a Turkish version of WordPress, but I was not sure that I would find Turkish versions of plugins, themes etc. So I decided writing my posts in English from now on. I may write some texts in Turkish just as I was writing some in English before.
I didn’t chuck out my efforts, of course. I transferred most of my old writings to here (was 1 whole day of work for me). I discarded some trivial posts. I also didn’t delete old version of my site. It’s there, with all the old posts and other things. Of course, it won’t be updated since the old database is not connected to this WordPress one. But it’s there if somebody wants to see my 10 days of hard work. I can faithfully show it as one of my precious creations. This is “the WordPress one” for me. It’s like it doesn’t belong to me at all. One snap of finger, and it is installed!
It’s not like that, no wonder. I put a lot of effort to this as well. The theme doesn’t belong to me. I just made some minor CSS changes and changed /added some of the right column Facebook, Twitter things. It is very neat in my opinion. Pretty minimalist, I like it but I think I will make a new theme for my site which will make my personal page a unique website. Uniqueness is a must for me.
I liked WordPress and I will use it without any doubt. I feel like I should play with it; it is pulling me, provoking me to touch it, just like a woman. Oh, what am I writing
?!
I’m ending this post here. I will write more often from now on. See you soon…
Programlama ile Alakalı İlgi Çekici Sayfalar
Bir süredir “StumbleUpon” isimli uygulamayla vakit geçiriyorum. Sitenin olayı, size ilgi alanlarınızla ilgili değişik sayfalar göstermek. Bu şekilde çeşitli kullanıcıların beğendiği sayfalar rastgele karşınıza geliyor, ilginç içeriklerle karşılaşmış oluyorsunuz. Ben StumbleUpon’da vakit geçirirken, beğendiğim sayfaları Diigo‘ya kaydetmeye çalıştım. Diigo, bir bookmark sitesi diyebiliriz. Delicious ile oldukça benzer olan Diigo’yu bir süredir bookmark’larımı saklamakta kullanıyorum. İkisinin de Chrome eklentileri ve Android uygulamalarının olması büyük kolaylık sağlıyor.
Bu yazıda, Diigo’ma kaydettiğim programlama ile ilgili bazı ilgi çekici sayfaları paylaşacağım. Fakat sayfalar İngilizce, bu yüzden İngilizce bilmiyorsanız ilginizi pek çekmeyebilir.
Kötü Programlamacı Olduğunuzu Gösteren İşaretler
Bu linkteki özellikleri kendinizde bulunduruyor musunuz diye bir bakın. Eğer bunlardan bazılarını siz de yapıyorsanız, programlama yeteneğiniz/seviyeniz ile ilgili sıkıntılar olabilir. İlginç bir yazı. Moralinizi bozabilir, şimdiden uyarayım
.
Ücretsiz Programlama Kaynakları
Birçok programlama dilinde dersler, alıştırmalar gibi kaynakları bir arada bulabileceğiniz bir arşiv. İngilizce kaynaklara ulaşmak artık çok kolay olsa da, gözden kaçırdığınız kaliteli kaynaklar olabilir; bir bakmakta yarar var.
C++ Oyun Programlama
C++ gibi oyun programlamada oldukça sık kullanılan bir dilde başvurabileceğiniz güzel bir kaynak. Örnek oyun kodları da içeriyor.
Read more
C / C++ Ağaç (Tree), Kuyruk (Queue) ve Yığın (Stack) Uygulaması
Yine okulda yaptığım bir ödev çalışmasını burada paylaşmak istiyorum. C ve C++ karışık olarak kullandığımız bu ödevde, amacımız karışık olarak sıralanmış öğrenci isimlerinin ve numaralarının bulunduğu “txt” dosyasını okuyarak bunları bir ağaç yapısına göre sıralamak ve üzerlerinde bazı işlemler yapmaktı. Bu işlemleri gerçekleştirecek fonksiyonları kısaca açıklayayım:
- setTree(): 3 giriş dosyasından seçileni okuyarak ağaç yapısına yerleştiriyor. Ağaç yapısı öğrenci numarasına göre oluşturuluyor.
- deleteStudent(): İstenilen öğrenci numarasının bulunduğu düğümü siliyor.
- inorderList(): Ağacı “inorder” biçimde gezerek listeliyor.
- preorderList(): Ağacı “preorder” olarak listeliyor.
- postorderList(): Ağacı “postorder” olarak listeliyor.
- depthFirstSearch(): Öğrenci numarasını alarak depth-first (önce ağacın derinlerine bakarak) olarak arıyor. Ararken gezdiği düğüm sayısına göre bir maliyet hesaplıyor.
- breadthFirstSearch(): Öğrenci numarasını breadth-first (ağacın köke yakın kısmına daha önce bakarak) metoduyla arıyor. Aynı şekilde maliyet çıkartıyor.
- printToFile(): Ağacı inorder, preorder veya postorder olacak biçimde bir “output.txt” dosyasına kaydediyor.
Tüm kodları detaylı olarak açıklamayacağım. Ama önemli bazı fonksiyonlardan bahsetmek istiyorum.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
void Tree::setTree(int file) {
char fileName[15], stdFull[256], stdNo[15], stdName[30], stdSurname[30];
int i, j;
if (file == 1) {
strcpy(fileName, "data1.txt");
} else if (file == 2) {
strcpy(fileName, "data2.txt");
} else if (file == 3) {
strcpy(fileName, "data3.txt");
}
FILE * stdList = fopen(fileName, "r+");
if (!stdList) {
cout << "Can't open the file" << endl;
}
ROOT = NULL;
fseek(stdList, 0, SEEK_SET);
while (!feof(stdList)) {
/* READ ID, NAME, SURNAME */
fgets(stdFull, 256, stdList);
i = 0;
j = 0;
memset(&stdNo[0], 0, sizeof(stdNo));
memset(&stdName[0], 0, sizeof(stdName));
memset(&stdSurname[0], 0, sizeof(stdSurname));
while (!isspace(stdFull[i])) {
stdNo[j] = stdFull[i];
j++;
i++;
}
stdNo[j+1] = '\n';
j = 0;
i++;
while (!isspace(stdFull[i])) {
stdName[j] = stdFull[i];
j++;
i++;
}
stdName[j+1] = '\n';
j = 0;
i++;
while (stdFull[i] != '\n') {
stdSurname[j] = stdFull[i];
j++;
i++;
}
stdSurname[j+1] = '\n';
/************************/
if (ROOT == NULL) { // if adding the first record
ROOT = new student;
strcpy(ROOT->stid, stdNo);
strcpy(ROOT->name, stdName);
strcpy(ROOT->surname, stdSurname);
ROOT->left = ROOT->right = NULL;
} else {
student * newnode;
newnode = new student;
strcpy(newnode->stid, stdNo);
strcpy(newnode->name, stdName);
strcpy(newnode->surname, stdSurname);
newnode->left = newnode->right = NULL;
student * traverse;
traverse = ROOT;
while(traverse != NULL) { // create a binary search tree.
if (strcmp(stdNo, traverse->stid)<0){
if (traverse->left == NULL) {
traverse->left = newnode;
break;
} else {
traverse = traverse->left;
}
} else if (strcmp(stdNo, traverse->stid)>0){
if (traverse->right == NULL) {
traverse->right = newnode;
break;
} else {
traverse = traverse->right;
}
} else {
break;
}
}
}
}
} |
Ağaç yapısı olarak, “binary tree”, yani her düğümün iki alt düğümünün olduğu bir yapı kullanıyoruz. “setTree” fonksiyonu da, giriş dosyasını okuyarak numara sırasına göre ağacı oluşturuyor. Bunu yaparken, küçük numaralı öğrencileri sol düğüme, büyük numaralıları da sağ düğüme yerleştiriyor.
Read more
Project: Reyti
Project Info
- Version: 1.0
- Completion: %90
- State: BETA
- Start Date: 08.09.2011
- End Date: N/A
Project Description
Aklınıza bir şey mi takıldı? Birilerinin görüşlerine mi ihtiyacınız var? Sadece meraktan birilerine sorular sormak mı istiyorsunuz? O zaman sorularınızı hemen Reyti’ye sorun. Bir karar verme mekanizması olma amacı taşıyan Reyti’yi açmış bulunmaktayız.
14 Eylül 2011′den beri çok sıkı olmamakla beraber üzerinde çalıştığım website projesini tamamladık. Daha bir çok eksiği var tabii ki, bu yüzden beta aşamasında diyebiliriz. Eğer bu geliştirme aşamasında görüşlerinizi, önerilerinizi iletmek isterseniz sonmezbe -at- itu.edu.tr’ye mail atabilirsiniz. Beğendiğiniz soruları Facebook’ta, Twitter’da paylaşırsanız, sitenin duyulmasına büyük katkıda bulunmuş olursunuz.
Sitedeki kullanıcı adım “ENTER”. Beni takip etmeyi unutmayın
.
Review: Dropbox

İş belgeleriniz, tatilde çektirdiğiniz hatıra fotoğrafları, okula ulaştırmanız gereken ödev dosyaları… Dijital ortamda önemli verilerinizi ne kadar iyi korursanız koruyun, hiçbir zaman tam olarak garanti altına alamazsınız. Bütün gece uğraşarak yaptığınız sunum dosyasını USB taşınabilir sürücüye koyup okula geliyorsunuz, fakat sunum sırası size geldiğinde USB’nizi evde bıraktığınızı fark ediyorsunuz. “Yaşasın, yırttık!” diye düşünüyorsunuz ve, sunumunuz haftaya ertelenmiş oluyor. Tamam, bu örnek pek uygun olmadı ama anladınız siz olayı…
Dropbox, verilerinizi online olarak saklayabileceğiniz, oldukça popüler ve kullanışlı bir servis. Bilgisayara indirdiğiniz yazılım sayesinde, bir dropbox klasörüne sahip oluyorsunuz. Bu klasöre attığınız her dosya, sunucuyla senkronize oluyor, yani arkaplanda dosyalarınız online olarak güvenlik altına alınmış oluyor. Dropbox’ı farklı bir bilgisayarınıza kurduğunuzda, dosyalarınız bu bilgisayarla da senkronize olmuş oluyor. Böylece verilerinize her zaman her yerden ulaşabiliyorsunuz.
Dropbox’ın en beğendim özelliği, smartphone uygulamasının bulunması. Android veya iOS telefonunuz varsa, Dropbox uygulamasını indirerek, dosyalarınıza telefonunuzdan da ulaşabilirsiniz. Böylece telefondaki verilerinizi de garanti altına almış olursunuz.
Gelelim, bu güzel programın en büyük handikapına. Dropbox servisi, ücretsiz üyeliklere 2 GB alan sağlıyor. Daha fazla depolama alanı isterseniz 50 GB veya 100 GB şeklinde seçenekler de sunuyor. Fakat, ücretsiz olarak daha fazla alana sahip olmanın bir yolu da yok değil. Eğer arkadaşlarınızı davet ederseniz, her kaydolan arkadaşınız için 250 MB kazanıyorsunuz. Ayrıca üye olduğunuzda karşınıza çıkan, ürün turu tarzındaki ufak talimatları tamamlarsanız (programı bilgisayara kurun, telefon uygulamasını kurun) 250 MB daha kazanmış oluyorsunuz. Yani Dropbox, 8 GB gibi bir alanı ücretsiz olarak kullanabilmenizi olağan kılmış.
Points: 9/10 (Quite Good)
Mazem v1.0 Tam Çözüm (Walkthrough) Bölüm 1-10
Mazem’i unuttum sanmayın. Vakit bulduğumda oyuna yeni güncellemeler gelecektir. Tam çözümü de yavaş yavaş hazırlıyorum. Tam çözüm videolarını yükledikçe koyacağım.
Review: NetBeans IDE

Uzun zamandır yeni bir görüş yazmamıştım. Önceki görüşlerimin hep oyunlar üzerine olmasını göz önünde bulunarak, bu yazımda bir programdan bahsetmek istedim.
Programlamacılar kodlarını genelde rahat bir ortam üzerinde yazmak isterler. Bazıları notepad’de rahat ederken bazıları tam donanımlı ve fonksiyonları bakımından esnek ve yeterli bir yazılım ararlar. NetBeans’i ikinci sınıfa sokabiliriz. NetBeans ile tanışmadan önce genel olarak Notepad++ kullanırdım. Fakat NetBeans, Notepad++’da gördüğüm fonksiyonların üzerine yenilerini de ekleyerek kod yazma için gayet uygun bir ortam yaratmış. Ücretsiz olarak edinebileceğiniz NetBeans’in indirme sayfasına gittiğinizde Java, C++ ve PHP gibi diller için ayrı ayrı oluşturulmuş Bundle’lara rastlayacaksınız. Bunlardan size uygun olanını indirip NetBeans nimetlerinden yararlanmaya başlayabilirsiniz. NetBeans’te bulunan çok hoş özelliklerden birkaçını; yazdığınız karmaşık kurmuşuk kodu anında basamaklama yöntemiyle düzenleyen “format” özelliği, FTP üzerinden sunucuyla senkronize olarak yaptığınız değişiklikleri kaydettiğiniz anda sunucuya atma özelliği, birçok dil ile düzgün çalışan ve renkleri düzenlemeye de izin veren kod renklendirme özelliği, yazdığınız fonksiyonları, değişkenleri vs. tanıyan ve size bilgi verip öneride bulunan fonksiyon tamamlama özelliği şeklinde sıralayabiliriz. “Eclipse”e alternatif olarak gayet iyi bir iş çıkaran NetBeans’i denemenizi öneririm. Oldukça temiz bir çalışma ortamı sunup bir çok şeyi de beraberinde sunan kaliteli bir program gerçekten.



