Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Жовтяк курсовая 4016.docx
Скачиваний:
3
Добавлен:
27.08.2024
Размер:
235.3 Кб
Скачать

Приложение д

Скрпит основной сцены main.gd

extends Node2D

onready var tab = get_node("Tab")

onready var barrier_spawner = get_node("barrier_spawner")

onready var ground = get_node("ground/AnimationPlayer")

onready var menu = get_node("Menu")

onready var char1 = get_node("bird/Sprite")

onready var char2 = get_node("bird/Sprite2")

onready var char3 = get_node("bird/Sprite3")

onready var label2 = get_node("Menu/Start_text/StartMessage/PriceTwo")

onready var label3 = get_node("Menu/Start_text/StartMessage/PriceThree")

const save_file_path = "user://savedata.save"

var score = 0 setget set_score

var highscore = 0

func _ready():

var save = load_highscore()

barrier_spawner.connect("builded_barrier", self, "on_barrier_created")

load_highscore()

$swoosh.play()

if save >= 30:

label2.hide()

if save >= 60:

label3.hide()

func new_game():

self.score = 0

barrier_spawner.start()

func player_score():

self.score += 1

func set_score(new_score):

score = new_score

tab.change_score(score)

func on_barrier_created(obs):

obs.connect("score", self, "player_score")

func _on_DeathZone_body_entered(body):

if body is bird:

if body.has_method("die"):

body.die()

func _on_bird_died():

game_over()

func game_over():

barrier_spawner.stop()

ground.stop()

get_tree().call_group("barriers", "set_physics_process", false )

if score > highscore:

highscore = score

save_highscore()

menu.init_game_over_menu(score, highscore)

func _on_Menu_start_game():

new_game()

func save_highscore():

var save_data = File.new()

save_data.open(save_file_path, File.WRITE)

save_data.store_var(highscore)

save_data.close()

func load_highscore():

var save_data = File.new()

if save_data.file_exists(save_file_path):

save_data.open(save_file_path, File.READ)

highscore = save_data.get_var(highscore)

save_data.close()

return highscore

func _on_ctchar1_pressed():

$click.play()

char1.show()

char2.hide()

char3.hide()

func _on_ctchar2_pressed():

var save = load_highscore()

if save >= 30:

$click.play()

char1.hide()

char2.show()

char3.hide()

func _on_ctchar3_pressed():

var save = load_highscore()

if save >= 60:

$click.play()

char1.hide()

char2.hide()

char3.show()

Соседние файлы в предмете Основы программирования