Pythonda yılan oyunu yapma #10

preview_player
Показать описание
Merhabalar, bu videomuzda Python dilinde turtle modülünü kullanarak yılan oyununu yapacağız.
0:00 Oyun tanıtımı
0:55 Pencere hazırlama
3:00 Yılan kafasını hazırlama
4:38 Hareketi organize etme
6:30 Klavye kontrolü
10:30 Programı yavaşlatma
11:23 Yemek ekleme
12:30 Çarpışma kontrolü
14:00 Kuyruk ekleme
18:18 Kenar çarpma kontrolü
21:08 Puan ekleme

Tam kod:
Рекомендации по теме
Комментарии
Автор

hocam kafa kuyruğa çarptığı zaman yanmayı nasıl yapabiliriz kafa.distance(kuyruklar) şeklinde denedim ama olmadı ne tarzda yazmalıyız

halilibrahimkucuk
Автор

Abş böyke bi anlatış şekli yok resmen pythoni öğretiyor adam oyun yapmayı değil eline sağlık <3

carsonic
Автор

11:19 a kadar olan kodlar:

import turtle
import time

hiz = 0.15

pencere = turtle.Screen()
pencere.title('Yılan Oyunu')

pencere.setup(width=600, height=600)
pencere.tracer(0)


kafa = turtle.Turtle()
kafa.speed(0)
kafa.shape('square')
kafa.color('black')
kafa.penup()
kafa.goto(0, 100)
kafa.direction = 'stop'

def move():
if kafa.direction== 'up':
y = kafa.ycor()
kafa.sety(y + 20)
if kafa.direction== 'down':
y = kafa.ycor()
kafa.sety(y - 20)
if kafa.direction== 'right':
x = kafa.xcor()
kafa.setx(x + 20)
if kafa.direction== 'left':
x = kafa.xcor()
kafa.setx(x - 20)

def goUp():
if kafa.direction != 'down':
kafa.direction = 'up'

def goDown():
if kafa.direction != 'up':
kafa.direction = 'down'

def goRight():
if kafa.direction != 'left':
kafa.direction = 'right'

def goLeft():
if kafa.direction != 'right':
kafa.direction = 'left'


pencere.listen()
pencere.onkey(goUp, 'Up')
pencere.onkey(goDown, 'Down')
pencere.onkey(goRight, 'Right')
pencere.onkey(goLeft, 'Left')


while True:
pencere.update()
move()
time.sleep(hiz)

asmabahcesi
Автор

Çok teşekkür ederim emeğinizin karşılığını her iki dünyada almanız dileğiyle.

mehmetcelik
Автор

Hocam merhaba basdaki ekrani tam olaraik nasail aciyorsunuz.Ben acinca karsima sadece bos bir sayfa cikiyor ve orada kodlar yapiyorum lakin sizin gibi sayfani nasil aca bilirim.Yanda sayilar falan olsun?

RESUL-moei
Автор

Pythonda kod yazmaya yeni başladım. Başlangıçta zor geldi. Fakat basit kodlar yazarak bu dile alışmam kolaylaştı. Paylaşımlarınız benim açımdan çok öğretici. Teşekkür ederim.

hatiraci
Автор

İlk oyunum . İyi gidiyor şimdilik . İlerde vaktim olursa pythonu tam ogrenirim ama muhtemelen vaktim olamayacağı için bu tür videolari izleyerek devam ederim. :) Teşekkürler hocam güzel anlattınız .

Ndnn
Автор

teşekkür ederim python kodlama diline yeni başladım sayılır sizin videonuz sayesinde yeni şeyler öğrendim tekrardan teşekkür ederim.

ahmetzngloglu
Автор

Hom ben yaptim simdi biraz degistirmek itiyorum böyle engeller koyacam tesekürler ilki varsiniz

kubilayaydinfethikoc
Автор

Merhabalar dediklerinizi yaptım fakat bir yerde yanlışlık yapmışım ve çözemiyorum . Ben de yılanın başı ve yemek gözüküyor ama oyun hareket etmiyor. Nerede yanlışlık yapmış olabilirim sizce lütfen yardım eder misiniz?

HilallDogann
Автор

hocam direction metodunu algılamıyor py ? acaba adı mı değişti? __dir__ isimli bi metod var acaba o mu

aliksy
Автор

Hocam Yeni Başladımda Yapıyorum Fakat Sizin Gibi Oyun Ekranı Gelmiyor Neden Bilginiz Varmı?

mahmut_knttl
Автор

hocam ben vsc kulanıyorum siz ne kulanıyorsunuz program olarak bende onu indiricem

mirzaaksu
Автор

