Что нового

мини "игра"

ahjkcfout7

Знающий
Сообщения
26
Репутация
6
AutoIt: 3.
Версия: 3.3.8.1

Категория: , Элементы GUI, Разное

Описание:
Как то мне дали ссылку на такую "игру". Вобщем машина угадывает число которое ты задумал...ну ради интереса кликнул и зашел на сайт...там на php была написана программа...оказалось интересно, для мало образованого человека ето кажется магией))) типо что комп настолько умный и через вай фай считывает твой ддр2 или ддр3(у всех по разному) в голове, а оказывается чистая математика)...
Код/Пример:
Код:
#include <Array.au3>
HotKeySet("^q", "_Ctrl_Q")
Opt('MustDeclareVars', 1)
Local $l,$h,$z,$b,$aU,$bU,$nU,$button,$a
$l = 55
$h = 0
$z = 0
GUICreate("хы-хы", 640, 450, 200, 200)
$button = GUICtrlCreateButton("Угадать", 120, 400,  400, 40)
GUICtrlCreateLabel("1. Задумайте любое двухзначное число.", 5, 15)
GUICtrlCreateLabel("2. Вычтите из него составляющие его цифры (например, из числа 34 надо вычесть 3 и 4).", 5, 35)
GUICtrlCreateLabel("3. Найдите это число в таблице и символ, которому оно соответствует.", 5, 55)
GUICtrlCreateLabel("4. Вообразите мысленно себе этот символ.", 5, 75)
GUICtrlCreateLabel('5. Щелкните на кнопку "Угадать".', 5, 95)
GUISetState()
$aU=_UniqArray(65, 90)
$bU=_UniqArray(97, 122)
$nU=_UniqArray(0, 99)
If Random(0,1,1) = 1 Then
	$b  = $aU[Random(0,25,1)]
Else
	$b  = $bU[Random(0,25,1)]
EndIf

For $i = 1 To 99
	If IsInt($nU[$i] / 9) = 1 And $nU[$i] <> 0  Then
		$a = $b
	Else
		If Random(0,1,1) = 1 Then
			$a = $aU[Random(0,25,1)]
		Else
			$a = $bU[Random(0,25,1)]
		EndIf
	EndIf
	If $z = 12 Then $z = 0
	GUICtrlCreateLabel($nU[$i]&"  "&Chr($a), 5+$z*$l, 130+$h)
	$z += 1
	If IsInt($i/12) = 1 And $i/12 <> 0 Then $h += 30
Next
$h = 8*30
If IsInt($nU[0] / 9) = 1 And $nU[0] <> 0 Then
		$a = $b
	Else
		If Random(0,1,1) = 1 Then
			$a = $aU[Random(0,25,1)]
		Else
			$a = $bU[Random(0,25,1)]
		EndIf
	EndIf
GUICtrlCreateLabel($nU[0]&"  "&Chr($a), 5+3*$l, 130+$h)
While True
Global  $msg = GUIGetMsg()
	If  $msg = -3 Then Exit
If $msg = $button Then
	MsgBox(4096, "Результат", Chr($b))
	Restart()
EndIf
Sleep(10)
WEnd

Func _UniqArray($iMin, $iMax)
	Local $iR
    Local $iU = $iMax - $iMin, $iT = 0
    Local $aI[$iU + 1], $aO[$iU + 1]
    For $i = $iMin To $iMax
        $aI[$iT] = $i
        $iT += 1
    Next
    For $i = 0 To $iU
        $iR = Random(0, $iU - $i, 1)
        $aO[$i] = $aI[$iR]
        For $k = $iR To $iU - $i - 1
            $aI[$k] = $aI[$k + 1]
        Next
    Next
    Return SetError(0, 0, $aO)
EndFunc
 Func Restart()
	 Local $hProc
        If @Compiled Then
            Run(@ScriptFullPath)
        Else
            $hProc = @AutoItExe & ' "' & @ScriptFullpath & '"'
            Run($hProc)
        EndIf
        Exit
	EndFunc
Func _Ctrl_Q()
    Exit 0
EndFunc

Файл: http://

Снимок:


История версий:

Источник: autoit-script.ru
Автор(ы):
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
чисто 91
по правилам вычитаем 1 и вычитаем 9. получается 81
такого числа нет в окне
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
вобщем то да.
для небольших шуток на новый год игра подходит.
 

DanSaratov

Новичок
Сообщения
112
Репутация
1
Идеальная игра... Попробуйте идти в обе стороны сразу :D
 

Вложения

  • game.au3
    62.5 КБ · Просмотры: 26
Верх