Mal ne kleine RGSS Frage, ich mach es auch ganz kurz:
Kann man mit RGSS irgendwie alle Dateien ein Ordners ausgeben lassen? Also das man ein Verzeichnis angibt und man alle Dateien aus diesem Verzeichnis erhält. Ich hab in der Hilfe nach File gekuckt, aber da gibt es irgendwie nicht die passende Funktion. Kann mir bitte jemand helfen?
~Monsta~
Kann man mit RGSS irgendwie alle Dateien ein Ordners ausgeben lassen? Also das man ein Verzeichnis angibt und man alle Dateien aus diesem Verzeichnis erhält. Ich hab in der Hilfe nach File gekuckt, aber da gibt es irgendwie nicht die passende Funktion. Kann mir bitte jemand helfen?
~Monsta~
Skripte:
Animations "Entruckler"
Console
Drunken Mode
Eventskript Debugger
Flat-Events
Impassable Script
Item Shortcut
MSS: Monsta's Shoot System (Neu)
Radius Skript
Random Event Teleport
RMXP Leistungstest
Single Rotate
Split Screen (Beta)
Tutorials:
'alias' Bug beheben
Eigenes RTP
Standard KS komplett Übersetzen
RGSS: Eigener HUD
Programme:
Maker Exchange [ MEX ]
RMXP Skript Explorer
RPGXP Code Converter
Spiele:
[Minispiel] Stampfi V1.5 (Gold)
[Minispiel] Mastermind XP
[Humor] Verfressene Klone
______________________________
[Zukunft] Evil Science
zum Lesen den Text mit der Maus markieren
Ordner sind keine Files, sondern Dirs, wie ich gerade gelernt habe
-->http://www.rubyforen.de/viewtopic.php?t=2618
-->http://www.rubyforen.de/viewtopic.php?t=2618
Wie lassen sich die Werte zweier Integervariablen vertauschen?
Machen Sie mit und gewinnen Sie Ruhm und Ehre! ?"Caesar"?
Die kürzeste Lösung gewinnt. Gibt es mehrere richtige Einsendungen, wird ein zufälliger Gewinner aus diesen gezogen.
zum Lesen den Text mit der Maus markieren
Die Aufgabe der letzten Runde lautete:
Es hat keiner teilgenommen, daher gibt es keinen Gewinner ^^ Eine mögliche Lösung wäre gewesen:
Zitat
Schreiben Sie einen Parser für die ASCII-Form des Dateiformats PBM (Portable Bitmap). Die Methode soll als Parameter einen Dateinamen erhalten und eine Bitmap zurückgeben. 0 ist weiß, 1 ist schwarz. Eine Beispieldatei, die den Buchstaben 'A' darstellti:
![]()
Quellcode
1 2 3 4 5 6 7 8 9 10 11 P1 9 9 000010000 000010000 000101000 000101000 001000100 001111100 001000100 010000010 111000111
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
def parse_pbm(filename)
f = File.open(filename)
return nil unless f.readline.chomp == "P1"
width, height = f.readline.split(' ').collect {|i| i.to_i}
bitmap = Bitmap.new(width, height)
c0 = Color.new(255, 255, 255)
c1 = Color.new(0, 0, 0)
for iy in 0...height
f.readline.chomp.split('').each_with_index do |v, k|
bitmap.set_pixel(k, iy, v == '0' ? c0 : c1)
end
end
return bitmap
end |
zum Lesen den Text mit der Maus markieren
...wie man zum Testen schnell einzelne Scripts "ausbaut", ohne das Script aus dem Scripeditor zu löschen?
Ganz einfach: Man fügt im Scripteditor ganz oben im Script die folgende Zeile ein:
und ganz unten als letzte Zeile:
Das hat den gleichen Effekt, wie wenn man das ganze Script aus dem Scripteditor gelöscht hätte.
|
|
Quellcode |
1 |
if false |
|
|
Quellcode |
1 |
end |
zum Lesen den Text mit der Maus markieren
Hier, der Code ist zwar dazu da um nur bestimmte Dateitypen aus einem Verzeichnis auszulesen, kannste aber sicherlich ganz einfach erweiter.
Der Code stammt aus Chesudia, weswegen dort auch das Profil vorkommt, naja und aufruf ist halt
DB.dirp(Verzeichnis,".rxdata"|".ini"|"rest"|"grafik"|"-Profil.rxdata"|"sound") #und der gibt dann ein Array zurück.
Und das ganze noch auf Scientia
http://www.scientia.rpgxp.de/wiki/index.php/Dir
(ich weiß, die Methode hat noch vielmehr Funktionen)
Ave Abt
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
module DB
#--------------------------------------------------------------------------
def self.dirp(wahl=".",wert=".rxdata")
@rxdata = []
@png = []
@profil = []
@sound = []
@ini = []
@rest = []
return [] if File.exist?(wahl) == false
dirp = Dir.open(wahl)
for f in dirp
case f
when /^\./, /~$/, /\.o/
# Wenn die zeichen drin sind nichts ausgeben.
when /Profil.rxdata/
@profil[@profil.size] = f
@profil[@profil.size-1].gsub!(/-Profil.rxdata/) { "" }
when /.rxdata/
@rxdata[@rxdata.size] = f
@rxdata[@rxdata.size-1].gsub!(/.rxdata/) { "" }
when /.png/
@png[@png.size] = f
@png[@png.size-1].gsub!(/.png/) { "" }
when /.ini/
@ini[@ini.size] = f
@ini[@ini.size-1].gsub!(/.ini/) { "" }
when /.bmp/
@png[@png.size] = f
@png[@png.size-1].gsub!(/.bmp/) { "" }
when /.jpg/
@png[@png.size] = f
@png[@png.size-1].gsub!(/.jpg/) { "" }
when /.jpeg/
@png[@png.size] = f
@png[@png.size-1].gsub!(/.jpeg/) { "" }
when /.wav/
@sound[@sound.size] = f
@sound[@sound.size-1].gsub!(/.wav/) { "" }
when /.mid/
@sound[@sound.size] = f
@sound[@sound.size-1].gsub!(/.mid/) { "" }
when /.midi/
@sound[@sound.size] = f
@sound[@sound.size-1].gsub!(/.midi/) { "" }
when /.wmv/
@sound[@sound.size] = f
@sound[@sound.size-1].gsub!(/.wmv/) { "" }
when /.ogg/
@sound[@sound.size] = f
@sound[@sound.size-1].gsub!(/.ogg/) { "" }
when /.mp3/
@sound[@sound.size] = f
@sound[@sound.size-1].gsub!(/.mp3/) { "" }
else
@rest[@rest.size] = f
end
end
case wert
when ".rxdata"
return @rxdata
when ".ini"
return @ini
when "rest"
return @rest
when "grafik"
return @png
when "-Profil.rxdata"
return @profil
when "sound"
return @sound
else
return []
end
end
end |
Der Code stammt aus Chesudia, weswegen dort auch das Profil vorkommt, naja und aufruf ist halt
DB.dirp(Verzeichnis,".rxdata"|".ini"|"rest"|"grafik"|"-Profil.rxdata"|"sound") #und der gibt dann ein Array zurück.
Und das ganze noch auf Scientia
http://www.scientia.rpgxp.de/wiki/index.php/Dir
(ich weiß, die Methode hat noch vielmehr Funktionen)
Ave Abt
Danke an euch alle!
Funktioniert genau so wie ich mir das gedacht habe.
Habe jetzt diesen Code genommen, der erschien mir am einfachsten:
Monsta
Funktioniert genau so wie ich mir das gedacht habe.
Habe jetzt diesen Code genommen, der erschien mir am einfachsten:
|
|
Quellcode |
1 |
Dir.entries('.').map {|e| e unless FileTest.directory?(e)}.compact |
Monsta
Skripte:
Animations "Entruckler"
Console
Drunken Mode
Eventskript Debugger
Flat-Events
Impassable Script
Item Shortcut
MSS: Monsta's Shoot System (Neu)
Radius Skript
Random Event Teleport
RMXP Leistungstest
Single Rotate
Split Screen (Beta)
Tutorials:
'alias' Bug beheben
Eigenes RTP
Standard KS komplett Übersetzen
RGSS: Eigener HUD
Programme:
Maker Exchange [ MEX ]
RMXP Skript Explorer
RPGXP Code Converter
Spiele:
[Minispiel] Stampfi V1.5 (Gold)
[Minispiel] Mastermind XP
[Humor] Verfressene Klone
______________________________
[Zukunft] Evil Science
zum Lesen den Text mit der Maus markieren

YAams
Random Signatur