İlk oyununu senin sayende yaptım çok teşekkürler

MuratYlcn
Автор

Men oyunu yaratdim. Öyretmeyiniz cox yaxsidi👏🏻

aygunabdullayeva
Автор

Boyle vidyolara devam et abicim.Ayrica sifirdan en onemli seyleri anlatirsan sevinirim.Phyton dersleri

Rahimoff
Автор

hocam sorularımızı cevapsız bırakmadıgınız için cok teşekkürler ediyorum saolun hayılı başarılı kazanclı uzun yolunuz olur inşallah tekrardan teşekkür ederim

albertoukostandili
Автор

tam kod;

import random
import turtle
import time
delay = 0.15

pencere = turtle.Screen()
pencere.title('Yılan Oyunu')

pencere.setup(width=600, height=600)
pencere.tracer(0)

kafa = turtle.Turtle()
kafa.speed(0)
kafa.shape("square")
kafa.color("black")
kafa.penup()
kafa.goto(0, 100)
kafa.direction = "stop"

yemek = turtle.Turtle()
yemek.speed(0)
yemek.shape("circle")
yemek.color("red")
yemek.penup()
yemek.shapesize(0.80, 0.80)
yemek.goto(0, 0)

kuyruklar = []
puan = 0

yaz = turtle.Turtle()
yaz.speed(0)
yaz.shape("square")
yaz.color("white")
yaz.penup()
yaz.hideturtle()
yaz.goto(0, 260)
yaz.write("Puan: {}".format(puan), align="center", font=("Courier", 24, "normal"))

def move():
if kafa.direction == "up":
y = kafa.ycor()
kafa.sety(y + 20)
if kafa.direction == "down":
y = kafa.ycor()
kafa.sety(y - 20)
if kafa.direction == "right":
x = kafa.xcor()
kafa.setx(x + 20)
if kafa.direction == "left":
x = kafa.xcor()
kafa.setx(x - 20)

def go_up():
if kafa.direction != "down":
kafa.direction = "up"
def go_down():
if kafa.direction != "up":
kafa.direction = "down"





def go_right():
if kafa.direction != "left":
kafa.direction = "right"
def go_left():
if kafa.direction != "right":
kafa.direction = "left"

pencere.listen()
pencere.onkey(go_up, "Up")
pencere.onkey(go_down, "Down")
pencere.onkey(go_right, "Right")
pencere.onkey(go_left, "Left")

while True:
pencere.update()

if kafa.xcor() > 300 or kafa.xcor() < -300 or kafa.ycor() > 300 or kafa.ycor() < -300:
time.sleep(1)
kafa.goto(0, 0)
kafa.direction = "stop"

for kuyruk in kuyruklar:
kuyruk.goto(1000, 1000)
kuyruklar = []

puan = 0
delay = 0.1

yaz.clear()
yaz.write("Puan: {}".format(puan), align="center", font=("Courier", 24, "normal"))

if kafa.distance(yemek) < 20:
x = random.randint(-250, 250)
y = random.randint(-250, 250)
yemek.goto(x, y)

yeni_kuyruk = turtle.Turtle()
yeni_kuyruk.speed(0)
yeni_kuyruk.shape("square")
yeni_kuyruk.color("white")
yeni_kuyruk.penup()


delay -= 0.001

puan = puan + 10
yaz.clear()
yaz.write("Puan: {}".format(puan), align="center", font=("Courier", 24, "normal"))

for index in range(len(kuyruklar) - 1, 0, -1):
x = kuyruklar[index - 1].xcor()
y = kuyruklar[index - 1].ycor()
kuyruklar[index].goto(x, y)

if len(kuyruklar) > 0:
x = kafa.xcor()
y = kafa.ycor()
kuyruklar[0].goto(x, y)

move()

for segment in kuyruklar:
if segment.distance(kafa) < 20:
time.sleep(1)
kafa.goto(0, 0)
kafa.direction = "stop"
for segment in kuyruklar:
segment.goto(1000, 1000)
kuyruklar = []
puan = 0
yaz.clear()
yaz.write('Puan: {}'.format(puan), align='center', font=('Courier', 24, 'normal'))
hiz = 0.15

time.sleep(delay)

eftrsk
Автор

Merhaba hocam, 20.dakikaya kadar gelebildim. Ancak orada bir hata alıyorum. Lütfen yardımcı olur musunuz?
File "C:\Users\Lenovo\PycharmProjects\pythonProject2\main.py", line 78
for kuyruk in kuyruklar:
IndentationError: unexpected indent

melsa
Автор

im a beginner in python learning thank you it's very good job teacher.

davidmoseshenderson