immer noch zu unklar?
Beiträge von Captain09
-
-
wurde aufgebessert
-
wenn etwas unverständlich ist, helfe ich so gut ich kann ;),
kommentieren liegt mir nicht besonders
-
doch so viele xD
grobe Anregungen oder Umschreibungen fände ich schon gut
-
Hallo,
Ich habe bis jetzt folgendes Script:
Spoiler anzeigen
[autoit]#NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstants.au3>AutoItSetOption("MustDeclareVars", 1)
[/autoit] [autoit][/autoit] [autoit]Global $pieces = 1
[/autoit] [autoit][/autoit] [autoit]Global $points
[/autoit] [autoit][/autoit] [autoit]Global Const $BOARD_WIDTH = 10
[/autoit] [autoit][/autoit] [autoit]
Global Const $BOARD_HEIGHT = 20
Global Const $EMPTY_COLOUR = -0xFfffff
Global Const $TOWER_COLOUR = 0x40e0d0
Global Const $BOX_COLOUR = 0xffff00
Global Const $PYRAMID_COLOUR = 0xff00ff
Global Const $LLEANER_COLOUR = 0xff0000
Global Const $RLEANER_COLOUR = 0x00ff00
Global Const $LKNIGHT_COLOUR = 0xffa500
Global Const $RKNIGHT_COLOUR = 0x0000CDGlobal $g_lblGameBoard[$BOARD_WIDTH][$BOARD_HEIGHT]
[/autoit] [autoit][/autoit] [autoit]
Global $g_lblPreviewBoard[4][4]
Global $g_lblPreviewBoard2[4][4]
Global $g_lblPreviewBoard3[4][4]
Global $g_aBoard[$BOARD_WIDTH][$BOARD_HEIGHT]
Global $g_aGameShape[4][4], $g_aPreShape[4][4], $g_aPreShape2[4][4], $g_aPreShape3[4][4]
Global $g_nShapeX, $g_nShapeY
Global $g_nGameTick
Global $g_lblScore
Global $g_btnMoveLeft, $g_btnMoveRight
Global $g_btnRotate, $g_btnDrop
Global $g_btnStart
Global $g_bGameStarted = False
Global $msg
Global $lbLost
Global $lost = FalseGUICreate("Häcker'sches Tetris", 490, 560)
[/autoit] [autoit][/autoit] [autoit]_DrawGameBoard()
[/autoit] [autoit][/autoit] [autoit]
_DrawPreviewBoard()$g_lblScore = GUICtrlCreateLabel("SCORE: 0", 350, 450, 165, 20)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetFont(-1, 10, 800)
GUICtrlSetColor(-1, 0x00FF00)
GUISetBkColor(0x000000)$g_btnStart = GUICtrlCreateButton("START)", 350, 400, 100, 35)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState(-1, $GUI_FOCUS)GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func _NewGame()
[/autoit] [autoit][/autoit] [autoit]
GUICtrlDelete($lbLost)
$lost = False
Local $i, $jAdlibUnRegister()
[/autoit] [autoit][/autoit] [autoit]
HotKeySet("{LSHIFT}","_HoldShape")
HotKeySet("{LEFT}", "_MoveShapeLeft")
HotKeySet("{RIGHT}", "_MoveShapeRight")
HotKeySet("{UP}", "_RotateShape")
HotKeySet("{DOWN}","_MoveShapeDown")
HotKeySet("{SPACE}", "_DropShape")
$g_bGameStarted = False
For $i = 0 To $BOARD_WIDTH-1
For $j = 0 To $BOARD_HEIGHT-1
$g_aBoard[$i][$j] = $EMPTY_COLOUR
GUICtrlSetBkColor($g_lblGameBoard[$i][$j], $GUI_BKCOLOR_TRANSPARENT)
Next
Next
_NewShape()
$g_bGameStarted = True
_DrawGameShape()
$g_nGameTick = 1500
AdlibRegister("_MoveShapeDown", $g_nGameTick)
EndFuncFunc _IsPressed($hexKey)
[/autoit] [autoit][/autoit] [autoit]
Local $hDll = DllOpen("user32.dll");
Local $aR, $bRv
$aR = DllCall($hDll, "int", "GetAsyncKeyState", "int", $hexKey)If $aR[0] <> 0 Then
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$bRv = 1
Else
$bRv = 0
EndIf
Return $bRv
EndFuncWhile 1
[/autoit] [autoit][/autoit] [autoit]
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $g_btnStart
GUICtrlSetState($g_btnStart, $GUI_DISABLE)
_NewGame()
EndSelect
WEnd
GUIDelete()Func _HoldShape()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
SoundPlay("hold.mp3")
EndFuncFunc _NewShape()
[/autoit] [autoit][/autoit] [autoit]
Local $nShape, $i, $jFor $i = 0 To 3
[/autoit] [autoit][/autoit] [autoit]
For $j = 0 To 3
$g_aGameShape[$i][$j] = $EMPTY_COLOUR
Next
Next$g_nShapeX = ($BOARD_WIDTH/2)-2
[/autoit] [autoit][/autoit] [autoit]
$g_nShapeY = 0
If Not $g_bGameStarted Then
$nShape = Random(1, 7, 1)
; Block Arten
; 1 2 3 4 5 6 7
; X
; X XX X XX XX XX XX
; X XX XXX XX XX X X
; X X X
Switch $nShape
Case 1
; Turm (hellblau)
$g_aGameShape[1][0] = $TOWER_COLOUR
$g_aGameShape[1][1] = $TOWER_COLOUR
$g_aGameShape[1][2] = $TOWER_COLOUR
$g_aGameShape[1][3] = $TOWER_COLOUR
$g_nShapeY = 0
Case 2
; Kasten (gelb)
$g_aGameShape[1][1] = $BOX_COLOUR
$g_aGameShape[1][2] = $BOX_COLOUR
$g_aGameShape[2][1] = $BOX_COLOUR
$g_aGameShape[2][2] = $BOX_COLOUR
case 3
; T (violett)
$g_aGameShape[1][1] = $PYRAMID_COLOUR
$g_aGameShape[0][2] = $PYRAMID_COLOUR
$g_aGameShape[1][2] = $PYRAMID_COLOUR
$g_aGameShape[2][2] = $PYRAMID_COLOUR
case 4
; versetzt (rot)
$g_aGameShape[0][1] = $LLEANER_COLOUR
$g_aGameShape[1][1] = $LLEANER_COLOUR
$g_aGameShape[1][2] = $LLEANER_COLOUR
$g_aGameShape[2][2] = $LLEANER_COLOUR
case 5
; versetzt (grün)
$g_aGameShape[2][1] = $RLEANER_COLOUR
$g_aGameShape[1][1] = $RLEANER_COLOUR
$g_aGameShape[1][2] = $RLEANER_COLOUR
$g_aGameShape[0][2] = $RLEANER_COLOUR
case 6
; L (orange)
$g_aGameShape[1][1] = $LKNIGHT_COLOUR
$g_aGameShape[2][1] = $LKNIGHT_COLOUR
$g_aGameShape[2][2] = $LKNIGHT_COLOUR
$g_aGameShape[2][3] = $LKNIGHT_COLOUR
case 7
; gespiegeltes L (dunkelblau)
$g_aGameShape[2][1] = $RKNIGHT_COLOUR
$g_aGameShape[1][1] = $RKNIGHT_COLOUR
$g_aGameShape[1][2] = $RKNIGHT_COLOUR
$g_aGameShape[1][3] = $RKNIGHT_COLOUR
EndSwitch
ElseFor $i = 0 To 3
[/autoit] [autoit][/autoit] [autoit]
For $j = 0 To 3
$g_aGameShape[$i][$j] = $g_aPreShape[$i][$j]
Next
Next
If $g_aGameShape[1][0] = $TOWER_COLOUR Then $g_nShapeY = 0
EndIf
For $i = 0 To 3
For $j = 0 To 3
$g_aPreShape[$i][$j] = $EMPTY_COLOUR
Next
Next; nächstes Teil anzeigen
[/autoit] [autoit][/autoit] [autoit]$nShape = Random(1, 7, 1)
[/autoit] [autoit][/autoit] [autoit]
Switch $nShape
Case 1$g_aPreShape[1][0] = $TOWER_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape[1][1] = $TOWER_COLOUR
$g_aPreShape[1][2] = $TOWER_COLOUR
$g_aPreShape[1][3] = $TOWER_COLOUR
Case 2$g_aPreShape[1][1] = $BOX_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape[1][2] = $BOX_COLOUR
$g_aPreShape[2][1] = $BOX_COLOUR
$g_aPreShape[2][2] = $BOX_COLOUR
case 3$g_aPreShape[1][1] = $PYRAMID_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape[0][2] = $PYRAMID_COLOUR
$g_aPreShape[1][2] = $PYRAMID_COLOUR
$g_aPreShape[2][2] = $PYRAMID_COLOUR
case 4$g_aPreShape[0][1] = $LLEANER_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape[1][1] = $LLEANER_COLOUR
$g_aPreShape[1][2] = $LLEANER_COLOUR
$g_aPreShape[2][2] = $LLEANER_COLOUR
case 5$g_aPreShape[2][1] = $RLEANER_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape[1][1] = $RLEANER_COLOUR
$g_aPreShape[1][2] = $RLEANER_COLOUR
$g_aPreShape[0][2] = $RLEANER_COLOUR
case 6$g_aPreShape[1][1] = $LKNIGHT_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape[2][1] = $LKNIGHT_COLOUR
$g_aPreShape[2][2] = $LKNIGHT_COLOUR
$g_aPreShape[2][3] = $LKNIGHT_COLOUR
case 7$g_aPreShape[2][1] = $RKNIGHT_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape[1][1] = $RKNIGHT_COLOUR
$g_aPreShape[1][2] = $RKNIGHT_COLOUR
$g_aPreShape[1][3] = $RKNIGHT_COLOUR
EndSwitchFor $i = 0 To 3
[/autoit] [autoit][/autoit] [autoit]
For $j = 0 To 3
If $g_aPreShape[$i][$j] = $EMPTY_COLOUR Then
GUICtrlSetBkColor($g_lblPreviewBoard[$i][$j], $GUI_BKCOLOR_TRANSPARENT)
ElseGUICtrlSetBkColor($g_lblPreviewBoard[$i][$j], $g_aPreShape[$i][$j])
[/autoit] [autoit][/autoit] [autoit]
EndIf
Next
Next; übernächstes Teil anzeigen
[/autoit] [autoit][/autoit] [autoit]
If $pieces >=2 Then
For $i = 0 To 3
For $j = 0 To 3
$g_aPreShape2[$i][$j] = $EMPTY_COLOUR
Next
Next
$nShape = Random(1, 7, 1)
Switch $nShape
Case 1$g_aPreShape2[1][0] = $TOWER_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape2[1][1] = $TOWER_COLOUR
$g_aPreShape2[1][2] = $TOWER_COLOUR
$g_aPreShape2[1][3] = $TOWER_COLOUR
Case 2$g_aPreShape2[1][1] = $BOX_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape2[1][2] = $BOX_COLOUR
$g_aPreShape2[2][1] = $BOX_COLOUR
$g_aPreShape2[2][2] = $BOX_COLOUR
case 3$g_aPreShape2[1][1] = $PYRAMID_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape2[0][2] = $PYRAMID_COLOUR
$g_aPreShape2[1][2] = $PYRAMID_COLOUR
$g_aPreShape2[2][2] = $PYRAMID_COLOUR
case 4$g_aPreShape2[0][1] = $LLEANER_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape2[1][1] = $LLEANER_COLOUR
$g_aPreShape2[1][2] = $LLEANER_COLOUR
$g_aPreShape2[2][2] = $LLEANER_COLOUR
case 5$g_aPreShape2[2][1] = $RLEANER_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape2[1][1] = $RLEANER_COLOUR
$g_aPreShape2[1][2] = $RLEANER_COLOUR
$g_aPreShape2[0][2] = $RLEANER_COLOUR
case 6$g_aPreShape2[1][1] = $LKNIGHT_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape2[2][1] = $LKNIGHT_COLOUR
$g_aPreShape2[2][2] = $LKNIGHT_COLOUR
$g_aPreShape2[2][3] = $LKNIGHT_COLOUR
case 7$g_aPreShape2[2][1] = $RKNIGHT_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape2[1][1] = $RKNIGHT_COLOUR
$g_aPreShape2[1][2] = $RKNIGHT_COLOUR
$g_aPreShape2[1][3] = $RKNIGHT_COLOUR
EndSwitch
EndIfFor $i = 0 To 3
[/autoit] [autoit][/autoit] [autoit]
For $j = 0 To 3
If $g_aPreShape2[$i][$j] = $EMPTY_COLOUR Then
GUICtrlSetBkColor($g_lblPreviewBoard2[$i][$j], $GUI_BKCOLOR_TRANSPARENT)
Else
GUICtrlSetBkColor($g_lblPreviewBoard2[$i][$j], $g_aPreShape2[$i][$j])
EndIf
Next
Next; über-übernächstes Teil anzeigen
[/autoit] [autoit][/autoit] [autoit]
If $pieces >=3 Then
For $i = 0 To 3
For $j = 0 To 3
$g_aPreShape3[$i][$j] = $EMPTY_COLOUR
Next
Next
$nShape = Random(1, 7, 1)
Switch $nShape
Case 1$g_aPreShape2[1][0] = $TOWER_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape2[1][1] = $TOWER_COLOUR
$g_aPreShape2[1][2] = $TOWER_COLOUR
$g_aPreShape2[1][3] = $TOWER_COLOUR
Case 2$g_aPreShape2[1][1] = $BOX_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape2[1][2] = $BOX_COLOUR
$g_aPreShape2[2][1] = $BOX_COLOUR
$g_aPreShape2[2][2] = $BOX_COLOUR
case 3$g_aPreShape2[1][1] = $PYRAMID_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape2[0][2] = $PYRAMID_COLOUR
$g_aPreShape2[1][2] = $PYRAMID_COLOUR
$g_aPreShape2[2][2] = $PYRAMID_COLOUR
case 4$g_aPreShape2[0][1] = $LLEANER_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape2[1][1] = $LLEANER_COLOUR
$g_aPreShape2[1][2] = $LLEANER_COLOUR
$g_aPreShape2[2][2] = $LLEANER_COLOUR
case 5$g_aPreShape2[2][1] = $RLEANER_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape2[1][1] = $RLEANER_COLOUR
$g_aPreShape2[1][2] = $RLEANER_COLOUR
$g_aPreShape2[0][2] = $RLEANER_COLOUR
case 6$g_aPreShape2[1][1] = $LKNIGHT_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape2[2][1] = $LKNIGHT_COLOUR
$g_aPreShape2[2][2] = $LKNIGHT_COLOUR
$g_aPreShape2[2][3] = $LKNIGHT_COLOUR
case 7$g_aPreShape2[2][1] = $RKNIGHT_COLOUR
[/autoit] [autoit][/autoit] [autoit]
$g_aPreShape2[1][1] = $RKNIGHT_COLOUR
$g_aPreShape2[1][2] = $RKNIGHT_COLOUR
$g_aPreShape2[1][3] = $RKNIGHT_COLOUR
EndSwitch
EndIfFor $i = 0 To 3
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
For $j = 0 To 3
If $g_aPreShape3[$i][$j] == $EMPTY_COLOUR Then
GUICtrlSetBkColor($g_lblPreviewBoard3[$i][$j], $GUI_BKCOLOR_TRANSPARENT)
Else
GUICtrlSetBkColor($g_lblPreviewBoard3[$i][$j], $g_aPreShape3[$i][$j])
EndIf
Next
NextEndFunc
[/autoit] [autoit][/autoit] [autoit]Func _MoveShapeLeft()
[/autoit] [autoit][/autoit] [autoit]
_MoveShape(-1, 0)
EndFuncFunc _MoveShapeRight()
[/autoit] [autoit][/autoit] [autoit]
_MoveShape(1, 0)
EndFuncFunc _MoveShapeDown()
[/autoit] [autoit][/autoit] [autoit]
_MoveShape(0, 1)
EndFuncFunc _DropShape()
[/autoit] [autoit][/autoit] [autoit]
AdlibUnRegister()
AdlibRegister("_MoveShapeDown", 1)
SoundPlay("drop.mp3")
EndFuncFunc _MoveShape($nMoveX, $nMoveY)
[/autoit] [autoit][/autoit] [autoit]
Local $nCollision, $i, $j
Local $bFilled, $x, $y
Local $sScoreText, $nScoreIf _CollisionTest($nMoveX, $nMoveY) Then
[/autoit] [autoit][/autoit] [autoit]
If $nMoveY = 1 Then
If $g_nShapeY < 1 Then
AdlibUnRegister()
If $lost == False Then
Global $lbLost = GUICtrlCreateLabel("Game over", 30, 180, 350, 78)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 45, 400, 0, "@Arial Unicode MS")
GUICtrlSetColor(-1, 0xFF0000)
$lost = true
EndIf
GUICtrlSetState($g_btnStart, $GUI_ENABLE)
HotKeySet("{LEFT}")
HotKeySet("{RIGHT}")
HotKeySet("{DOWN}")
HotKeySet("{SPACE}")
Return
ElseFor $i = 0 To 3
[/autoit] [autoit][/autoit] [autoit]
For $j = 0 To 3
If $g_aGameShape[$i][$j] <> $EMPTY_COLOUR Then
$g_aBoard[$g_nShapeX+$i][$g_nShapeY+$j] = $g_aGameShape[$i][$j]
EndIf
Next
NextFor $j = 0 To ($BOARD_HEIGHT-1)
[/autoit] [autoit][/autoit] [autoit]
$bFilled = True
For $i = 0 To ($BOARD_WIDTH-1)
If $g_aBoard[$i][$j] = $EMPTY_COLOUR Then
$bFilled = False
ExitLoop
EndIf
Next
If $bFilled Then
SoundPlay("clear.mp3")
$sScoreText = GUICtrlRead($g_lblScore)
$points = 100
$nScore = Number(StringRight($sScoreText, StringLen($sScoreText)-7))+$pointsIf Mod($nScore, 50) = 0 Then
[/autoit] [autoit][/autoit] [autoit]
$g_nGameTick -= 10
EndIf
GUICtrlSetData($g_lblScore, "SCORE: " & $nScore)
For $x = 0 To ($BOARD_WIDTH-1)
For $y = $j To 1 Step -1
$g_aBoard[$x][$y] = $g_aBoard[$x][$y-1]
Next
Next
_RedrawGameBoard()
EndIf
Next
AdlibUnRegister()
_NewShape()
_DrawGameShape()
AdlibRegister("_MoveShapeDown", $g_nGameTick)
EndIf
EndIf
Else
_DrawGameShape(True)
If $nMoveX <> 0 Then $g_nShapeX += $nMoveX
If $nMoveY <> 0 Then $g_nShapeY += $nMoveY
_DrawGameShape()
EndIf
EndFuncFunc _RotateShape()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Local $i, $j, $aTempShape[4][4]For $i = 0 To 3
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
For $j = 0 To 3
$aTempShape[3-$j][$i] = $g_aGameShape[$i][$j]
Next
NextFor $i = 0 To 3
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
For $j = 0 To 3
If $aTempShape[$i][$j] <> $EMPTY_COLOUR Then
If ($g_nShapeX+$i) < 0 Or ($g_nShapeX+$i) > ($BOARD_WIDTH- 1) Or _
($g_nShapeY+$j) < 0 Or ($g_nShapeY+$j) > ($BOARD_HEIGHT-1) Then
Return
EndIf
EndIf
Next
NextFor $x = 0 To ($BOARD_WIDTH-1)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
For $y = 0 To ($BOARD_HEIGHT-1)
If $x >= $g_nShapeX And $x < ($g_nShapeX+4) Then
If $y >= $g_nShapeY And $y < ($g_nShapeY+4) Then
If $g_aBoard[$x][$y] <> $EMPTY_COLOUR Then
If $aTempShape[$x-$g_nShapeX][$y-$g_nShapeY] <> $EMPTY_COLOUR Then
Return
EndIf
EndIf
EndIf
EndIf
Next
Next_DrawGameShape(True)
[/autoit] [autoit][/autoit] [autoit]For $i = 0 To 3
[/autoit] [autoit][/autoit] [autoit]
For $j = 0 To 3
$g_aGameShape[$i][$j] = $aTempShape[$i][$j]
Next
Next
_DrawGameShape()
EndFuncFunc _CollisionTest($nMoveX, $nMoveY)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Local $nNewX = $g_nShapeX+$nMoveX
Local $nNewY = $g_nShapeY+$nMoveY
Local $i, $j, $x, $yFor $i = 0 To 3
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
For $j = 0 To 3
If $g_aGameShape[$i][$j] <> $EMPTY_COLOUR Then
If ($nNewX+$i) < 0 Or ($nNewX+$i) > ($BOARD_WIDTH-1) Or _
($nNewY+$j) < 0 Or ($nNewY+$j) > ($BOARD_HEIGHT-1) Then
Return True
EndIf
EndIf
Next
NextFor $x = 0 To ($BOARD_WIDTH-1)
[/autoit] [autoit][/autoit] [autoit]
For $y = 0 To ($BOARD_HEIGHT-1)
If $x >= $nNewX And $x < ($nNewX+4) Then
If $y >= $nNewY And $y < ($nNewY+4) Then
If $g_aBoard[$x][$y] <> $EMPTY_COLOUR Then
If $g_aGameShape[$x-$nNewX][$y-$nNewY] <> $EMPTY_COLOUR Then
Return True
EndIf
EndIf
EndIf
EndIf
Next
Next
Return False
EndFuncFunc _DrawGameShape($bRemove = False)
[/autoit] [autoit][/autoit] [autoit]
Local $i, $jFor $i = 0 To 3
[/autoit] [autoit][/autoit] [autoit]
For $j = 0 To 3
If $g_aGameShape[$i][$j] <> $EMPTY_COLOUR Then
If $bRemove Then
GUICtrlSetBkColor($g_lblGameBoard[$g_nShapeX+$i][$g_nShapeY+$j], $GUI_BKCOLOR_TRANSPARENT)
Else
GUICtrlSetBkColor($g_lblGameBoard[$g_nShapeX+$i][$g_nShapeY+$j], $g_aGameShape[$i][$j])
EndIf
EndIf
Next
Next
EndFuncFunc _DrawGameBoard()
[/autoit] [autoit][/autoit] [autoit]
Local $i, $j
Local $x, $y$x = 20
[/autoit] [autoit][/autoit] [autoit]
$y = 20
For $i = 0 To $BOARD_WIDTH-1
For $j = 0 To $BOARD_HEIGHT-1
GUICtrlCreateLabel("", $x, $y, 25, 25, $SS_BLACKFRAME)
$g_lblGameBoard[$i][$j] = GUICtrlCreateLabel("", $x+1, $y+1, 23, 23)
GUICtrlSetColor(-1, 0x00FF00)GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
[/autoit] [autoit][/autoit] [autoit]
$y = $y+26
Next
$x = $x+26
$y = 20
Next
EndFuncFunc _DrawPreviewBoard()
[/autoit] [autoit][/autoit] [autoit]
Local $i, $j
Local $x, $y$x = 340
[/autoit] [autoit][/autoit] [autoit]
$y = 40
GUICtrlCreateLabel("Next Shape:", $x, 20, 104, 18)
For $i = 0 To 3
For $j = 0 To 3
GUICtrlCreateLabel("", $x, $y, 25, 25)
GUICtrlSetColor(-1, 0x00FF00)
$g_lblPreviewBoard[$i][$j] = GUICtrlCreateLabel("", $x+1, $y+1, 23, 23)
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$g_lblPreviewBoard2[$i][$j] = GUICtrlCreateLabel("", $x+1, $y+120, 23, 23)
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$g_lblPreviewBoard3[$i][$j] = GUICtrlCreateLabel("", $x+1, $y+240, 23, 23)
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$y = $y+26
Next
$x = $x+26
$y = 40
Next
EndFuncFunc _RedrawGameBoard()
[/autoit] [autoit][/autoit] [autoit]
Local $i, $jFor $i = 0 To $BOARD_WIDTH-1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
For $j = 0 To $BOARD_HEIGHT-1
If $g_aBoard[$i][$j] = $EMPTY_COLOUR Then
GUICtrlSetBkColor($g_lblGameBoard[$i][$j], $GUI_BKCOLOR_TRANSPARENT)
Else
GUICtrlSetBkColor($g_lblGameBoard[$i][$j], $g_aBoard[$i][$j])
EndIf
Next
Next
EndFuncJetzt möchte ich die nächsten 3 Teile anzeigen lassen und das mit dem Shift einfügen, aber ich tue mich etwas schwer, das Problem anzugehen.
Eigentlich war das Script ja nur für das nächste Teil gedacht, deshalb habe ich leider garkeine Ahnung, wie ich das jetzt für die nächsten beiden machen soll...
Meine Ansätze habe ich schonmal, so weit es ging eingebaut.Anforderungsdefinition:
In ein, soweit funktionierendes Tetris-Spiel sollen folgende Features implementiert werden:
- die nächsten 3 Teile werden rechts vom Spielfeld angezeigt
- per Hotkey (Shift) kann man ein Teil einlagern (für später aufheben) und wieder abrufen
Hier ein Bild, mit 2 Teilen rechts, allerdings wird in Wirklichkeit nur das nächste korrekt angezeigt, das übernächste wurde zufällig generiert:
[Blockierte Grafik: http://puu.sh/73GPw.png]
Das zweite soll eingebunden werden und ein drittes hinzugefügt.Ich würde mich über Antworten freuen
LG
Captain09 -
Hallo,
ich möchte mit Autoit automatisch das angeschlossene Mikrofon erkennen und aufnehmen können,
das ganze soll dann als mp3 abgespeichert werden.
LG
Captain09 -
Hallo,
Ich möchte mittels eines Autoit Scriptes den in ein Mikrofon gesprochenen Ton aufnehmen.
Gibt es dafür eine UDF oder so?
LG
Captain09 -
und wenn ich ein Programm als freeware, aber closed source veröffentlichen will?
-
das heißt auch diesem programm kann man vertrauen? :
https://www.virustotal.com/de/file/45dd45…sis/1390256674/ -
-
Hallo,
[autoit]
ich habe in einigen meiner Scripts diese includes:
[/autoit]
#include <ScreenCapture.au3>
#include <Array.au3>
#include <WinAPI.au3>
#include <FTP.au3>
#include <FTPEx.au3>
#include <Gdiplus.au3>
#include <String.au3>allein diese includes in einem einzelnen script oder in jeglicher verbindung mit anderem code werden als trojaner o. ä. erkannt, sogar trotz obfuscator:
https://www.virustotal.com/de/file/c9afe8…sis/1390253887/kann mir das jemand erklären und oder wie ich dieses problem löse?
Niemand will ein Programm, dass als Trojaner erkannt wird
LG
Captain09 -
muss ich in beide funktionen den output einfügen?
-
keiner der beiträge mit der nummer 7 ergibt für mich in diesem kontext sinn, sag doch einfach was du meinst
-
von welchem thema beitrag #7?
-
habs hinbekommen^^
keine Ahnung woran es lag, aber erneutes Umwandeln hat das Problem gelöst,
nächstes Problem:
ohne die bass.dll im selben ordner wie die exe läuft es nicht
kann man dll ihrgendwie mitcompilen? -
Problem weitestgehend gelöst,
aber es ruckelt unglaublich beim Abspielen,
heißt das, es ist noch nicht im Hauptspeicher oder liegt es an Autoit etc?
wie kann ich das ändern? -
ich habe gelesen, dass das Einbinden in eine exe ohne ihrgendwelche Dateien zu entpacken etc diese ist,
wenn jemand allerdings eine andere Möglichkeit findet, bei der die Musikdatei sofort im Hauptspeicher beim Ausführen landet, nehme ich sie
gerne entgegen
war nur eine anregung^^ -
Hallo,
Ich möchte gerne, dass mithilfe dieses Scriptes:
https://www.autoit.de/index.php?page=Thread&postID=237745
diese Musikdatei:
http://killer0709.pf-control.de/song.mp3
in ein Script eingebunden wird und ich das ganze zb. mit einem Button abspielen kann.LG
Captain09 -
Hallo,
ich möchte ein Programm, dass meine Internetgeschwindigkeit testet.
Hier habe ich eine Datei, die exakt 10MB groß ist:
http://killer0709.pf-control.de/speed/test.txt
ich bin leider nicht in der Lage, das selbst umzusetzen, aber ich hoffe, dass die Datei hilft.
LG
Captain09 -
Hallo,
Wie kann man 3 Strings miteinander vergleichen und gemeinsame Inhalte ausgeben lassen?
LG
Captain09