Что нового

#include по случаю

royalfint

Трейдер, Программист, Игродел, Веб-Мастер
Сообщения
74
Репутация
0
Всем привет! Делаю программу с GUI интерфейсом и функционал программы довольно обширный и также есть возможность выбрать с чем нам нужно будет работать. Например: с игрой: "Веселая ферма" или "Солидная ферма" и название функций для работы с обеими играми должны быть одинаковыми, но находится в разных файлах которые мы будем включать в скрипт по случаю. Пример: я выбрал "Веселая ферма" и нажал старт и у меня подключается файл FunnyFarm.au3, а когда я нажал на стоп то он так сказать отключился. Затем я выбираю "Солидная ферма" и у меня подключается заголовок SeriousFarm.au3. В этих файлах лежат функции с одинаковыми названиями но с разным функционалом и нужно чтобы не возникло никаких формальностей с ошибками типа "FUnction Already defined/initializated", а как так сделать не знаю! Заранее спасибо за помощь!
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Я бы подключил сразу 2 файла использовал разные названия для функций...
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Автор
royalfint

royalfint

Трейдер, Программист, Игродел, Веб-Мастер
Сообщения
74
Репутация
0

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Раньше делал вот так:
Код:
Global $selected_game = 'funny'
Func game_start()
	Switch $selected_game
		Case 'funny'
			funny_farm_start()
		Case 'solid'
			solid_farm_start()
		Case Else
			;Неизвестная игра
	EndSwitch
EndFunc

Func funny_farm_start()
	;Эта функция запускает игру "веселая ферма"
EndFunc

Func solid_farm_start()
	;Эта функция запускает игру "солидная ферма"
EndFunc


И что бы запустить игру, вызывал функцию game_start(), а всю логику по разым играм держал бы в разных файлах. Так функция funny_farm_start() лежала бы в файле funny_game.au3 и подключалась через #include

Но теперь бы делал так:
Код:
Global $selected_game = 'funny'

Switch $selected_game
	Case 'funny'
		$start_game = funny_farm_start
	Case 'solid'
		$start_game = solid_farm_start
EndSwitch

;Ну и когда ты решил запустить игру, то просто обращается к фукнции как к переменной
$start_game('какие то параметры')
 
Автор
royalfint

royalfint

Трейдер, Программист, Игродел, Веб-Мастер
Сообщения
74
Репутация
0
я через switch и делал но проблема в том что так крайне не удобно с разными названиями функций так как у меня на одна игра а 5-6 например. И тогда главный цикл уже превращается в геморой. И еще в программе есть кнопка старт/пауза после которой начинается инклюд для нужно игры, но вот после нажатия паузы и при выборе другой игры начинается конфликт имен функций


Добавлено:
Сообщение автоматически объединено:

плагины которые предоставил создатель меня устраивают, но если бы был какой нибудь локальный инклюд было бы жить проще
 
Верх