http___programarcadegames.com_index.php_lang_tr_chapter_foreword_1.xml
1.1 2.1 3.1 4.1 5.1 6.1 7.1 8.1 9.1 10.1 11.1 11.2 11.3 12.1 13.1 14.1 15.1 16.1 16.2 17.1 18.1 18.2 18.3 19.1 20.1 21.1 22.1 23.1 24.1 25.1 26.1 27.1 28.1 28.2 28.3 29.1 30.1 31.1 32.1 33.1 33.2 34.1 35.1 36.1 37.1 38.1 39.1 40.1 41.1 42.1 43.1 44.1 45.1 46.1 46.2 47.1 48.1 48.2 49.1 50.1 50.2 50.3 51.1 51.2 51.3 51.4 52.1 52.2 52.3 52.4 53.1 53.2 53.3 53.4 54.1 55.1 55.2 56.1 57.1 58.1 58.2 58.3 59.1 59.2 60.1 60.2 61.1 62.1 62.2 62.3 62.4 63.1 63.2 63.3 64.1 64.2 65.1 66.1 66.2 66.3 66.4 67.1 67.2 67.3 68.1 69.1 70.1 71.1 72.1 72.2 73.1 73.2 73.3 73.4 73.5 74.1 74.2 75.1 76.1 76.2 77.1 78.1 78.2 78.3 79.1 79.2 79.3 80.1 80.2 80.3 80.4 80.5 81.1 81.2 81.3 82.1 82.2 83.1 83.2 84.1 84.2 85.1 86.1 87.1 88.1 88.2 88.3 88.4 89.1 89.2 89.3 90.1 90.2 90.3 90.4 90.5 90.6 90.7 90.8 91.1 91.2 91.3 91.4 91.5 92.1 92.2 93.1 94.1 94.2 95.1 96.1 97.1 97.2 97.3 97.4 97.5 97.6 97.7 97.8 97.9 98.1 99.1 100.1 101.1 101.2 102.1 103.1 104.1 105.1 105.2 106.1 106.2 106.3 106.4 107.1 108.1 108.2 109.1 110.1 111.1 112.1 113.1 113.2 114.1 115.1 116.1 117.1 118.1 119.1 120.1
Program Arcade GamesWith Python And Pygame English Dutch - Nederlands French Hungarian - Magyar Portuguese - Português Russian - Pycckий Spanish - Español Turkish - Türkçe Before getting started... Are you here because you want to create your own games? Excellent! Here are some videos of games students have created by the end of this course: This foreword has two parts: - Getting your computer set up to write games. - Job and career prospects in technology. 0.1 Installing and Starting Python To get started, two programs need to be installed, Python and Pygame. Python is the computer language we will program in, and Pygame is a library of commands that will help make writing games easier. 0.1.1 Windows Installation If you are working with a computer that already has Python and Pygame set up on it, you can skip this step. But if you want to set up Python and Pygame on your own Windows computer, don't worry. It is very easy. - Run the Python installer downloaded from: ProgramArcadeGames.com/python-3.3.3.msi - Run the Pygame installer downloaded from: ProgramArcadeGames.com/pygame-1.9.2a0.win32-py3.3.msi Once everything has been installed, start Python up by selecting the Integrated Development Environment (IDLE) as shown in Figure 0.1 The original files provided here come from the Python download page at: http://www.python.org/download/ ...and the Pygame file originally comes from: https://bitbucket.org/pygame/pygame/downloads Note: There are many versions of Python and Pygame. It can be complicated to get the correct versions and get them to work together. I recommend using the links here on ProgramArcadeGames.com rather than download from the Python and Pygame websites. If you must use a different version of Python than what is listed here, find a matching version of Pygame at this website: www.lfd.uci.edu/~gohlke/pythonlibs/#pygame 0.1.2 Mac Installation Python and Pygame run on the Mac. Given the headaches that former students have gone through to get Pygame to work on the Mac, I recommend running Python/Pygame under Windows emulation. If you aren't going for simple and want to try and get it working natively on the Mac, first make sure the following are installed: - XCode - XQuartz - pip - hg - homebrew After this, open up the Mac terminal and install the needed dependencies with: brew install sdl sdl_image sdl_mixer sdl_ttf portmidi brew tap homebrew/headonly brew install smpeg --HEAD Then finally download, compile, and install the source code: sudo pip install hg+http://bitbucket.org/pygame/pygame If we are lucky, this installs the development version from BitBucket. 0.1.3 Unix Installation Unix and Unix-like distributions may come with a Pygame package, or the ability to easily get one. If you want to compile from source, this is what I've used on Linux Mint: # Load required packages sudo apt-get install mercurial libsdl1.2-dev libsmpeg-dev sudo apt-get install libasound2-doc libglib2.0-doc python-dev sudo apt-get install libsdl-ttf2.0-dev libsdl-image1.2-dev sudo apt-get install libsdl-mixer1.2-dev libportmidi-dev sudo apt-get install libavformat-dev libswscale-dev # Use mercurial to clone current code hg clone https://bitbucket.org/pygame/pygame # Build and install cd pygame sudo python setup.py The biggest risk on UNIX platforms is that your default Python version might be in the 2.x series, and that code won't work with the code examples here in the book. Make sure you have and are using Python 3.x. 0.1.4 Optional Wing IDE Python comes with an editor and an environment to develop code it. Unfortunately it isn't very good. My students usually run into the following two issues when using Python's default editor: Issue 1, when working with multiple files it is difficult to keep track of the all the open files. It is easy to forget to save a file before running the program. When this happens the program runs with the old code that was saved rather than the new code. This is very confusing. Issue 2, if there is an error in a program that does graphics the Python program will crash and “hang.” Once the program has crashed it is difficult to shut down. The error message that describes why it crashed is often buried and difficult to find. See Figure 0.2. The Wing editor solves issue 1 by using an editor with a tab for each file. It will also prompt to save all files before running a program. A program run under the Wing debugger does not hang as described in Issue 2, instead the editor will immediately take the user to the line of code that caused the error. See Figure 0.3. Therefore, while it is yet a third thing to install, I recommend using the Wing editor. There is a free version called “Wing IDE 101” at: wingware.com/downloads/wingide-101/ There is no need for all the bells-and-whistles the commercial version comes with, but they are nice. The program will often help you by auto-filling in variable names as you start to type them. If you've got extra money and want to save time you might like to pick up the commercial version. In the videos on the website I use either the default Python editor or the Wing editor. There are many other editors that can be used as well: Amongst some developers, discussing “which is the best editor” is similar to getting a group of people together and discussing “which is the best religion.” It is best to pick your own favorite and then avoid this topic with other people. 0.2 Viewing File Extensions It is a great idea to change your windows configuration to show file extensions. A file usually has the a name like Book report.docx where the .docx tells the computer it is a Microsoft Word compatible document. By default Windows hides the .docx extension if there is a program installed to handle it. If you are programming, this hiding part of the file name can be annoying. For Windows 7, to show file extensions, open up your computer's control panel. Find the selection for “Folder Options.” Click the “View” tab, and then unselect the option for “Hide extensions for known file types.” For Windows 8, bring up a file explorer by hitting the Windows-E key. Then click the “view” tab and make sure “File name extensions” has been checked. 0.3 Learn to Make Games and Get Paid As you start to learn to program, you might soon find that it looks like work. We all know we'd rather skip work and go farming for gold in World of Warcraft or Eve Online or some other game, right? So why learn to program? What does a person get out of it? Learn how to make games and get paid? Ok, I won't pay you, but if you learn to program, there are plenty of people that will pay you. Here's how to profit: - Learn to program games. - Have fun making your own games. - Select favorite job offer. - Profit. Look, no ??? in this plan! Think about it. You can play games, but anyone can do that. Being great at a video game really isn't much of an accomplishment in life if you think about it. Or you can learn to create games. People care about that. While you may be studing how to program games, tell your parents and co-workers you are studying computer science. It sounds better. 0.3.1 Why Study Computer Science? Back to money. According to the National Association of Colleges and Employers (NACE) April 2014 Salary Survy, Engineering is the best paying discipline and computer science is the second. (Data is from the NACE April 2014 Salary Survey.) While learning to program games, you can be studying towards one of the best paying four-year degrees you can get. And let's be honest, those engineering degrees usually take five years. Computer science is a great bet for a career. Why are computer science students getting paid so much? Because there is a lot of demand, and not many students. See Figure 0.5 and Figure 0.6. What about a two-year school to learn programming? After all, two year schools offer a cheaper alternative to four year colleges. Way cheaper. But take a look at the table below. Use this “Average salary by education level” data as a caution about choosing a two year school: According to Dice.com's survey data, people in a technology career who graduate from a two-year school averaged $20,000 less than people who went to a four-year school. In fact, they did worse than dropouts from four-year colleges, and people who only went to high school! So go to a four-year school and skip the two-year school entirely. This is according to the 2013-2012 Dice Technical Salary Survey. Note that the salary listed is not the average starting salary. The numbers represent the average salary of all workers, no matter how experienced. Of course, I think Simpson College has the best Computer Science department in the midwest: http://simpson.edu/computer-science 0.3.2 Get The Most From This Class Looking to make your time here worthwhile? Answer the chapter questions! Don't skip them. They are necessary to understand the material. Do the labs! This is even more important. Learning by only reading the material is about as useful as trying to become an expert basketball player only by reading a book. Practice! You might see other people that don't have to practice. It isn't fair. Or, you might be smarter than other people, and they start doing better than you because they work at it and you don't. That's not fair either. That's life. Get used to it. Practice. Are you taking this as a class? Great! Did you know you can save time and copy the answers and labs from the Internet? You can also buy yourself a gym membership and send someone else to work out for you. It makes about as much sense. Seriously, what on earth are you thinking copying from someone else? If you aren't going to do the work drop out now and start filling out McDonald's applications. If reading isn't your learning style, most of the information is available through videos. You can skip the text entirely and just watch the videos by checking out the YouTube playlist: http://www.youtube.com/playlist?list=PL1D91F4E6E79E73E1 You can't learn without doing the work though. Do the reading. Ask questions. Do the labs. Ask questions. Do the worksheets. Ask questions. Listen to the videos. And ask your teacher questions. 0.3.3 Send Feedback This is the text I use with the Simpson College class: Computer Science 150 Fundamentals of Computing I There is a print version available at Amazon and Barnes and Noble. There is on-line version that is available at: ProgramArcadeGames.com The goal of the text, website, worksheets, labs, and videos is to teach basic computer science concepts and get students programming their own games as soon as possible. Drop me a note! If you are using it for self-study or for another class, please drop me a note. The more people that use this resource, the more effort I'll put into improving it. I've heard from a few high schools that use this material. If you are a student at one of these high schools, and liked this material, consider checking out the Computer Science Department at Simpson College. We'd love the chance to be able to work with you. Contact myself or admissions for more information. If you notice any errors or omissions in the book, please send me an e-mail. I'd like this to be the best resource possible. Dr. Paul Vincent Craven Department Head, Computer Science Department Simpson College, Indianola, Iowa, 50125 USA paul.craven@simpson.edu You are not logged in. Log in here and track your progress. English version by Paul Vincent Craven Russian version by Vladimir Slav Turkish version by Güray Yildirim Dutch version by Frank Waegeman Hungarian version by Nagy Attila Portuguese version by Armando Marques Sobrinho and Tati Carvalho Spanish version by Aitor Peinador and Antonio Rodríguez
1.1 2.1 3.1 4.1 5.1 6.1 7.1 8.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 16.1 17.1 18.1 19.1 20.1 21.1 22.1 23.1 24.1 25.1 26.1 27.1 28.1 29.1 30.1 31.1 32.1 33.1 34.1 35.1 36.1 37.1 38.1 39.1 40.1 41.1 42.1 43.1 44.1 45.1 46.1 47.1 48.1 49.1 50.1 51.1 52.1 53.1 54.1 55.1 56.1 57.1 58.1 59.1 60.1 61.1 62.1 63.1 64.1 65.1 66.1
Arcade Türü Oyun Programlamayıve Bilgisayar Bilimleri Öğrenin English Dutch - Nederlands French Hungarian - Magyar Portuguese - Português Russian - Pycckий Spanish - Español Turkish - Türkçe Başlamadan Önce... 0.1 Oyun Yapmayı Öğrenmek ve Para Kazanmak? Tamam, Ben size para ödemeyeceğim, fakat programlamayı iyi öğrenirseniz, sizi işe alacak bol miktarda insan var. İşte nasıl kar edileceği: - Oyun programlamayı öğrenin. - Kendi oyunlarınızı yaparken eğlenin. - En sevdiğiniz iş teklifini seçin. - Kar edin. Evet, burda oyun yapmak için bulunuyor olabilirsiniz, fakat ailenize ve iş arkadaşlarınıza bilgisayar bilimi öğrendiğinizi söyleyin. Bu daha etkileyici görünecektir. 0.1.1 Neden Bilgisayar Bilimi Çalışmalıyım? Paradan ne haber? National Association of Colleges and Employers (NACE)'e göre, Bilgisayar Bilimi en kazançlılar sıralamasında ikinci sırada. En kazançlılar sıralamsında yer alan diğer birçok derece de yine teknolji alanında: (Veri NACE Bahar 2011 Maaş Anketi'nden alınmıştır.) Bu doğrudur. Oyun programlamayı öğrenirken, dört yılda diploma alabileceğiniz en iyi maaşlı ikinci lisans programına çalışıyor olabilirsiniz. Ve hadi dürüst olalım, bu mühendislik diplomaları genelde beş yılda alınır. Bilgisayar bilimi mezunları sadece yüksek maaşlı teklifler almakla kalmıyor, genelde teklifleri iş başvuruları esnasında alıyorlar. NACE'e göre bu branştakilerin yüzde 56'dan fazlası başvuru esnasında teklif alıyor. Sebebi ise bilgisayar biliminin yüksek-talepli bir alan olması. Açılan işlerin sayısı mezunlarla gelen desteği geride bırakıyor. Arkadaşlarınız işyerinde yükseliyor olabilirken, bu iş alanlarındaki iş imkanından daha fazla mezun verildiğini bilin. Arz ve talebi anlamadıysanız işteki branş bir şey ifade etmez. Peki ya programlama öğrenmek için iki yıllık okullar? Her şeyin ardından, iki yıllık okullar dört yıllıklara göre daha ucuz bir alternatif sunuyor. Yol daha ucuz. Fakat ben size alttaki veriyi iki yıllık bir okul seçmek hakkında uyarı olarak sunuyorum: Bu doğru. Dice.com'un anket sonucuna göre, iki yıllık okul mezunu olup teknoloji sektöründe kariyer yapanlar üniversite mezunlarından daha az kazanıyor. Sonuç olarak, dört yıllık bir okula gidin veya iki yıllık okul seçeneğini tamamen geçin ve kendi kendinize öğrenmeye başlayın. (Veri 2010-2011 Dice Teknik Maaş Anketi'ne dayalıdır. Listelenen maaşların başlangıç maaşları olmadığına dikkat edin. Rakamlar ne kadar tecrübeli olduklarına bakılmaksızın tüm çalışanların ortalama maaşını temsil etmektedir.) Tabii ki, bence Simpson College en iyi üniversitedir. ( Ç.N Bence İTÜ:) ) Bu dersi en verimli nasıl geçebilirim Bölüm sorularını yanıtlayın! Onları geçmeyin. Onlar içeriği anlamak için gereklidir. Laboratuvar uygulamalarını yapın! Bu en önemlisidir. Sadece kaynağı okumak sadece kitap okuyarak uzman bir basket oyuncusu olmaya çalışmak kadar işe yarar olacaktır. Pratik! Pratik yapmayan diğer insanları görüyor olabilirsiniz. Bu adil değildir. Ya da, siz diğer insanlardan daha akıllı olabilirsiniz, buna rağmen onlar sizden daha iyi olmaya başlarsa bu onların çalıştığı ve sizin çalışmadığınız içindir. Bu da adil değildir. Hayat böyledir. Ona alışın. Pratik yapın. Bunu bir ders olarak mı alıyorsunuz? Süper! İnternetten laboratuvarları ve cevapları kopyalayarak zaman kazanabilirsiniz! Ayrıca kendinize bir spor salonu üyeliği alabilir ve başka birini sizin için çalışması amacıyla gönderebilirsiniz. Ciddi anlamda tam olarak ne düşünüyorsunuz? Çalışmayacaksanız dersi şimdi bırakın ve McDonald's ın iş başvurularını doldurmaya başlayın. Okumak sizin yaşam tarzınıza uygun değilse, bilgilerin büyük bir kısmına videolar aracılığıyla ulaşabilirsiniz. Bunun devamındaki kısımları tamamen geçebilir ve sadece Youtube playlist'teki videoları izleyebilirsiniz: http://www.youtube.com/playlist?list=PL1D91F4E6E79E73E1 Geribildirim Gönderin Bu, Simpson College'ın Computer Science 150 Fundamentals of Computing I dersinde kullanılan kaynaktır. Amaç temel bilgisayar bilimi fikirlerini öğretmek ve öğrencilere kendi oyunlarını programlamalarını mümkün olan en kısa zamanda öğretmektir. Bana bir not bırakın! Bunu kendi başınıza çalışırken veya başka bir ders için kullanıyorsanız, lütfen bana bir not bırakın. Bu kaynağı ne kadar çok insan kullanırsa, onu geliştirmek için harcayacağım emek o kadar fazla olur. Bazı liselerin bu meteryali kullandığını duydum. Bu liselerden birinde öğrenciyseniz ve bu meteryali sevdiyseniz Simpson College'ı bir kontrol etmeyi düşünebilirsiniz. Sizinle çalışabilme fırsatını isteriz. Daha fazla bilgi için benimle veya admissions sayfasından iletişime geçin. Bu kitapta hata veya eksiklik farkederseniz, lütfen ban bir e-posta gönderin. Bu kaynağın mümkün olduğunca en iyi kaynak olmasını istiyorum. Dr. Paul Vincent Craven Department Head, Computer Science Department Simpson College, Indianola, Iowa, USA paul.craven@simpson.edu. (Ç.N Çeviri hataları/düzeltmeleri/eksikleri/önerileri için yildirimgur@itu.edu.tr den ulaşabilirsiniz. - For translation errors/omissions/suggestions you can contact with this e-mail.) 0.2 Python'un Yüklenmesi ve Başlatılması Başlayabilmek için iki programın yüklenmesi gerekmektedir; Python ve Pygame. Python program yazacağımız bilgisayar dili ve Pygame ise daha kolay oyun yazabilmemiz için gerekli komutları içeren kütüphanedir. 0.3 Windows Üzerinde Kurulum Eğer halihazırda Python ve Pygame içeren bir bilgisayarınız varsa, bu aşamayı geçebilirsiniz. Ama eğer Python ve Pygame'i Windows bilgisayarınıza kurmak istiyorsanız endişelenmeyin. Kurulum oldukça basit. Sağdaki video sizi adım adım ilerletecektir. - Python yükleyiciyi çalıştırın: ProgramArcadeGames.com/python-3.3.3.msi - Pygame yükleyiciyi çalıştırın: ProgramArcadeGames.com/pygame-1.9.2a0.win32-py3.3.msi Her şey yüklendiğinde, Python'u alttaki şekilde görüldüğü gibi Integrated Development Environment (IDLE)'yi seçerek başlatın: Burada sağlanan orijinal dosyalar Python indirme sayfası ve Pygame indirme sayfasından gelmektedir. Gerekli olmadığı halde, ben ayrıca Wing IDE 101'in kurulmasını ve kullanılmasını şiddetle öneriyorum. Bu ticari bir geliştirme ortamının ücretsiz versiyonu. Bu ders için, pahalı versiyonla birlikte gelen albenili özelliklerin hiçbirine gerek yok. Wing IDE 101 sürümü başlamak için daha kolaydır. Buraya tıklayın ve "Wing IDE 101 / Windows" dosyasını indirip kurun. 0.4 Mac Üzerinde Kurulum Python ve Pygame Mac üzerinde çalışmaktadır. Sadece, henüz onun için hiçbir anlatım hazırlamadım. Üzgünüm. 0.5 Unix Üzerinde Kurulum Bir Unix versiyonunda çalışıyorsanız, bunu kendiniz halledebilirsiniz. You are not logged in. Log in here and track your progress. English version by Paul Vincent Craven Russian version by Vladimir Slav Turkish version by Güray Yildirim Dutch version by Frank Waegeman Hungarian version by Nagy Attila Portuguese version by Armando Marques Sobrinho and Tati Carvalho Spanish version by Aitor Peinador and Antonio Rodríguez