Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 17:01

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Map aus Textdokument Umwandeln

Discussion on Map aus Textdokument Umwandeln within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: May 2012
Posts: 60
Received Thanks: 1
Map aus Textdokument Umwandeln

Hallo, Ich bins mal wieder Ich brauche hilfe!
Ich bin gerade dabei aus ein txt dokument eine map "Zuladen"
Ín den Textdokument steht dies:
111111111111
122222222221
122222222221
122222222221
122222222221
122222222221
122222222221
122222222221
122222222221
122222222221
122222222221
111111111111

1 = Zaun.
2 = Gras

Also, mann kan ein Textdokument ja mit FileRead() Auslesen.
Doch meine frage ist, wie ich z.B. festlege, das er stadt einer "1" ein Bild anzeigt, das ca. 16x16 pixel groß ist.
Ich möchte später so eine Spielfläche erzeugen.

Ich habe auch schon ein Tutorial in C# Gefunden. Aber in AutoIT nichts...

gibt es da nicht vieleicht befehle wie replace oder sowas?
masterkuchen1324 is offline  
Old 09/10/2012, 18:06   #2
 
Achat's Avatar
 
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,404
StringSplit <- F1 drücken.
Guictrlcreatepic...

MfG

PS: Die Hilfe hilft dir In Scite auf F1, dort werden auch alle Befehle erklärt.
PPS: Hast du dir überhaupt schon mal die Grundlagen in AutoIt angeschaut?
Achat is offline  
Old 09/10/2012, 18:12   #3
 
elite*gold: 0
Join Date: May 2012
Posts: 60
Received Thanks: 1
Quote:
Originally Posted by Achat View Post
StringSplit <- F1 drücken.
Guictrlcreatepic...

MfG

PS: Die Hilfe hilft dir In Scite auf F1, dort werden auch alle Befehle erklärt.
PPS: Hast du dir überhaupt schon mal die Grundlagen in AutoIt angeschaut?
Ja Danke! Klar habe ich schon viele Grundlagen/Tuts angeschaut.
Ich kann schon einiges selber pogramieren.
Meinst du das mit GuiCtrlCreateEpic ernst?
Den es heißt doch eigentlich nicht "Epic" sondern "Edit"

Und wie wende ich es an? Und wozu ist es da? Sorry, Meine AutoIT hilfe ist auf English. Ich verstehe es meist erst beim 4ten mal lesen...
masterkuchen1324 is offline  
Old 09/10/2012, 18:21   #4
 
Achat's Avatar
 
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,404
Quote:
Originally Posted by masterkuchen1324 View Post
Meinst du das mit GuiCtrlCreateEpic ernst?
Quote:
Originally Posted by Achat View Post
Guictrlcreatepic...



€dit: Deutsche Hilfe
Achat is offline  
Old 09/10/2012, 18:50   #5
 
elite*gold: 0
Join Date: May 2012
Posts: 60
Received Thanks: 1
Das weiß ich schon, das man so ein bild anzeigt... aber meine frage war, wie ich es umewandel also "1" in "pic.gif" oder sowas
masterkuchen1324 is offline  
Old 09/10/2012, 19:03   #6
 
Achat's Avatar
 
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,404
Achso, da habe ich dich wohl missverstanden.
StringReplace
Wenn du z.B. anfängst, String einzugeben, schlägt dir Scite automatisch Funktionen vor, die so anfangen.

MfG
Achat is offline  
Old 09/10/2012, 19:14   #7
 
elite*gold: 0
Join Date: May 2012
Posts: 60
Received Thanks: 1
Quote:
Originally Posted by Achat View Post
Achso, da habe ich dich wohl missverstanden.
StringReplace
Wenn du z.B. anfängst, String einzugeben, schlägt dir Scite automatisch Funktionen vor, die so anfangen.

MfG
Ah Okay, Habe es jezt so versucht.
HTML Code:
;--Includes--
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
#include<File.au3>



$Map = FileRead("map.txt")

$scan = StringReplace("map.txt","1","h")
MsgBox(1, "Test", $scan)
Wie man sieht, sollte er aus "1" ein "h" machen, und in der msg box anzeigen... Dies macht er aber nicht. Er zeigt nur "map.txt" an.

EDIT: Hatt sich geklärt, habe statt "map.txt" das geschrieben: $Map
masterkuchen1324 is offline  
Old 09/10/2012, 19:14   #8
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,876
Um das ganze jetzt einmal ganz simpel zu machen:
PHP Code:
$map="11221212"
$array_map=StringSplit($map,"")

$line=0
$x_added
=0

for $i=0 To Ubound($array_map)-1
    
if $array_map[$i]="1" Then
        
Create Pic mit Bild1
        
x=pic_größe*$x_added
        
y=$line*pic_größe
        $x_added
+=1
    
ElseIf $array_map[$i]="2" Then
        
Create Pic mit Bild2
        
x=pic_größe*$x_added
        
y=$line*pic_größe
        $x_added
+=1
    
EndIf
    
    if 
$array_map[$i]=@CR Then
        $line
+=1
        $x_added
=0
    
EndIf
Next 
Ich hoffe ich hab nichts vergessen habe das ganze eben so aus dem Kopf zusammengeschrieben, aber sollte gehen.
Shadow992 is offline  
Thanks
2 Users
Old 09/10/2012, 19:25   #9
 
elite*gold: 0
Join Date: May 2012
Posts: 60
Received Thanks: 1
Quote:
Originally Posted by Shadow992 View Post
Um das ganze jetzt einmal ganz simpel zu machen:
PHP Code:
$map="11221212"
$array_map=StringSplit($map,"")

$line=0
$x_added
=0

for $i=0 To Ubound($array_map)-1
    
if $array_map[$i]="1" Then
        
Create Pic mit Bild1
        
x=pic_größe*$x_added
        
y=$line*pic_größe
        $x_added
+=1
    
ElseIf $array_map[$i]="2" Then
        
Create Pic mit Bild2
        
x=pic_größe*$x_added
        
y=$line*pic_größe
        $x_added
+=1
    
EndIf
    
    if 
$array_map[$i]=@CR Then
        $line
+=1
        $x_added
=0
    
EndIf
Next 
Ich hoffe ich hab nichts vergessen habe das ganze eben so aus dem Kopf zusammengeschrieben, aber sollte gehen.
Danke, Genau sowas habe ich gesucht! Ein script, den ich verstehe
Danke nochmal, verdienst ein Thanks!

Hmm... Jezt zeigt er mir aber nicht das Bild an...
HTML Code:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
#include<File.au3>



$gui = GUICreate("Farmer", 931, 478, 192, 124)
GUISetState(@SW_SHOW)
While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit

	EndSwitch
WEnd




$map="11221212"
$array_map=StringSplit($map,"")
$line=16
$x_added=16

for $i=0 To Ubound($array_map)-1
    if $array_map[$i]="1" Then
        GuiCtrlCreatePic("zaun.gif", 0, 0, $line, $line)
         ;x=pic_größe*$x_added
         ;y=$line*pic_größe
        $x_added+=1
    ElseIf $array_map[$i]="2" Then
        ; Create Pic mit Bild2
        ; x=pic_größe*$x_added
        ; y=$line*pic_größe
        $x_added+=1
    EndIf
    
    if $array_map[$i]=@CR Then
        $line+=1
        $x_added=0
    EndIf
Next
masterkuchen1324 is offline  
Old 09/10/2012, 19:56   #10
 
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,147
Herzlichen Glückwunsch!

Du schreibst, dass du es verstanden hast, kopierst es aber dann einfach stupide ans Ende deines Scripts und wunderst dich, warum nichts angezeigt wird.
Ganz einfach, der Code wird nie erreicht, damit sollte auch die Frage geklärt sein, warum nichts angezeigt wird.
Mal abgesehen davon müsstest du die Größe der GUI ebenfalls dynamisch festsetzen und nicht so wie es momentan in deinem Script ist.
KDeluxe is offline  
Thanks
2 Users
Old 09/10/2012, 19:57   #11
 
omer36's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,254
weil es außerhalb der schleife ist und in diesem fall nie erreicht wird.

