Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extends Node2D
- # ustawienie predkosci pilki
- const PREDKOSC_PILKI = 200
- # ustawienie predkosci gracza
- const PREDKOSC_GRACZA = 200
- # zmienne
- var rozmiarEkranu
- var rozmiarPaletki
- var kierunekPilki
- var wynikLewy
- var wynikPrawy
- func _ready():
- # Called every time the node is added to the scene.
- # Initialization here
- print("HELLO WORLD")
- # pobierz rozmiar ekranu
- rozmiarEkranu = get_viewport_rect().size
- # pobierz rozmiar paletki
- rozmiarPaletki = get_node("prawyGracz").texture.get_size()
- # ustaw początkowy kierunek piłki
- kierunekPilki = Vector2(1.0, 0.0)
- # ustaw poczatkowy wynik
- wynikLewy = 0
- wynikPrawy = 0
- get_node("wynikLewy").bbcode_text = "[left]" + str(wynikLewy)
- get_node("wynikPrawy").bbcode_text = "[right]" + str(wynikPrawy)
- pass
- func _process(delta):
- # pobierz pozycje pilki i przypisz do zmiennej
- var pozycjaPilki = get_node("pilka").position
- # pobierz pozycje prawego i lewego gracza i przypisz je do zmiennej
- var pozycjaPrawegoGracza = get_node("prawyGracz").position
- var pozycjaLewegoGracza = get_node("lewyGracz").position
- # tworzenie kolidera dla graczy
- var kolizjaPrawegoGracza = Rect2(pozycjaPrawegoGracza - rozmiarPaletki * 0.5, rozmiarPaletki)
- var kolizjaLewegoGracza = Rect2(pozycjaLewegoGracza - rozmiarPaletki * 0.5, rozmiarPaletki)
- # zaktualizuj zmienna z pozycja pilki
- pozycjaPilki.x = pozycjaPilki.x + PREDKOSC_PILKI * delta * kierunekPilki.x
- pozycjaPilki.y = pozycjaPilki.y + PREDKOSC_PILKI * delta * kierunekPilki.y
- # sprawdz ktory klawisz byl wcisniety i zaktualizuj pozycje graczy
- if(Input.is_action_pressed("ui_up") and pozycjaPrawegoGracza.y > 0):
- pozycjaPrawegoGracza.y = pozycjaPrawegoGracza.y - PREDKOSC_GRACZA * delta
- if(Input.is_action_pressed("ui_down") and pozycjaPrawegoGracza.y < rozmiarEkranu.y):
- pozycjaPrawegoGracza.y = pozycjaPrawegoGracza.y + PREDKOSC_GRACZA * delta
- if(Input.is_action_pressed("ui2_up") and pozycjaLewegoGracza.y > 0):
- pozycjaLewegoGracza.y = pozycjaLewegoGracza.y - PREDKOSC_GRACZA * delta
- if(Input.is_action_pressed("ui2_down") and pozycjaLewegoGracza.y < rozmiarEkranu.y):
- pozycjaLewegoGracza.y = pozycjaLewegoGracza.y + PREDKOSC_GRACZA * delta
- # sprawdzanie kolizji piłki
- if(kolizjaPrawegoGracza.has_point(pozycjaPilki) or kolizjaLewegoGracza.has_point(pozycjaPilki)):
- kierunekPilki.x = -kierunekPilki.x
- randomize()
- kierunekPilki.y = 2 * randf() - 1
- print(kierunekPilki.y)
- if(pozycjaPilki.y < 0 or pozycjaPilki.y > rozmiarEkranu.y):
- kierunekPilki.y = -kierunekPilki.y
- # zwiekszamy wynik prawy
- if(pozycjaPilki.x < 0):
- wynikPrawy += 1
- print(str(wynikLewy) + " : " + str(wynikPrawy))
- pozycjaPilki = rozmiarEkranu / 2
- get_node("wynikPrawy").bbcode_text = "[right]" + str(wynikPrawy)
- # zwiekszamy wynik lewy
- if(pozycjaPilki.x > rozmiarEkranu.x):
- wynikLewy += 1
- print(str(wynikLewy) + " : " + str(wynikPrawy))
- pozycjaPilki = rozmiarEkranu / 2
- get_node("wynikLewy").bbcode_text = "[left]" + str(wynikLewy)
- # przekaz nowa pozycje do pilki
- get_node("pilka").position = pozycjaPilki
- # przekaz nowe pozycje do graczy
- get_node("prawyGracz").position = pozycjaPrawegoGracza
- get_node("lewyGracz").position = pozycjaLewegoGracza
- pass
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement