Knoblix - Das Knobelspiel - Beta 1.0.1

  • Hi Community,

    zur Zeit habe ich ein größeres Projekt am laufen und zwar das Spiel - "Knoblix".

    Mitarbeiter: .. tim ..

    Sourcecode: Freigegeben (liegt der Betaversion bei)

    Entwicklungsstatus: - Beta Version 1.0.1 Veröffentlicht

    • Game: ɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪ 88%
    • Editor: ɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪɪ 100%


    Zum Spiel:
    Der Spieler hat seine Spielfigur, mit der er ein kleines oder mal größeres "Labyrinth" durchqueren muss. Jedoch nicht einfach nur vom Einen Ende zum Anderen, sondern dabei müssen gewisse Dinge erledigt werden ( wie z.B. das Einsammeln von Münzen, Schlüsseln usw). Durch Einsammeln von Schlüsseln lässt sich so z.B. erst der nächste Teil eines Labyrinths "aufsperren" und es kann weiter gespielt werden. Ein Hauptziel in jedem Labyrinth ist es, alle Münzen zubekommen. Diese liegen jedoch nicht einfach so irgendwo verteilt, sondern es muss erst durch das geschickte Verschieben von "Truhen/Boxen" ein Weg freigemacht werden.

    Zu den Gegenständen:

    Funktionen:

    Spoiler anzeigen

    --------------------------------------
    Grün: Fertiggestellt
    Orange: In Bearbeitung
    Rot: Noch nicht Fertiggestellt
    --------------------------------------

    > Grundlegende Steuerfunktionen:

    • Laufen
    • Münzen einsammeln
    • Boxen verschieben
    • Eis - "Rutschen"
    • Schlösser
    • Schlüssel
    • Loch/Falle
    • Sanduhr
    • Bäume

    > Spielmodi:

    • (Leicht)
    • Normal
    • Schwer
    • Extrem


    > Einstellungen:

    • Musiksteuerung [An/Aus][Tracks 1-3 auswählen]
    • Spielernamen eintragen

    > Karten / Level:

    • Erstellen
    • Erstellen nach erfolgreichem Beenden einer Karte
    • Neustart einer Karte

    > Passwörter:

    • Eingeben um auf eine bestimmte Karte zu gelangen
    • Generieren für jede Karte

    > Bestenliste:

    • Erstellen
    • Anzeigen
    • Den Spieler Punkte eintragen lassen
    • Spieler in Online-Bestenliste eintragen

    > Sonstiges:

    • Hacksicherung
    • Design überarbeiten

    Die verschiedenen Spielmodi:
    - (nur Angedacht: Leicht: - Möglichkeit, Kisten zu entfernen)
    - Normal: keine Einschränkungen, unendlich viele Schritte
    - Schwer: Begrenzte Anzahl an "Schritten"
    - Extrem: Es wird gegen Zeit gespielt + begrenzte Anzhal an Schritten

    Spiel-Ansicht: Stand 28-April

    > Unten im braunen Spielfeldrand fehlt noch einiges (= z.Z. in Arbeit)
    > (Game-Design ist vorerst nebensächlich - Zuerst werden alle Funktionen erstellt und dann kommt das Design)
    [Blockierte Grafik: http://img-up.net/img/Knoblix_1Rqr4wM.JPG]

    Mapeditor-Ansicht: Stand 5-Mai

    Im Mapeditor können Karten erstellt werden, die später im Spiel gespielt werden können. Am rechten Rand befindet sich ein Fenster, indem alle "Models" - Gegenstände, Hindernisse usw. - aufgelistet sind. Durch Anklicken wird das entsprechende Model ausgewählt und kann nun im Spielfeld platziert werden.

    [Blockierte Grafik: http://img-up.net/img/knoblix_maEKsTLj6N.JPG]

    > Linke Maustaste - Erstellen eines Model im Spielfeld im geklickten Feld
    > Linke Maustaste (länger gedrückt) - Durch gedrückt lassen der Taste kann schnell eine Linie aus den Models gezogen werden
    > Rechte Maustaste - Löschen des zuletzt, erstellten Models
    > Rechte Maustaste (länger gedrückt) - Durch gedrückt lassen der Taste werden zuletzt, erstellte Models nach der Reihenfolge derer Erstellung gelöscht

    Funktionen:

    Spoiler anzeigen

    --------------------------------------
    Grün: Fertiggestellt
    Orange: In Bearbeitung
    Rot: Noch nicht Fertiggestellt
    --------------------------------------

    > Grundlegende Funktionen:

    • Bilder erstellen
    • Bilder löschen
    • Models auswählen
    • Code generieren

    Mapeditoren Codes:

    Spoiler anzeigen


    Achtung! Die Bilder werden auch benötigt!

    Version 1.1 - Verbesserte Version 1.0 von bernd670:

    [autoit]

    ;****************************************************
    ;
    ; Script: Mapeditor zum Spiel Knoblix
    ; Version: 1.0
    ; Author: Jautois
    ; Improved by: bernd670 - Thanks!
    ;
    ;****************************************************

    [/autoit] [autoit][/autoit] [autoit]

    #include <GUIListBox.au3>
    #include <GuiConstantsEx.au3>
    #include <Misc.au3>
    #include <Timers.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $dll = DllOpen("user32.dll")

    [/autoit] [autoit][/autoit] [autoit]

    HotKeySet("{F5}", "GenerateLevelCode")

    [/autoit] [autoit][/autoit] [autoit]

    Dim $listnames[15] = ["Baum - [Begrenzung]", _
    "Münze - [Gegenstand]", _
    "Münze/Eis - [Gegenstand]", _
    "Box - [Hindernis]", _
    "Eis - [Umbegbung]", _
    "Falle - [Hindernis]", _
    "Schloss Rot - [Hindernis]", _
    "Schloss Blau - [Hindernis]", _
    "Schloss Grün - [Hindernis]", _
    "Schlüssel Rot - [Gegenstand]", _
    "Schlüssel Blau - [Gegenstand]", _
    "Schlüssel Grün - [Gegenstand]", _
    "Spieler/Startposition - [System]", _
    "Sanduhr/Gewinnzone - [System]", _
    "Leer - [System]"]

    [/autoit] [autoit][/autoit] [autoit]

    Dim $listpaths[15] = ["baum.gif", _
    "münze.gif", _
    "münze_eis.gif", _
    "box.gif", _
    "eis.gif", _
    "loch.gif", _
    "schloss2.gif", _
    "schloss3.gif", _
    "schloss1.gif", _
    "schlüssel2.gif", _
    "schlüssel3.gif", _
    "schlüssel1.gif", _
    "figur.gif", _
    "sanduhr.gif", _
    "raster.bmp"]

    [/autoit] [autoit][/autoit] [autoit]

    Dim $listcodes[15] = [0, 7, 8, 6, 4, 5, "d", "e", "f", "a", "b", "c", 1, 3, 2]

    [/autoit] [autoit][/autoit] [autoit]

    Dim $wand_pic[102], $cur_pic[330], $idlist[330], $cur_pic_counter = 1, $wand_counter = 0, $codesave[18][24], $pfad = "images\baum.gif", $selecteditem = 0, $pos_x = 0, $pos_y = 0, $win_title = "Knoblix - Mapeditor"
    Global $mapname

    [/autoit] [autoit][/autoit] [autoit]

    $game_window = GUICreate($win_title, 960, 740)
    GUISetBkColor(0x8da62b)
    $menu = GUICtrlCreateMenu("Karte")
    $menu_mapname = GUICtrlCreateMenuItem("Name", $menu)
    $menu_codegen = GUICtrlCreateMenuItem("Code Generieren", $menu)
    $menu_credits = GUICtrlCreateMenu("Credits")
    $menu_credits_coderver = GUICtrlCreateMenuItem("Coder / Version", $menu_credits)
    $menu_help = GUICtrlCreateMenu("Hilfe")
    $menu_help_general = GUICtrlCreateMenuItem("Allgemein", $menu_help)

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 0 To 17
    For $k = 0 To 23
    If $i > 0 And $i < 16 And $k < 23 And $k > 0 Then
    $cur_pic[($i - 1) * 22 + ($k - 1)] = GUICtrlCreatePic("images\raster.bmp", $pos_x, $pos_y, 40, 40)
    $codesave[$i][$k] = 2
    Else
    $wand_pic[$wand_counter] = GUICtrlCreatePic("images\wand.gif", $pos_x, $pos_y, 40, 40)
    $wand_counter += 1
    $codesave[$i][$k] = 9
    EndIf
    $pos_x += 40
    Next
    $pos_y += 40
    $pos_x = 0
    Next

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW, $game_window)

    [/autoit] [autoit][/autoit] [autoit]

    $winpos = WinGetPos($win_title)
    $editor_window = GUICreate("Models", 251, 230, $winpos[0] + $winpos[2] + 10, $winpos[1])
    $itemlist = GUICtrlCreateList("", 8, 8, 235, 215)
    GUISetState(@SW_SHOW, $editor_window)

    [/autoit] [autoit][/autoit] [autoit]

    _GUICtrlListBox_BeginUpdate($itemlist)
    For $i = 0 To UBound($listnames) - 1
    _GUICtrlListBox_AddString($itemlist, StringFormat("s : " & $listnames[$i], $i + 1))
    Next
    _GUICtrlListBox_EndUpdate($itemlist)

    [/autoit] [autoit][/autoit] [autoit]

    GUISwitch($game_window)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    If _IsPressed("02", $dll) And WinActive($win_title) Then
    $cur_mousepos = GUIGetCursorInfo($game_window)
    Working($cur_mousepos[0], $cur_mousepos[1], 15)
    EndIf
    If _IsPressed("01", $dll) And WinActive($win_title) Then
    $cur_mousepos = GUIGetCursorInfo($game_window)
    Working($cur_mousepos[0], $cur_mousepos[1], $selecteditem)
    EndIf
    $nMsg = GUIGetMsg(1)
    Select
    Case $nMsg[0] = $GUI_EVENT_CLOSE
    If $nMsg[1] = $game_window Or $nMsg[1] = $editor_window Then
    If MsgBox(36, "", "Beenden?") = 6 Then Exit
    EndIf
    Case $nMsg[0] = $itemlist
    $selecteditem = _GUICtrlListBox_GetCurSel($itemlist)
    $getlisttext = _GUICtrlListBox_GetText($itemlist, $selecteditem)
    $pfad = "images\" & $listpaths[$selecteditem]
    Case $nMsg[0] = $menu_codegen
    GenerateLevelCode()
    Case $nMsg[0] = $menu_mapname
    MapName()
    Case $nMsg[0] = $menu_credits_coderver
    MsgBox(64, "Coder - Info", "Copyright by Jautois" & @CRLF & "Verbesserungen: bernd670" & @CRLF & @CRLF & "Version: 1.1")
    Case $nMsg[0] = $menu_help_general
    MsgBox(64, "Hilfe", "Model platzieren:" & @CRLF & "- Model auswählen und mit der linken Maustaste im Editorfeld platzieren (Mehrere: gedrückt halten + auf ein Feld bewegen)" & @CRLF & @CRLF & "Model löschen:" & @CRLF & " - Rechte Maustaste auf das Feld")
    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func Working($func_x = 0, $func_y = 0, $func_select = "")
    If $func_x > 39 And $func_x < 920 And $func_y > 39 And $func_y < 640 Then
    $pos_x = Int(Floor($func_x / 40))
    $pos_y = Int(Floor($func_y / 40))
    GUISwitch($game_window)
    If $func_select = 15 Then
    GUICtrlSetImage($cur_pic[($pos_y - 1) * 22 + ($pos_x - 1)], "images\raster.bmp")
    $codesave[$pos_y][$pos_x] = $listcodes[14]
    Else
    GUICtrlSetImage($cur_pic[($pos_y - 1) * 22 + ($pos_x - 1)], $pfad)
    $codesave[$pos_y][$pos_x] = $listcodes[$func_select]
    EndIf
    EndIf
    EndFunc ;==>Working

    [/autoit] [autoit][/autoit] [autoit]

    Func GenerateLevelCode()
    $filepath = FileSaveDialog("Karte speichern unter ...", @ScriptDir, "Knoblix-Karten (*.kmp)", 2, "Karte-")
    If @error Then Return

    [/autoit] [autoit][/autoit] [autoit]

    If $mapname = "" Then
    Do
    MapName()
    Until $mapname <> ""
    EndIf
    If StringRight($filepath, 4) <> ".kmp" Then $filepath &= ".kmp"
    $file = FileOpen($filepath, 2)
    FileWrite($filepath, "Kartenname: " & $mapname & @CRLF)
    For $i = 1 To 18
    For $k = 0 To 23
    If $k = 23 Then
    FileWrite($filepath, $codesave[$i - 1][$k] & @CRLF)
    Else
    FileWrite($filepath, $codesave[$i - 1][$k])
    EndIf
    Next
    Next
    FileClose($file)
    EndFunc ;==>GenerateLevelCode

    [/autoit] [autoit][/autoit] [autoit]

    Func MapName()
    $inputstr = InputBox("Kartenname", "Geben Sie einen Kartennamen ein:")
    If @error = 0 And $inputstr <> "" Then
    $mapname = $inputstr
    Else
    MsgBox(64, "Error", "Keine gültige Eingabe!", 2)
    EndIf
    EndFunc ;==>MapName

    [/autoit]

    Version 1.0:

    [autoit]

    ;****************************************************
    ;
    ; Script: Mapeditor zum Spiel Knoblix
    ; Version: 1.0
    ; Author: Jautois
    ;
    ;****************************************************

    [/autoit] [autoit][/autoit] [autoit]

    #include <GUIListBox.au3>
    #include <GuiConstantsEx.au3>
    #include <Misc.au3>
    #include <Timers.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $dll = DllOpen("user32.dll")

    [/autoit] [autoit][/autoit] [autoit]

    HotKeySet("{F5}", "GenerateLevelCode")

    [/autoit] [autoit][/autoit] [autoit]

    Dim $listnames[15] = ["Baum - [Begrenzung]", _
    "Münze - [Gegenstand]", _
    "Münze/Eis - [Gegenstand]", _
    "Box - [Hindernis]", _
    "Eis - [Umbegbung]", _
    "Falle - [Hindernis]", _
    "Schloss Rot - [Hindernis]", _
    "Schloss Blau - [Hindernis]", _
    "Schloss Grün - [Hindernis]", _
    "Schlüssel Rot - [Gegenstand]", _
    "Schlüssel Blau - [Gegenstand]", _
    "Schlüssel Grün - [Gegenstand]", _
    "Spieler/Startposition - [System]", _
    "Sanduhr/Gewinnzone - [System]", _
    "Leer - [System]"]

    [/autoit] [autoit][/autoit] [autoit]

    Dim $listpaths[15] = ["baum.gif", _
    "münze.gif", _
    "münze_eis.gif", _
    "box.gif", _
    "eis.gif", _
    "loch.gif", _
    "schloss2.gif", _
    "schloss3.gif", _
    "schloss1.gif", _
    "schlüssel2.gif", _
    "schlüssel3.gif", _
    "schlüssel1.gif", _
    "figur.gif", _
    "sanduhr.gif", _
    "leer.bmp"]

    [/autoit] [autoit][/autoit] [autoit]

    Dim $listcodes[15] = [0, 7, 8, 6, 4, 5, "d", "e", "f", "a", "b", "c", 1, 3, 2]

    [/autoit] [autoit][/autoit] [autoit]

    Dim $wand_pic[1], $cur_pic[330], $idlist[330], $cur_pic_counter = 1, $working = 1, $wand_counter = 0, $emptyarea_counter = 0, $emptyarea_pic[1], $codesave[18][24], $pfad = "images\baum.gif", $selecteditem = 0, $pos_x = 0, $pos_y = 0, $win_title = "Knoblix - Mapeditor"
    Global $mapname

    [/autoit] [autoit][/autoit] [autoit]

    $game_window = GUICreate($win_title, 960, 740)
    GUISetBkColor(0x8da62b)
    $menu = GUICtrlCreateMenu("Karte")
    $menu_mapname = GUICtrlCreateMenuItem("Name", $menu)
    $menu_codegen = GUICtrlCreateMenuItem("Code Generieren", $menu)
    $menu_credits = GUICtrlCreateMenu("Credits")
    $menu_credits_coderver = GUICtrlCreateMenuItem("Coder / Version", $menu_credits)
    $menu_help = GUICtrlCreateMenu("Hilfe")
    $menu_help_general = GUICtrlCreateMenuItem("Allgemein",$menu_help)

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 0 To 17
    For $k = 0 To 23
    If $i > 0 And $i < 16 And $k < 23 And $k > 0 Then
    $emptyarea_pic[$emptyarea_counter] = GUICtrlCreateGraphic($pos_x, $pos_y, $pos_x, $pos_y)
    GUICtrlSetColor(-1, 0)
    $emptyarea_counter += 1
    ReDim $emptyarea_pic[$emptyarea_counter + 1]
    $codesave[$i][$k] = 2
    Else
    $wand_pic[$wand_counter] = GUICtrlCreatePic("images\wand.gif", $pos_x, $pos_y, 40, 40)
    $wand_counter += 1
    ReDim $wand_pic[$wand_counter + 1]
    $codesave[$i][$k] = 9
    EndIf
    $pos_x += 40
    Next
    $pos_y += 40
    $pos_x = 0
    Next

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW, $game_window)

    [/autoit] [autoit][/autoit] [autoit]

    $winpos = WinGetPos($win_title)
    $editor_window = GUICreate("Models", 251, 230, $winpos[0] + $winpos[2] + 10, $winpos[1])
    $itemlist = GUICtrlCreateList("", 8, 8, 235, 215)
    GUISetState(@SW_SHOW, $editor_window)

    [/autoit] [autoit][/autoit] [autoit]

    _GUICtrlListBox_BeginUpdate($itemlist)
    For $i = 0 To UBound($listnames) - 1
    _GUICtrlListBox_AddString($itemlist, StringFormat("s : " & $listnames[$i], $i + 1))
    Next
    _GUICtrlListBox_EndUpdate($itemlist)

    [/autoit] [autoit][/autoit] [autoit]

    GUISwitch($game_window)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    If _IsPressed("02", $dll) And WinActive($win_title) And $working = 1 Then
    Delete($cur_pic_counter)
    EndIf
    If _IsPressed("01", $dll) And WinActive($win_title) And $working = 1 Then
    $cur_mousepos = GUIGetCursorInfo($game_window)
    Working($working, $cur_mousepos[0], $cur_mousepos[1], $selecteditem)
    EndIf
    $nMsg = GUIGetMsg(1)
    Select
    Case $nMsg[0] = $GUI_EVENT_CLOSE
    If $nMsg[1] = $game_window Or $nMsg[1] = $editor_window Then
    If MsgBox(36, "", "Beenden?") = 6 Then Exit
    EndIf
    Case $nMsg[0] = $itemlist
    $selecteditem = _GUICtrlListBox_GetCurSel($itemlist)
    $getlisttext = _GUICtrlListBox_GetText($itemlist, $selecteditem)
    $pfad = "images\" & $listpaths[$selecteditem]
    $working = 1
    Case $nMsg[0] = $menu_codegen
    GenerateLevelCode()
    Case $nMsg[0] = $menu_mapname
    MapName()
    Case $nMsg[0] = $menu_credits_coderver
    MsgBox(64, "Coder - Info", "Copyright by Jautois" & @CRLF & "Version: 1.0")
    Case $nMsg[0] = $menu_help_general
    MsgBox(64, "Help", "Model platzieren:" & @CRLF & "- Model auswählen und mit der linken Maustaste im Editorfeld platzieren (Mehrere: gedrückt halten + auf ein Feld bewegen)" & @CRLF & @CRLF & "Model löschen:" & @CRLF & " - Rechte Maustaste um Models einzeln zu löschen (Mehrere: gedrückt halten)")
    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func Working($func_status = 0, $func_x = 0, $func_y = 0, $func_select = "")
    If $func_status = 1 Then
    If $func_x > 39 And $func_x < 921 And $func_y > 39 And $func_y < 641 Then
    $func_temp_x = $func_x
    Do
    $func_temp_x -= 1
    $temp_x = Mod(Round(Floor(($func_temp_x / 40) * 40), 0), 40)
    Until $temp_x = 0
    $func_temp_y = $func_y
    Do
    $func_temp_y -= 1
    $temp_y = Mod(Round(Floor(($func_temp_y / 40) * 40), 0), 40)
    Until $temp_y = 0
    GUISwitch($game_window)
    $cur_pic[$cur_pic_counter] = GUICtrlCreatePic($pfad, $func_temp_x, $func_temp_y, 40, 40)
    $idlist[$cur_pic_counter] = ($func_temp_x / 40) & "|" & ($func_temp_y / 40)
    $codesave[$func_temp_y / 40][$func_temp_x / 40] = $listcodes[$func_select]
    $working = 0
    $cur_pic_counter += 1
    EndIf
    EndIf
    Debug()
    EndFunc ;==>Working

    [/autoit] [autoit][/autoit] [autoit]

    Func Debug()
    $working = 0
    Local $starttime = _Timer_Init()
    Do
    Until (_Timer_Diff($starttime) / 1000) > 0.4
    $working = 1
    EndFunc ;==>Debug

    [/autoit] [autoit][/autoit] [autoit]

    Func GenerateLevelCode()
    $path = FileSaveDialog("Karte speichern unter ...", @ScriptDir, "Knoblix-Karten (*.kmp)", 2, "Karte-")
    If @error = 1 Then
    Else
    If $mapname = "" Then
    Do
    MapName()
    Until $mapname <> ""
    EndIf
    $filepath = $path & ".kmp"
    $file = FileOpen($filepath, 2)
    FileWrite($filepath, "Kartenname: " & $mapname & @CRLF)
    For $i = 1 To 18
    For $k = 0 To 23
    If $k = 23 Then
    FileWrite($filepath, $codesave[$i - 1][$k] & @CRLF)
    Else
    FileWrite($filepath, $codesave[$i - 1][$k])
    EndIf
    Next
    Next
    FileClose($file)
    EndIf
    EndFunc ;==>GenerateLevelCode

    [/autoit] [autoit][/autoit] [autoit]

    Func MapName()
    $inputstr = InputBox("Kartenname", "Geben Sie einen Kartennamen ein:")
    If @error = 0 And $inputstr <> "" Then
    $mapname = $inputstr
    Else
    MsgBox(64, "Error", "Keine gültige Eingabe!", 2)
    EndIf
    EndFunc ;==>MapName

    [/autoit] [autoit][/autoit] [autoit]

    Func Delete($func_count)
    GUICtrlDelete($cur_pic[$func_count - 1])
    $splitid = StringSplit($idlist[$func_count - 1], "|")
    If Not @error Then
    $codesave[$splitid[2]][$splitid[1]] = 2
    $cur_pic[$func_count - 1] = ""
    Else
    If $func_count <> 1 Then
    MsgBox(64, "Error", "Fehler beim Rücksetzten der Variablen" & @CRLF & @CRLF & "Fehlernummer: 0x" & @error & @ScriptLineNumber & @CRLF & @CRLF & "Der Levelcode ist nun ungültig!")
    EndIf
    EndIf
    If $cur_pic_counter > 1 Then $cur_pic_counter -= 1
    Debug()
    EndFunc ;==>Delete

    [/autoit]

    Bugliste zur Beta 1.0.1:

    Spoiler anzeigen


    - Löcher/Münzen werden teilweise beim Neustart eines Levels nicht richtig gesetzt - Level 4 (Danke an Canon10)


    Wenn ihr noch Ideen habt könnt ihr diese natürlich gerne schreiben.
    Lg Jautois :P

    43 Mal editiert, zuletzt von Jautois (28. Mai 2009 um 16:29)

  • Wow, höhrt sich richtig cool an!

    Bin gespannt, wie es wird wenns fertig ist.

    Leider kann ich dir da nicht viel helfen, da ich noch nich gaaanz so viel erfahrung hab...

    Aber dafür gibtes ja genug leute, die dir bestimmt super helfen können ^^

    Viel Glück auf jeden Fall noch.


    MfG

  • @ Commander21: Schonmal schön das es dir gefällt :thumbup:

    @ L3viathan2142: Ich habe "gut auskennen" geschrieben, um die noch etwas, ich sag mal: "unerfahreneren" (nichts gehen euch) direkt ausschließen zu können. Sonst ist man mehr am Erklären der Funktionen als am Coden :D

    Es wäre aber gut, wenn der jenige etwas GDI+ kann.

  • mmh echt gute idee und der screenshot gefällt mir sehr gut :) Kann es sein dass du dich an Bombic orientiert hast ? :P nur mal so ne frage xDD
    vielleicht werde ich dir helfen habe aber gerade noch ein anderes projekt laufen.

    mfg nof@ker

  • Danke für das Lob! ;)

    Die Idee hatte ich schon länger von einem Onlinespiel (Name ist mir leider entfallen). Bombic kannte ich bis gerade eben noch nicht :P

    Lg Jautois

    • Offizieller Beitrag

    Ursprünglich hieß das Spiel mal Sokoban und das gab es schon auf den Home-Computern der 1980er Jahre.
    Mittlerweile gibt es davon Tausende Variationen (2D und 3D) für jedes erdenkliche Betriebssystem.

    Ich will Dich aber nicht davon abhalten, das Spiel in AutoIt umzusetzen. Sieht ja bis jetzt ganz gut aus. Bin schon gespannt auf das Ergebnis... :)

  • Update: 18 neue Funktionen fertig!

    Das Spiel ist schon auf einen beachtlichen Code angewachsen und bald könnte es die erste Beta geben :thumbup:

    lg Jautois

  • wow das sieht echt klasse aus, ich freu mich schon darauf, es einmal ausprobieren zu dürfen. :)

  • Erinnert mich irgendwie an ein Spiel mit einer BSE verseuchten Kuh, die nach einer geschafften Stufe mit den Eutern durch die Gegend wackelt.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Frage:
    Wo ist denn immer das Ziel/Endpunkt?

    Ist es so, das wenn man z. B. alle Taler eingesammelt hat, das man dann automatisch fertig ist, somit kein festes Ziel bzw. kein fester Endpunkt wo man hin muß?

    Wäre doch sicherlich später bei höheren Levels ganz lustig, man hat alle Taler usw. und dann "Bitte jetzt noch zum Endpunkt". ;)

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Frage:
    Wo ist denn immer das Ziel/Endpunkt?

    Ist es so, das wenn man z. B. alle Taler eingesammelt hat, das man dann automatisch fertig ist, somit kein festes Ziel bzw. kein fester Endpunkt wo man hin muß?

    Wäre doch sicherlich später bei höheren Levels ganz lustig, man hat alle Taler usw. und dann "Bitte jetzt noch zum Endpunkt". ;)

    ich dachte, dass die Sanduhr der Endpunkt ist.

    Zitat

    Sanduhr: Sind alle Münzen eingesammlt, kann hier das nächste Level gestartet werden

  • Ja, wie srules schon "richtig zitiert", es müssen immer alle Münzen eingesammelt werden und dann muss man zur Sanduhr laufen, um die nächste Karte / Level zu starten ;)

    Mal so nebenbei: Wir "hängen" gerade an dem Probelm, den Spieler richtig übers Eis rutschen zu lassen. z.Z. siehts noch nicht so toll aus.

  • Idee:
    Du kannst es doch machen: wenn man ein Level geschafft hat, wird eine Haupt-Map angezeigt wie viele ebene du noch zu erreichen hast :thumbup:
    auf die du aber nicht sofohrt zugreifen kannst weil 1. Du das vorige Level noch nicht geschaft hast, und 2. Es mit einem key beschmückt ist ^^