könntest es zwischen dem EndSwitch und dem WEnd rein kopieren,
aber so wird die gui warscheinlich flackern (da er die bilder immer wieder neu erstellt)

kannst ja ne abfrage erstellen, ob die .txt schon gelesen wurde oder nicht....

oder zb einen button erstellen und die funktion dann mit
den von Shadow992 erstellten codeschnipsel verknüpfen
omer36 is offline  
Thanks
1 User
Old 09/10/2012, 20:25   #12
 
elite*gold: 0
Join Date: May 2012
Posts: 60
Received Thanks: 1
Quote:
Originally Posted by omer36 View Post
weil es außerhalb der schleife ist und in diesem fall nie erreicht wird.

könntest es zwischen dem EndSwitch und dem WEnd rein kopieren,
aber so wird die gui warscheinlich flackern (da er die bilder immer wieder neu erstellt)

kannst ja ne abfrage erstellen, ob die .txt schon gelesen wurde oder nicht....

oder zb einen button erstellen und die funktion dann mit
den von Shadow992 erstellten codeschnipsel verknüpfen
Dankeschön... Jezt funktioniert schon alles, auch mit txt file.
Danke nochmal an Shadow.
masterkuchen1324 is offline  
Old 09/11/2012, 18:24   #13
 
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,147
Dennoch vermute ich, dass das Potential von shadows Script nicht voll ausgenutzt wird, also schmeiße ich mein Beispiel noch hinterher.
KDeluxe is offline  
Thanks
1 User
Old 09/15/2012, 11:21   #14
 
elite*gold: 0
Join Date: May 2012
Posts: 60
Received Thanks: 1
Quote:
Originally Posted by KDeluxe View Post
Dennoch vermute ich, dass das Potential von shadows Script nicht voll ausgenutzt wird, also schmeiße ich mein Beispiel noch hinterher.
War lange nichtmehr hier... Ich bin jezt auchschon weiter gekommen. Ich hatte auch schon meine Map dan in ein Array geschoben, damit es auch schneller geht, wen man in den Array mal was ändert / wieder die map neulädt.
masterkuchen1324 is offline  
Reply


Similar Threads Similar Threads
Textdokument - Passwort?
04/26/2011 - Technical Support - 2 Replies
Hallo Kann man auf ein USB Stick ein Passwort draufmachen , wenn Ja mit welchen Programm? Mfg
Autoit textdokument automatisch über tcp senden
03/07/2011 - AutoIt - 6 Replies
Hallo ich wollte fragen ob man bei autoit über tcp ein textdokument automatisch an einen anderen pc senden lassen kann?? wenn ja wie
[VB.Net]TextDokument Drucken
05/30/2010 - Coding Tutorials - 2 Replies
Hallo Elitepvpers! heute zeige ich euch wie ihr in Visual Basic 2008 in 8 Schritten ganz einfach ein Programm Programmiert, dass Texte aus einem Textfeld druckt! Fangen wir an! Schritt 1 Wähle das Label-SteuerElement aus und ziehe es oben auf die Form! Dieses Label ist dazu adr, das der Benutzer weiss was er zu tuen hat (Anweisung) Schritt 2 Nun Ziehe das Textbox-SteuerElement auf die Form, unterhalb des Labels, stellen die EIgenschaften auf Multi-Line und machen es etwas größer!...
Vk textdokument mit IS BUG ;)
04/11/2010 - Metin2 Trading - 2 Replies
Regelverstoß
Textdokument bearbeiten mit autoit
04/19/2009 - Guild Wars - 4 Replies
HI, also ich hab folgendes problem ich brauchte eine text datei wo nur namen drinstehen allerdings sind bei meiner textdatei dahinter immer nocheine Beschreibungen. Da ich keine lust hab 9000 Beschreibungen wegzu löschen wollt ich fragen ob man die mit einem script irgentwie wegmachen könnte. Das textdokument schaut ungefähr so vom Aufbau her aus: name1 Beschreibung1 name2 Beschreibung2 name3 Beschreibung3 name4 Beschreibung4



All times are GMT +2. The time now is 17:01.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.