Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Game Maker Domäne. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

copyboy

Krankhafter Individualist

  • »copyboy« ist der Autor dieses Themas

Beiträge: 2 046

Selbsteinschätzung: GML Experte

  • Private Nachricht senden

1

Sonntag, 23. Dezember 2007, 17:48

String mixen

Ja hallo erstmaahl...
Ich weis nicht ob Sie 's schon wissen, ...
Aber ich stehe heute voll auf der Leitung... :(

Ich habe kein Schimmer wie ich einen String "durcheinander rühren" kann...
Beispiel: 123ABCxyz -- *mixen* --> y31C2AxzB

Sorry für diese bescheuerte Frage ;(
Ich hoffe ihr helft mir trotzdem ^^

Gruß, euer kopierjunge
-___-'

PS: Schönes Weihnachten

boxxar

hasst Nashörner

Beiträge: 478

  • Private Nachricht senden

2

Sonntag, 23. Dezember 2007, 19:01

Den String in seine Zeichen zerlegen, diese in ein Array oder sonstwas schreiben, und den Knuth-Shuffle implementieren. Danach das ganze wieder zusammensetzen. Alternativ direkt mit dem String den Knuth-Shuffle ausführen.

rootnode

Gargoyle

Beiträge: 261

Aktuelles Projekt: MOSA (C#)

  • Private Nachricht senden

3

Montag, 24. Dezember 2007, 01:42

Frage dazu: Soll das ganze Bijektiv sein? Ich mein...willst du den gemixten String wiederherstellen können?

Notebook: ThinkPad T520, Intel Core i7-2620M, 2.7Ghz, 8Gb Ram, 80Gb SSD + 500Gb HDD, NVIDIA NVS 4200M 1Gb, 15.6" Display
Server #1: AMD Opteron 2,4Ghz, 1GB Ram, 80GB HDD, Debian 6.0
Server #2: AMD64 X2 4200+, 2GB Ram, 250GB HDD, FreeBSD 8.0 Current

Dragoon

Foreneigener Hausdrache

Beiträge: 714

Game Maker Version: 6 registriert

Selbsteinschätzung: GML Experte

  • Private Nachricht senden

4

Montag, 24. Dezember 2007, 12:02

Probiers mal damit (konnte das nicht testen, weil ich den GM noch nicht installiert habe)
string_shuffle(string)

GML

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var _str_input,_str,i,_rnd,_ls;
_str_input=argument0;
_ls=ds_list_create();
for(i=0;i<string_length(_str_input);i+=1)
   {
   ds_list_add(_ls,string_copy(_str_input,i+1,1));
   }
_str="";
while(ds_list_size(_ls)>0)
   {
   _rnd=random(ds_list_size(_ls));
   _str+=ds_list_find_value(_ls,_rnd);
   ds_list_delete(_ls,rnd);
   }
ds_list_destroy(_ls);
return _str;
int (*x(*x(int))[5])(int*);
Confused? Yes, it's C!

copyboy

Krankhafter Individualist

  • »copyboy« ist der Autor dieses Themas

Beiträge: 2 046

Selbsteinschätzung: GML Experte

  • Private Nachricht senden

5

Dienstag, 25. Dezember 2007, 14:56

@ boxxar: Ich hab die Methode jetzt zwar nicht benutzt (weil ich zu faul bin xD), ich habs aber verstanden wie's geht, also danke ^^
@ Dragoon: Jo, funktioniert (fast xD - beim letzten "_rnd" fehlt das "_" :D).

Übrigens: Schönes neues Forum :thumbsup: