Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЖОВТЯК 4016 КУРСОВАЯ

.pdf
Скачиваний:
4
Добавлен:
27.08.2024
Размер:
769.24 Кб
Скачать

ПРИЛОЖЕНИЕ Д

Скрпит основной сцены 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():

31

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()

32

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()

33

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()

34

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