guinness Posted March 23, 2014 Posted March 23, 2014 (edited) Last time I had a >Paper, Rock, Scissors - Challenge and now I think it's time for a new one. Challenge: Create a lottery game with the least amount of lines in AutoIt. The user should be prompted to enter a string of 7 lottery numbers from 1 to 49 and have either a comma (,) or single space as the delimiter e.g. 1,5,10,37,15,43,2. It should be checked against 7 random numbers to see if they all match. If all 7 match then they win, otherwise they lose. The numbers should be valid and contain zero duplicates in both the user's choice and computer generated sequence. Good luck.Note: I am not playing this time around as some people said it was unfair that I took part last time. Oh and serious contenders need only apply please. PS. I created this in C# using 4 lines of code when the idea was presented to me by a mate...so yeah...good luck! -_0 NO /AutoItExecuteScript workarounds. Edited March 23, 2014 by guinness UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
nitekram Posted March 23, 2014 Posted March 23, 2014 (edited) I know that it is more then 4 lines, but thought I would give it a shot: 37 with blank lines and winner/loser msgbox expandcollapse popup#include<array.au3> Local $sNumbers, $aNumbers, $aLottery[7], $bDupe1 = False, $bDupe2 = False, $iCount = 0, $sTemp = '', $bFailed = False Do $bFailed = False $sNumbers = InputBox('Lottery', 'Pick 7 unique numbers 1-49, separate the numbers with a comma!') ;$sNumbers = '1,2,3,4,5,6,7' $aNumbers = StringSplit($sNumbers, ',', 2) $aNumbers = _ArrayUnique($aNumbers) For $x = 0 To UBound($aLottery) - 1 $aLottery[$x] = Random(1, 49, 1) If $aNumbers[$x] > 49 Or $aNumbers[$x] < 1 Then $bFailed = True Next $aLottery = _ArrayUnique($aLottery) Until UBound($aNumbers) = 8 And UBound($aLottery) = 8 And $bFailed = False $iCount = 0 For $x = 1 To UBound($aLottery) - 1 For $y = 1 To UBound($aNumbers) - 1 If $aNumbers[$y] = $aLottery[$x] Then $sTemp &= $aNumbers[$y] & ' vs ' & $aLottery[$x] & @CRLF ConsoleWrite($aNumbers[$y] & ' vs ' & $aLottery[$x] & @CRLF) $iCount += 1 EndIf If $iCount = 7 Then ExitLoop 2 Next Next If $iCount = 7 Then MsgBox('', 'Jackpot Winner', 'Your numbers matched the lottery numbers - pick up your prices ' & $sNumbers) Else MsgBox('', 'Jackpot Loser', 'Failed to pick the winning numbers ' & @CRLF & @CRLF & 'Your numbers = ' & $sNumbers & @CRLF & 'Pick numbers = ' & _ArrayToString($aLottery, ',', 1)) EndIf I will try again, when I have more time, but I want to see someone do it 4 lines - lol edit, had to change condition for $aLottery, was not checking the size Edited March 23, 2014 by nitekram 2¢ All by me:"Sometimes you have to go back to where you started, to get to where you want to go." "Everybody catches up with everyone, eventually" "As you teach others, you are really teaching yourself." From my dad "Do not worry about yesterday, as the only thing that you can control is tomorrow." WIKI | Tabs; | Arrays; | Strings | Wiki Arrays | How to ask a Question | Forum Search | FAQ | Tutorials | Original FAQ | ONLINE HELP | UDF's Wiki | AutoIt PDF AutoIt Snippets | Multple Guis | Interrupting a running function | Another Send StringRegExp | StringRegExp Help | RegEXTester | REG TUTOR | Reg TUTOT 2 AutoItSetOption | Macros | AutoIt Snippets | Wrapper | Autoit Docs SCITE | SciteJump | BB | MyTopics | Programming | UDFs | AutoIt 123 | UDFs Form | UDF Learning to script | Tutorials | Documentation | IE.AU3 | Games? | FreeSoftware | Path_Online | Core Language Programming Tips Excel Changes ControlHover.UDF GDI_Plus Draw_On_Screen GDI Basics GDI_More_Basics GDI Rotate GDI Graph GDI CheckExistingItems GDI Trajectory Replace $ghGDIPDll with $__g_hGDIPDll DLL 101? Array via Object GDI Swimlane GDI Plus French 101 Site GDI Examples UEZ GDI Basic Clock GDI Detection Ternary operator
guinness Posted March 23, 2014 Author Posted March 23, 2014 It's an awesome start, cheers nitekram. I haven't started with my version unless someone wants me to? UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
Moderators Melba23 Posted March 23, 2014 Moderators Posted March 23, 2014 (edited) guinness,By all means join in - just do not declare yourself the winner! But I would wait a while to see what others come up with first. M23 Edited March 23, 2014 by Melba23 Typo Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
guinness Posted March 23, 2014 Author Posted March 23, 2014 I will wait about 4 days or so. Though I am sure someone will come up with idea I have in mind. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
mikell Posted March 23, 2014 Posted March 23, 2014 (edited) 9 lines Edit Failed... try again Edited March 23, 2014 by mikell
guinness Posted March 23, 2014 Author Posted March 23, 2014 You might want to check your code again. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
JohnOne Posted March 23, 2014 Posted March 23, 2014 Array.au3 is about a thousand lines. AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
guinness Posted March 23, 2014 Author Posted March 23, 2014 Array.au3 is about a thousand lines. Includes I am not excepting in the line count, otherwise my 4 line C# version wouldn't be 4 lines. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
sahsanu Posted March 23, 2014 Posted March 23, 2014 I started to script this challenge just because no one replied.... but now, I can see my script is a bit longer than expected... ;-). Anyway, I think it works with all the requirements so, one more for the collection :-P. expandcollapse popup#include <array.au3> Local $aArray[49], $sCombination = "", $counter = 0, $sRightNumbers = "" For $i = 0 To UBound($aArray) - 1 $aArray[$i] = $i + 1 Next For $i = UBound($aArray) - 1 To UBound($aArray) - 7 Step -1 $iRandom = Random(0, $i, 1) $sCombination &= $aArray[$iRandom] & "," _ArrayDelete($aArray, $iRandom) Next $aWinner = StringSplit(StringTrimRight($sCombination, 1), ",") $sInput = InputBox("Lottery numbers", "Write 7 numbers from 1 to 49 separated by single space or comma") $aInput = StringSplit($sInput, " ,") $aUnique = _ArrayUnique($aInput, 1, 1) If $aUnique[0] <> 7 Then MsgBox(16, "Error", "You must use 7 different numbers") Exit 1 Else For $i = 1 To 7 $aUnique[$i] = Number($aUnique[$i]) $aWinner[$i] = Number($aWinner[$i]) If $aInput[$i] <= 49 Then $iSearch = _ArraySearch($aWinner, $aInput[$i]) If Not @error Then $sRightNumbers &= $aInput & "," $counter += 1 EndIf Else MsgBox(16, "Error", "Only numbers from 1 to 49 are allowed") Exit 1 EndIf Next EndIf _ArraySort($aWinner, 0, 1) _ArraySort($aUnique, 0, 1) If $counter = 7 Then MsgBox(64, "Yeaaah " & $counter & " from 7", "Lottery numbers: " & _ArrayToString($aWinner, ", ", 1) & @CRLF & "Your numbers : " & _ArrayToString($aUnique, ", ", 1) & @CRLF & "Congratulations, you got the 1st prize ;-)") Else MsgBox(64, "oooooh " & $counter & " from 7", "Lottery numbers: " & _ArrayToString($aWinner, ", ", 1) & @CRLF & "Your numbers : " & _ArrayToString($aUnique, ", ", 1) & @CRLF & "I'm sorry but you have lost, keep playing :-P") EndIf
FireFox Posted March 23, 2014 Posted March 23, 2014 (edited) 4 lines of code Loops already take 2 lines Edited March 23, 2014 by FireFox Gianni 1
czardas Posted March 23, 2014 Posted March 23, 2014 (edited) No, includes, no error checks and no ternary operator. If you enter an empty string you will confuse it. You have to check yourself that you have entered 7 unique numbers between 1 and 49 separated by spaces otherwise you might think you have won when you haven't. An additional error check would require an extra line of code. Local $a2[3] = ["lost","won",5 & Random(1,49,1)] While Not StringInStr($a2[2],"|",0,6) $a2[2] = StringRegExpReplace($a2[2] & StringRegExpReplace($a2[2] & "|" & 5 & Random(1,49,1) , "(" & $a2[2] & ")", "") , "\|+", "|") WEnd MsgBox(0, "Lottery", "You " & $a2[StringStripWS(StringRegExpReplace(StringRegExpReplace(InputBox("Enter 7 Numbers",""), "(\A| )", "5"), "("&$a2[2]&")", ""), 8) = ""]) : Edit : Changed one word in the description. Edited March 23, 2014 by czardas mLipok, FireFox and Unc3nZureD 3 operator64 ArrayWorkshop
nitekram Posted March 23, 2014 Posted March 23, 2014 Second shot - 21 lines #include<array.au3> Local $sNumbers, $aNumbers, $aLottery[7], $bDupe1 = False, $bDupe2 = False, $iCount = 0, $sTemp = '', $bFailed = False Do $bFailed = False $aNumbers = _ArrayUnique(StringSplit(InputBox('Lottery', 'Pick 7 unique numbers 1-49, separate the numbers with a comma!'), ',', 2)) For $x = 0 To UBound($aLottery) - 1 $aLottery[$x] = Random(1, 49, 1) If $aNumbers[$x] > 49 Or $aNumbers[$x] < 1 Then $bFailed = True Next $aLottery = _ArrayUnique($aLottery) Until UBound($aNumbers) = 8 And UBound($aNumbers) = 8 And $bFailed = False For $x = 1 To UBound($aLottery) - 1 For $y = 1 To UBound($aNumbers) - 1 If $aNumbers[$y] = $aLottery[$x] Then $iCount += 1 If $iCount = 7 Then MsgBox('', 'Jackpot Winner', 'Your numbers matched the lottery numbers - pick up your prices ' & $sNumbers) ExitLoop 2 EndIf Next Next If $iCount <> 7 Then MsgBox('', 'Jackpot Loser', 'Failed to pick the winning numbers ' & @CRLF & @CRLF & 'Your numbers = ' & _ArrayToString($aNumbers, ',', 1) & @CRLF & 'Pick numbers = ' & _ArrayToString($aLottery, ',', 1)) 2¢ All by me:"Sometimes you have to go back to where you started, to get to where you want to go." "Everybody catches up with everyone, eventually" "As you teach others, you are really teaching yourself." From my dad "Do not worry about yesterday, as the only thing that you can control is tomorrow." WIKI | Tabs; | Arrays; | Strings | Wiki Arrays | How to ask a Question | Forum Search | FAQ | Tutorials | Original FAQ | ONLINE HELP | UDF's Wiki | AutoIt PDF AutoIt Snippets | Multple Guis | Interrupting a running function | Another Send StringRegExp | StringRegExp Help | RegEXTester | REG TUTOR | Reg TUTOT 2 AutoItSetOption | Macros | AutoIt Snippets | Wrapper | Autoit Docs SCITE | SciteJump | BB | MyTopics | Programming | UDFs | AutoIt 123 | UDFs Form | UDF Learning to script | Tutorials | Documentation | IE.AU3 | Games? | FreeSoftware | Path_Online | Core Language Programming Tips Excel Changes ControlHover.UDF GDI_Plus Draw_On_Screen GDI Basics GDI_More_Basics GDI Rotate GDI Graph GDI CheckExistingItems GDI Trajectory Replace $ghGDIPDll with $__g_hGDIPDll DLL 101? Array via Object GDI Swimlane GDI Plus French 101 Site GDI Examples UEZ GDI Basic Clock GDI Detection Ternary operator
nitekram Posted March 23, 2014 Posted March 23, 2014 (edited) 19 lines, but I can drop 3 more if I do not report that they lost, only if they won... 16 lines lied 18, after double checking back to 17 lines #include<array.au3> Local $aNumbers, $aLottery[7], $iCount = 0, $bFailed = False, $swon = False Do $bFailed = False $aNumbers = _ArrayUnique(StringSplit(InputBox('Lottery', 'Pick 7 unique numbers 1-49, separate the numbers with a comma!'), ',', 2)) If UBound($aNumbers) <> 8 Then ContinueLoop For $x = 0 To UBound($aLottery) - 1 $aLottery[$x] = Random(1, 49, 1) If $aNumbers[$x+1] > 49 Or $aNumbers[$x+1] < 1 And $x = 6 Then $bFailed = True Next $aLottery = _ArrayUnique($aLottery) Until UBound($aNumbers) = 8 And UBound($aNumbers) = 8 And $bFailed = False For $x = 0 To UBound($aLottery) - 1 If _ArraySearch($aLottery, $aNumbers[$x], 1) <> -1 Then $iCount += 1 Next If $iCount = 7 Then $swon = True MsgBox('', 'Jackpot ' & $swon, 'Numbers:' & @CRLF & @CRLF & 'Your numbers = ' & _ArrayToString($aNumbers, ',', 1) & @CRLF & 'Pick numbers = ' & _ArrayToString($aLottery, ',', 1)) Edited March 23, 2014 by nitekram 2¢ All by me:"Sometimes you have to go back to where you started, to get to where you want to go." "Everybody catches up with everyone, eventually" "As you teach others, you are really teaching yourself." From my dad "Do not worry about yesterday, as the only thing that you can control is tomorrow." WIKI | Tabs; | Arrays; | Strings | Wiki Arrays | How to ask a Question | Forum Search | FAQ | Tutorials | Original FAQ | ONLINE HELP | UDF's Wiki | AutoIt PDF AutoIt Snippets | Multple Guis | Interrupting a running function | Another Send StringRegExp | StringRegExp Help | RegEXTester | REG TUTOR | Reg TUTOT 2 AutoItSetOption | Macros | AutoIt Snippets | Wrapper | Autoit Docs SCITE | SciteJump | BB | MyTopics | Programming | UDFs | AutoIt 123 | UDFs Form | UDF Learning to script | Tutorials | Documentation | IE.AU3 | Games? | FreeSoftware | Path_Online | Core Language Programming Tips Excel Changes ControlHover.UDF GDI_Plus Draw_On_Screen GDI Basics GDI_More_Basics GDI Rotate GDI Graph GDI CheckExistingItems GDI Trajectory Replace $ghGDIPDll with $__g_hGDIPDll DLL 101? Array via Object GDI Swimlane GDI Plus French 101 Site GDI Examples UEZ GDI Basic Clock GDI Detection Ternary operator
Popular Post JohnOne Posted March 23, 2014 Popular Post Posted March 23, 2014 One line. #include "czardas.au3" _czardas() czardas.au3 Func _czardas() Local $a2[3] = ["lost", "won", 5 & Random(1, 49, 1)] While Not StringInStr($a2[2], "|", 0, 6) $a2[2] = StringRegExpReplace($a2[2] & StringRegExpReplace($a2[2] & "|" & 5 & Random(1, 49, 1), "(" & $a2[2] & ")", ""), "\|+", "|") WEnd Return MsgBox(0, "Lottery", "You " & $a2[StringStripWS(StringRegExpReplace(StringRegExpReplace(InputBox("Enter 7 Numbers", ""), "(\A| )", "5"), "(" & $a2[2] & ")", ""), 8) = ""]) EndFunc ;==>_czardas nitekram, czardas, FrancescoDiMuro and 4 others 6 1 AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
jguinch Posted March 23, 2014 Posted March 23, 2014 Is the ternary operator allowed ? Spoiler Network configuration UDF, _DirGetSizeByExtension, _UninstallList Firefox ConfigurationArray multi-dimensions, Printer Management UDF
FireFox Posted March 23, 2014 Posted March 23, 2014 Everything except what's written in red on the 1st post.
czardas Posted March 23, 2014 Posted March 23, 2014 (edited) This is a great idea of yours guinness: a bit of light relief from all the complicated stuff I find myself working on nowadays. I didn't take a look at the paper rock scissors thread, so I didn't realise it was a challenge. Anyway my contribution doesn't quite fulfil all the criteria, so it's wide open everyone. Edited March 23, 2014 by czardas operator64 ArrayWorkshop
jguinch Posted March 23, 2014 Posted March 23, 2014 OK, I have 4 lines, with error checks, using the ternary operator (of course) ! While @error = 0 Local $comp[] = [ ( Random (1, 49, 1) & "," & Random (1, 49, 1) & "," & Random (1, 49, 1) & "," & Random (1, 49, 1) & "," & Random (1, 49, 1) & "," & Random (1, 49, 1) & "," & Random (1, 49, 1) ) , SetError( ( UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){0}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){1}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){2}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){3}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){4}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){5}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){6}([^,]+).*", ",$1,"), 3 ) ) = 7 ) ? 1 : 0 ) ] WEnd Local $a[] = [ InputBox("Lottery", "Enter your numbers from 1 to 49, separates by a comma (ex : 1,5,10,37,15,43,2)", "1,2,3,4,5,6,7", "", 500, 150) , ( StringRegExp($a[0], "^(([1-9]|([1-4]\d)),){6}([1-9]|([1-4]\d))$") ) ? 1 : (0 * MsgBox(16, "Lottery", "You must enter 7 numbers, separate by a comma")) , (($a[1] = 0) ? 0 : (((UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){0}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){1}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){2}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){3}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){4}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){5}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){6}([^,]+).*", ",$1,"), 3 ) ) ) = 7 ) ? 1 : 0 * MsgBox(16, "Lottery", "You cannot choose a same number more than one time") ) ) , StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){0}([^,]+).*", ",$1,") ) + StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){1}([^,]+).*", ",$1,") ) + StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){2}([^,]+).*", ",$1,") ) + StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){3}([^,]+).*", ",$1,") ) + StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){4}([^,]+).*", ",$1,") ) + StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){5}([^,]+).*", ",$1,") ) + StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){6}([^,]+).*", ",$1,") ) , (( $a[2] = 0 )? 0 : MsgBox(0, "", "You " & (( $a[3] = 7 ) ? "win" : "loose" ) & @CRLF & @CRLF & "Computer choice : " & $comp[0] & @CRLF & "Your choice : " & $a[0] & @CRLF & @CRLF & "You found " & $a[3] & " good numbers" ) ) ] For more visibility, with underscores : While @error = 0 Local $comp[] = [ ( Random (1, 49, 1) & "," & Random (1, 49, 1) & "," & Random (1, 49, 1) & "," & Random (1, 49, 1) & "," & Random (1, 49, 1) & "," & Random (1, 49, 1) & "," & Random (1, 49, 1) ) , _ SetError( ( _ UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){0}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){1}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){2}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){3}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){4}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){5}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){6}([^,]+).*", ",$1,"), 3 ) ) = 7 ) ? 1 : 0 ) ] WEnd Local $a[] = [ InputBox("Lottery", "Enter your numbers from 1 to 49, separates by a comma (ex : 1,5,10,37,15,43,2)", "1,2,3,4,5,6,7", "", 500, 150) , _ ( StringRegExp($a[0], "^(([1-9]|([1-4]\d)),){6}([1-9]|([1-4]\d))$") ) ? 1 : (0 * MsgBox(16, "Lottery", "You must enter 7 numbers, separate by a comma")) , _ (($a[1] = 0) ? 0 : _ (((UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){0}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){1}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){2}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){3}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){4}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){5}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){6}([^,]+).*", ",$1,"), 3 ) ) ) = 7 ) ? 1 : 0 * MsgBox(16, "Lottery", "You cannot choose a same number more than one time") ) ) , _ StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){0}([^,]+).*", ",$1,") ) + _ StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){1}([^,]+).*", ",$1,") ) + _ StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){2}([^,]+).*", ",$1,") ) + _ StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){3}([^,]+).*", ",$1,") ) + _ StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){4}([^,]+).*", ",$1,") ) + _ StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){5}([^,]+).*", ",$1,") ) + _ StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){6}([^,]+).*", ",$1,") ) , _ (( $a[2] = 0 )? 0 : _ MsgBox(0, "", "You " & (( $a[3] = 7 ) ? "win" : "loose" ) & @CRLF & @CRLF & "Computer choice : " & $comp[0] & @CRLF & "Your choice : " & $a[0] & @CRLF & @CRLF & "You found " & $a[3] & " good numbers" ) _ ) _ ] Is this OK ? Werty and iamtheky 2 Spoiler Network configuration UDF, _DirGetSizeByExtension, _UninstallList Firefox ConfigurationArray multi-dimensions, Printer Management UDF
nitekram Posted March 23, 2014 Posted March 23, 2014 OK, I have 4 lines, with error checks, using the ternary operator (of course) ! While @error = 0 Local $comp[] = [ ( Random (1, 49, 1) & "," & Random (1, 49, 1) & "," & Random (1, 49, 1) & "," & Random (1, 49, 1) & "," & Random (1, 49, 1) & "," & Random (1, 49, 1) & "," & Random (1, 49, 1) ) , SetError( ( UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){0}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){1}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){2}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){3}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){4}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){5}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){6}([^,]+).*", ",$1,"), 3 ) ) = 7 ) ? 1 : 0 ) ] WEnd Local $a[] = [ InputBox("Lottery", "Enter your numbers from 1 to 49, separates by a comma (ex : 1,5,10,37,15,43,2)", "1,2,3,4,5,6,7", "", 500, 150) , ( StringRegExp($a[0], "^(([1-9]|([1-4]\d)),){6}([1-9]|([1-4]\d))$") ) ? 1 : (0 * MsgBox(16, "Lottery", "You must enter 7 numbers, separate by a comma")) , (($a[1] = 0) ? 0 : (((UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){0}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){1}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){2}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){3}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){4}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){5}([^,]+).*", ",$1,"), 3 ) ) + UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){6}([^,]+).*", ",$1,"), 3 ) ) ) = 7 ) ? 1 : 0 * MsgBox(16, "Lottery", "You cannot choose a same number more than one time") ) ) , StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){0}([^,]+).*", ",$1,") ) + StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){1}([^,]+).*", ",$1,") ) + StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){2}([^,]+).*", ",$1,") ) + StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){3}([^,]+).*", ",$1,") ) + StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){4}([^,]+).*", ",$1,") ) + StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){5}([^,]+).*", ",$1,") ) + StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){6}([^,]+).*", ",$1,") ) , (( $a[2] = 0 )? 0 : MsgBox(0, "", "You " & (( $a[3] = 7 ) ? "win" : "loose" ) & @CRLF & @CRLF & "Computer choice : " & $comp[0] & @CRLF & "Your choice : " & $a[0] & @CRLF & @CRLF & "You found " & $a[3] & " good numbers" ) ) ] For more visibility, with underscores : While @error = 0 Local $comp[] = [ ( Random (1, 49, 1) & "," & Random (1, 49, 1) & "," & Random (1, 49, 1) & "," & Random (1, 49, 1) & "," & Random (1, 49, 1) & "," & Random (1, 49, 1) & "," & Random (1, 49, 1) ) , _ SetError( ( _ UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){0}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){1}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){2}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){3}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){4}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){5}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($comp[0], ",", ",,") & "," , StringRegExpReplace($comp[0] , "(?:[^,]+,){6}([^,]+).*", ",$1,"), 3 ) ) = 7 ) ? 1 : 0 ) ] WEnd Local $a[] = [ InputBox("Lottery", "Enter your numbers from 1 to 49, separates by a comma (ex : 1,5,10,37,15,43,2)", "1,2,3,4,5,6,7", "", 500, 150) , _ ( StringRegExp($a[0], "^(([1-9]|([1-4]\d)),){6}([1-9]|([1-4]\d))$") ) ? 1 : (0 * MsgBox(16, "Lottery", "You must enter 7 numbers, separate by a comma")) , _ (($a[1] = 0) ? 0 : _ (((UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){0}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){1}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){2}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){3}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){4}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){5}([^,]+).*", ",$1,"), 3 ) ) + _ UBound( StringRegExp( "," & StringReplace($a[0], ",", ",,") & "," , StringRegExpReplace($a[0] , "(?:[^,]+,){6}([^,]+).*", ",$1,"), 3 ) ) ) = 7 ) ? 1 : 0 * MsgBox(16, "Lottery", "You cannot choose a same number more than one time") ) ) , _ StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){0}([^,]+).*", ",$1,") ) + _ StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){1}([^,]+).*", ",$1,") ) + _ StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){2}([^,]+).*", ",$1,") ) + _ StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){3}([^,]+).*", ",$1,") ) + _ StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){4}([^,]+).*", ",$1,") ) + _ StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){5}([^,]+).*", ",$1,") ) + _ StringRegExp("," & $comp[0] & ",", StringRegExpReplace($a[0] , "(?:[^,]+,){6}([^,]+).*", ",$1,") ) , _ (( $a[2] = 0 )? 0 : _ MsgBox(0, "", "You " & (( $a[3] = 7 ) ? "win" : "loose" ) & @CRLF & @CRLF & "Computer choice : " & $comp[0] & @CRLF & "Your choice : " & $a[0] & @CRLF & @CRLF & "You found " & $a[3] & " good numbers" ) _ ) _ ] Is this OK ? I would say you win, I cannot even keep track of that many in one line, let alone spread out like you did - lol, my mind cannot handle it. 2¢ All by me:"Sometimes you have to go back to where you started, to get to where you want to go." "Everybody catches up with everyone, eventually" "As you teach others, you are really teaching yourself." From my dad "Do not worry about yesterday, as the only thing that you can control is tomorrow." WIKI | Tabs; | Arrays; | Strings | Wiki Arrays | How to ask a Question | Forum Search | FAQ | Tutorials | Original FAQ | ONLINE HELP | UDF's Wiki | AutoIt PDF AutoIt Snippets | Multple Guis | Interrupting a running function | Another Send StringRegExp | StringRegExp Help | RegEXTester | REG TUTOR | Reg TUTOT 2 AutoItSetOption | Macros | AutoIt Snippets | Wrapper | Autoit Docs SCITE | SciteJump | BB | MyTopics | Programming | UDFs | AutoIt 123 | UDFs Form | UDF Learning to script | Tutorials | Documentation | IE.AU3 | Games? | FreeSoftware | Path_Online | Core Language Programming Tips Excel Changes ControlHover.UDF GDI_Plus Draw_On_Screen GDI Basics GDI_More_Basics GDI Rotate GDI Graph GDI CheckExistingItems GDI Trajectory Replace $ghGDIPDll with $__g_hGDIPDll DLL 101? Array via Object GDI Swimlane GDI Plus French 101 Site GDI Examples UEZ GDI Basic Clock GDI Detection Ternary operator
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now