Что нового

[Игра] Печеньки ^_^

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Дописывай
Я подпилил немного, а то прям глаза резало запуск новой версии скрипта....
ToDo:
1. Добавить все картинки в ресурсы файла и вызывать их оттуда
2. Уровни сложности
3. Таблица HighScore
4. Переназвать переменные на более правильные и понятные
5. Не создавать переменные на Label'ы которые не используются для
Код:
GUICtrlSetData()
 
Автор
T

_ToBe_

Осваивающий
Сообщения
142
Репутация
35
Medic84
1. Добавить все картинки в ресурсы файла и вызывать их оттуда

Можешь подсказать в какую сторону копать? А то я в этом вопросе не силён, но готов порыться и сделать всё как надо :smile:
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
_ToBe_
http://autoit-script.ru/index.php?topic=2849.msg20796#msg20796
 

Ilyialat

Новичок
Сообщения
54
Репутация
2
Я походу чутка сдвинулся на ботах... Мысли - Надо написать кликера!!! :D
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
_ToBe_
Посмотри

Код:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=ico32.ico
#AutoIt3Wrapper_Compile_Both=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GUIConstantsEx.au3>

$myGui = GUICreate("Печеньки", 300, 400)
GUISetBkColor(0xFFFFFF)
GUICtrlCreateLabel("Хавка", 10, 10)
$prog = GUICtrlCreateProgress(50, 10, 240, 15)
GUICtrlSetData(-1, 100)
$click = GUICtrlCreatePic("ico.jpg", 100, 250, 40, 40)
$score_la = GUICtrlCreateLabel("Печенек съел: 0", 180, 380, 200)

GUISetState()
$Global_timer = TimerInit()
$Global_speed = 100
$i = 0
Global $score = 0
While 1
	$msg = GUIGetMsg()

	If Int(TimerDiff($Global_timer)) >= $Global_speed Then
		$i += 1
		$Global_timer = TimerInit()
		GUICtrlSetData($prog, 100 - $i)
		If $i >= 100 Then ExitLoop
	EndIf

	Switch $msg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $click
			$prog1_read = GUICtrlRead($prog)
			GUICtrlSetData($prog, $prog1_read + 25)
			$i -= 25
			If $i <= 0 Then $i = 0

			GUICtrlSetPos($click, Random(10, 240, 2), Random(30, 340, 2))
			; GUICtrlSetState($prog, $GUI_FOCUS)
			$Global_speed = $Global_speed - 10
			If $Global_speed <= 12 Then $Global_speed = 12

			$score += 1
			GUICtrlSetData($score_la, "Печенек съел: " & $score)
;~ 		  ConsoleWrite($Global_speed & @CRLF)
	EndSwitch

WEnd
GUIDelete()

GUICreate("О, Нет!!!", 300, 450)
GUISetBkColor(0xFFFFFF)
GUICtrlCreatePic("mem_sad.jpg", 10, 10, 290, 290)
GUICtrlCreateLabel("Мои любимые печеньки......  ", 60, 320, 300, 20)
GUICtrlSetFont(-1, 12, 600)
$btn = GUICtrlCreateButton("Кончились", 75, 340, 150, 50)
GUICtrlSetFont(-1, 12, 200)
Switch $score
	Case 1
		$score &= " печеньку"
	Case 2 To 4
		$score &= " печеньки"
	Case Else
		$score &= " печенек"
EndSwitch

GUICtrlCreateLabel("Ты съел всего " & $score, 75, 400, 250)
GUICtrlSetFont(-1, 10, 200)

GUISetState()
While 1
	Switch GUIGetMsg()
		Case $btn
			ExitLoop
		Case $GUI_EVENT_CLOSE
			Exit
	EndSwitch
WEnd

If MsgBox(4, "Ты хочешь ещё...", "Печенек?") = 6 Then ShellExecute(FileGetShortName(@ScriptFullPath))
 
Автор
T

_ToBe_

Осваивающий
Сообщения
142
Репутация
35
AZJIO
Посмотрел :smile: Но мало чё понял :D
Насколько я был внимателен, я увидел что ты переписал его под себя, так как тебе и, скорей всего, 99% программистов понятнее. Но для меня фраза: $Вася += 1 в мозгу конвертируется как "Вася Плюс равно Один Вася" :stars: И поэтому я избегаю Switch т.к. для меня это "переключатель" :D , а что он перелючает и зачем - не понятно...
Понимаю, нужна практика и особое мышление, что б писать так, как ты написал... Но... У каждого свой стиль :-[ И спасибо что поправил, сохраню себе такую версию :smile:
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
_ToBe_
Просто оптимизация скрипта. Поможет в дальнейшем писать код более правильно. Кстати, участки кода (GUI) лучше заключить в функции (в будущем), тогда перезапускать скрипт не придётся, достаточно вызвать функцию повторно.
То есть изначально лучше делать код в функции, как это показывает каждый пример UDF.
 
Автор
T

_ToBe_

Осваивающий
Сообщения
142
Репутация
35
AZJIO
Ага, меня Medic84 уже поправил в этом вопросе... Сейчас пытаюсь понять как пользоваться ресурсами :stars:
 
Верх