| Autor |
Beitrag |
nullplan
Hält's aus hier
Beiträge: 4
|
Verfasst: Mi 15.06.05 07:38
hallo  ich sitz hier grad im infokabinett und wir müssen ein spiel programmieren, das problem is nur, dass ich leider keine ahnung habe
anbei mein begonnener quelltext..  es wär super lieb wenn mir jemand helfen könnte, denn da gibt es ja eine note drauf
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:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, jpeg, ExtCtrls;
type TZahlen = array [1..35] of integer; TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Button1: TButton; Button2: TButton; Image10: TImage; Button3: TButton; Memo1: TMemo; Image1: TImage; Image2: TImage; Image3: TImage; Image4: TImage; Image5: TImage; Image6: TImage; Image7: TImage; Image8: TImage; Image9: TImage; procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject);
private
public
end;
var Form1: TForm1; worte : TZahlen; implementation
{$R *.DFM}
procedure TForm1.Button3Click(Sender: TObject); var z, l, i : integer; wort, wort2, buchstabe, tip: string; begin Z:= random (memo1.lines.count); wort := memo1.lines[z];
l := length(wort); buchstabe := wort[1]; wort2 := uppercase(wort); tip := edit2.text;
wort2 := ''; For i := 1 to length(wort) do if wort[i] = tip then buchstabe else image1.visible := false; end; Wort2 := wort2 + '*'
end;
procedure TForm1.Button2Click(Sender: TObject); begin close; end;
end. |
-->
die konkrete frage wäre jetzt noch, wie man prüft ob der buchstabe im wort ist oder nicht?!? wie muss man das einstellen, dass dann(bei falschem buchstaben) ein "sensenmann" aufgebaut wird?
vielen vielen dank
Moderiert von raziel: Delphi-Tags hinzugefügt.
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Mi 15.06.05 07:49
 im DF.
Die Überprüfung ist relativ einfach:
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| if Pos(AnsiUpperCase(Buchstabe), AnsiUpperCase(Wort)) > 0 then begin end else begin end; |
Das AnsiUpperCase sorgt dafür, dass es egal ist, ob Groß oder Klein geschrieben wurde.
Buchstabe und Wort sind Variablen, die durch dein Variablen ersetzen musst (Tip und Wort2 glaube ich).
Für die Grafik bin ich nicht der richtige. 
|
|
nullplan 
Hält's aus hier
Beiträge: 4
|
Verfasst: Mi 15.06.05 16:38
danke
ich hoffe mal ich krieg das hin 
|
|
DarkHunter
      
Beiträge: 477
Win XP
D3 Prof, D2005 PE
|
Verfasst: Mi 15.06.05 19:46
Wäre nett wenn du den Quellcode so kommentieren würdest das wir erkennen können wofür die einelnen Buttons/images... da sind
so ist das nämlich nicht deutlich
EDIT: ich habe aus Langweile gerade ein kleines galgenraten ferig gemacht wenn du willst schicke ich es dir 
|
|
nullplan 
Hält's aus hier
Beiträge: 4
|
Verfasst: Mo 20.06.05 21:49
hey *lol* wenn du das machen würdest wärs ja echt genial
öhm ja...un zum kommentar...also hab ein bild un darauf sind kleine bildchen, die das große bild...einen sensenmann verdecken...so un immer wenn was falsch ist, soll ein bildchen weggehen damit man den sensenmann mehr sieht. das sind die images...joah un fehler bedeutet, dass der buchstabe nicht drin is....so und meine wörter hab ich in ner memobox, die unvisible is...da stehen die ganzen wörter, die es zu errraten gibt drin! un per zufallszahlen wird dann ein wort rausgesucht. so und dann nehm ich statt _ _ _ _ einfach ***** weil das einfacher is...weil da keine leerzeichen dazwischen müssn...
hmm...das wars glaub so im groben
würd mich auf n bissl mehr hilfe hier noch freuen...weil so richtig seh ich hier nicht mehr durch
also danke im vorraus....
|
|
DarkHunter
      
Beiträge: 477
Win XP
D3 Prof, D2005 PE
|
Verfasst: So 26.06.05 22:04
sorry das das so lange gedauert hat hte die letzten tage wenig zeit
hier mal die 2 wesentlichen passagen:
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:
| procedure tform1.check(buchstabe:char); var x,y,i:integer; trim: string; found:boolean; begin found:=false; if length(tryed_lts) > 0 then for i := 0 to length(tryed_lts) do if tryed_lts[i] = buchstabe then found := true; tryed_lts := tryed_lts + buchstabe; if not found then begin tryed_letters.Caption := tryed_letters.caption + buchstabe+','; y := 0; x := pos(buchstabe,lowercase(look_word)); if x > 0 then begin trim := look_word; repeat x := pos(buchstabe,lowercase(trim)); y := y +x; try_word[y*2-1] := buchstabe; search.Caption := try_word; delete(trim,1,pos(buchstabe,lowercase(trim))); until x = 0; if lowercase(look_word) = stringreplace(try_word,' ','',[rfReplaceAll, rfIgnoreCase]) then begin showmessage('Correct!'); test.Enabled := false; end; end else begin inc(step); draw_mann(step); if step >= 11 then begin test.Enabled := false; letter.Enabled := false; search.Caption := look_word; end; end; end; letter.Text := ''; letter.SetFocus; end; |
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:
| procedure tform1.draw_mann(step:integer); begin if step = 1 then guy.Canvas.Arc(0,80,80,160,80,120,0,120) else if step = 2 then begin guy.Canvas.MoveTo(40,80); guy.canvas.lineto(40,10); end else if step = 3 then begin guy.Canvas.MoveTo(40,10); guy.canvas.lineto(70,10); end else if step = 4 then begin guy.Canvas.MoveTo(40,20); guy.canvas.lineto(50,10); end else if step = 5 then begin guy.Canvas.MoveTo(70,10); guy.canvas.lineto(70,25); end else if step = 6 then begin guy.Canvas.Ellipse(63,25,78,40); end else if step = 7 then begin guy.Canvas.MoveTo(70,40); guy.canvas.lineto(70,60); end else if step = 8 then begin guy.Canvas.MoveTo(70,60); guy.canvas.lineto(65,70); end else if step = 9 then begin guy.Canvas.MoveTo(70,60); guy.canvas.lineto(75,70); end else if step = 10 then begin guy.Canvas.MoveTo(70,45); guy.canvas.lineto(62,60); end else if step = 11 then begin guy.Canvas.MoveTo(70,45); guy.canvas.lineto(77,60); end end; |
so ich denke das sollte dir ein wenig helfen
Einloggen, um Attachments anzusehen!
|
|
nullplan 
Hält's aus hier
Beiträge: 4
|
Verfasst: Mo 27.06.05 21:15
hui danke...ich bau en teil ma mit bei mir im prog ein un dann kann ich dir ja auch mal meine lösung posten 
|
|
DarkHunter
      
Beiträge: 477
Win XP
D3 Prof, D2005 PE
|
Verfasst: Mo 27.06.05 21:27
jap
ich hoffe du hast nicht zu große porobleme mit den name der kompos ich schreibe gerade an ein hangman class
vielleicht mach ich die ja opensource
|
|
|