Delphi-Forum.de Delphi-Library.de
C-Sharp-Forum.de C-Sharp-Library.de
Registrieren Login Suche Hilfe Sitemap
Projekt: höchste Anzahl gelöschte Blöcke speichern & anzeig.
spacer
Autor Nachricht
Swagger Jackin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star

Beiträge: 26
Dabei seit: 21.02.2010



BeitragVerfasst: Mo 22.02.10 15:25  Antworten mit Zitat Beitrag melden
Für ein Projekt möchte ich die höchste Anzahl an Blöcken in Variable speichern, aber weiß nicht wie es geht.
Im Spiel werden Blöcke gelöscht und wenn ich eine neue Reihe lösche, bleibt nur letzte erhalten.
Private Nachricht sendenPosting in privater Nachricht zitieren
ffgorcky
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star

Beiträge: 571
Dabei seit: 17.09.2008
Wohnort: Schleswig-Holstein, nahe Bad Bramstedt

WIN XP/2000&7Prof (Familie:Win 95,Win 98)
BeitragVerfasst: Sa 27.02.10 20:25  Antworten mit Zitat Beitrag melden
Entschuldigung, ich weiß jetzt leider nicht, was für Blöcke Du denn meinst.
Wenn es mehr Leuten so geht, kann eine Antwort länger dauern.
Also könntest Du z.B. erst einmal erzälen um was für ein Spiel es sich handelt?
Private Nachricht sendenPosting in privater Nachricht zitieren
Swagger Jackin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star

(Threadstarter)

Beiträge: 26
Dabei seit: 21.02.2010



BeitragVerfasst: Sa 27.02.10 21:27  Antworten mit Zitat Beitrag melden
Spiel: Collapse
Blöcke sind Felder die angeklickt und dann gelöscht werden
Wenn ich im Spiel einmal 12 felder anklicke und dann nur noch eine kleinere Anzahl angeklickt habe, soll die größte angezeigt werden

Spielfeld ist anwählbar, letzte Anzahl an gelöschten Blöcken wird auch schon gespeichert, aber nicht die höchste Anzahl
Kennt jemand eine Lösung?

ausblenden volle Höhe Delphi-Quelltext markieren
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:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
365:
366:
367:
368:
369:
370:
371:
372:
373:
374:
375:
376:
377:
378:
379:
380:
381:
382:
383:
384:
385:
386:
387:
388:
389:
390:
391:
392:
393:
394:
395:
396:
397:
398:
399:
400:
401:
402:
403:
404:
405:
406:
407:
408:
409:
410:
411:
412:
413:
414:
415:
416:
417:
418:
419:
420:
421:
422:
423:
424:
425:
426:
427:
428:
429:
430:
431:
432:
433:
434:
435:
436:
437:
438:
439:
440:
441:
442:
443:
444:
445:
446:
447:
448:
449:
450:
451:
452:
453:
454:
455:
456:
457:
458:
459:
460:
461:
462:
463:
464:
465:
466:
467:
468:
469:
470:
471:
472:
473:
474:
475:
476:
477:
478:
479:
480:
481:
482:
483:
484:
485:
486:
487:
488:
489:
490:
491:
492:
493:
494:
495:
496:
497:
498:
499:
500:
501:
502:
503:
504:
505:
506:
507:
508:
509:
510:
511:
512:
513:
514:
515:
516:
517:
518:
519:
520:
521:
522:
523:
524:
525:
526:
527:
528:
529:
530:
531:
532:
533:
534:
535:
536:
537:
538:
539:
540:
541:
542:
543:
544:
545:
546:
547:
548:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, Grids, ComCtrls, ExtCtrls, StdCtrls;

type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
Spiel1: TMenuItem;
NeuesSpiel1: TMenuItem;
N1: TMenuItem;
Beenden1: TMenuItem;
StatusBar1: TStatusBar;
Spielfeld: TStringGrid;
info1: TMenuItem;
Leiste: TStringGrid;
Zeit: TTimer;
Hilfe1: TMenuItem;
Info2: TMenuItem;
Optionen1: TMenuItem;
Steuerung1: TMenuItem;
Musik: TMenuItem;
Fortsetzen1: TMenuItem;
Stopp1: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
Sounds1: TMenuItem;
Leicht: TMenuItem;
N8: TMenuItem;
Mittel: TMenuItem;
N9: TMenuItem;
Schwer: TMenuItem;
N10: TMenuItem;
Highscore1: TMenuItem;
N2: TMenuItem;
Spielmodus1: TMenuItem;
Musik1: TMenuItem;
N11: TMenuItem;
Musik2: TMenuItem;
N12: TMenuItem;
Musik3: TMenuItem;
N13: TMenuItem;
Memories1: TMenuItem;
N14: TMenuItem;
SwaggerJackin1: TMenuItem;
procedure Beenden1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure NeuesSpiel;
procedure SpielfeldDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure NeuesSpiel1Click(Sender: TObject);
procedure SpielfeldSelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
procedure GleicheFarbenFinden(x, y : integer);
procedure GleicheFarbenLoeschen;
procedure ZeitTimer(Sender: TObject);
procedure LeisteDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure Info2Click(Sender: TObject);
procedure Hilfe1Click(Sender: TObject);
procedure Highscore1Click(Sender: TObject);
procedure Steuerung1Click(Sender: TObject);
procedure Stopp1Click(Sender: TObject);
procedure Fortsetzen1Click(Sender: TObject);
procedure LeichtClick(Sender: TObject);
procedure MittelClick(Sender: TObject);
procedure SchwerClick(Sender: TObject);
procedure Spielmodus1Click(Sender: TObject);
procedure Musik1Click(Sender: TObject);
procedure Musik2Click(Sender: TObject);
procedure Musik3Click(Sender: TObject);
procedure Memories1Click(Sender: TObject);
procedure SwaggerJackin1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1 : TForm1;
Zellengroesse : integer = 30; // legt die Zellengröße Zg x Zg
anzahlgleichfarbigerbloecke : integer;
Punkte : integer;
Runden : integer;
Kaestchen : integer; // für Belegung der Leiste
LetzteZeile : boolean;
Classic : boolean;
start : TDatetime;
Level : integer;
PunkteEnde : integer;

implementation

uses Unit2, Unit3, Unit4, Unit5, Unit7, Unit6, Unit8, Unit10, Unit11, Unit12,
Unit13, Unit14;

{$R *.DFM}
{==============================================================================}
procedure TForm1.Beenden1Click(Sender: TObject);
begin
Application.Terminate;
end;
{==============================================================================}
procedure TForm1.FormActivate(Sender: TObject);
begin
Spielfeld.DefaultColWidth := Zellengroesse;
Spielfeld.DefaultRowHeight := Zellengroesse;
Spielfeld.ClientWidth := Spielfeld.ColCount*(Zellengroesse+Spielfeld.GridLineWidth);
Spielfeld.ClientHeight := Spielfeld.RowCount*(Zellengroesse+Spielfeld.GridLineWidth);
Leiste.DefaultColWidth := Zellengroesse;
Leiste.DefaultRowHeight := Zellengroesse;
Leiste.ClientWidth := Leiste.ColCount*(Zellengroesse+Leiste.GridLineWidth);
Leiste.ClientHeight := Leiste.RowCount*(Zellengroesse+Leiste.GridLineWidth);
// Statusbar im Verhältnis 1:3 teilen
StatusBar1.Panels[0].Width := StatusBar1.Width div 2;
Form1.Width := Spielfeld.ClientWidth+12;
Form1.Height := Spielfeld.ClientHeight+80+Leiste.ClientHeight+30;
randomize;
NeuesSpiel;
Spielfeld.Enabled := false; // bei Start Stillstand
Zeit.Enabled := false; // Zeit anhalten sofort nach Start
Classic:= true;
end;
{==============================================================================}
procedure TForm1.NeuesSpiel;
var x,y,i : integer;
begin
for x := 0 to Spielfeld.ColCount-1 do
begin
i := random(4)+1; // zufällige Anordnung der Kästchen
for y := Spielfeld.RowCount-i to Spielfeld.RowCount-1 do
Spielfeld.Cells[x,y] := IntToStr(random(5)); // belegt alle Felder mit Farbe
for y := 0 to Spielfeld.RowCount-i-1 do
Spielfeld.Cells[x,y] := '-1'; // belegt alle leeren Felder mit schwarz
end;
for x := 0 to Leiste.ColCount-1 do
Leiste.Cells[x,0] := IntToStr(random(5)); // zufällige Belegung der Leiste
//Spielfeld.Cells[0,0]:='4';
//Spielfeld.Cells[0,1]:='3';
Zeit.Enabled := true; // Uhr anschalten
Zeit.Interval := 500;
Kaestchen := Spielfeld.ColCount;
LetzteZeile := false;
Spielfeld.Enabled := true;
if Classic=false
then Zeit.Interval := 100;
end;
{==============================================================================}
procedure TForm1.SpielfeldDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if Spielfeld.Cells[ACol,Arow] <> '-1'
then
case Spielfeld.Cells[ACol,Arow][1] of
'0' : Spielfeld.Canvas.Brush.Color := clRed;
'1' : Spielfeld.Canvas.Brush.Color := clBlue;
'2' : Spielfeld.Canvas.Brush.Color := clYellow;
'3' : Spielfeld.Canvas.Brush.Color := clGreen;
'4' : Spielfeld.Canvas.Brush.Color := clWhite;
else Spielfeld.Canvas.Brush.Color := clBLack; // Farbe für "gelöscht"
end; // endcase
Spielfeld.Canvas.Pen.Color := clBlack;
Spielfeld.Canvas.Rectangle(Rect);
end;
{==============================================================================}
procedure TForm1.LeisteDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if Leiste.Cells[ACol,Arow] <> '-1'
then
case Leiste.Cells[ACol,ARow][1] of
'0' : Leiste.Canvas.Brush.Color := clRed;
'1' : Leiste.Canvas.Brush.Color := clBlue;
'2' : Leiste.Canvas.Brush.Color := clYellow;
'3' : Leiste.Canvas.Brush.Color := clGreen;
'4' : Leiste.Canvas.Brush.Color := clWhite;
else Leiste.Canvas.Brush.Color := clBlack; // Farbe für "gelöscht"
end; // endcase
Leiste.Canvas.Pen.Color := clBlack;
Leiste.Canvas.Rectangle(Rect);
end;
{==============================================================================}
procedure TForm1.NeuesSpiel1Click(Sender: TObject);
begin
NeuesSpiel;
Statusbar1.Panels[0].Text := 'Punkte : 0';
Statusbar1.Panels[1].Text := 'Runden : 30';
// Statusbar1.Panels[2].Text := 'Level : 1';
// Level := 1;
Punkte := 0;
Runden := 30;
anzahlgleichfarbigerbloecke := 0;
Zeit.Enabled := true;
start := now;
end;
{============================================================================}
procedure TForm1.GleicheFarbenLoeschen;
var x,y ,i ,x1 : integer;
Lueckevorhanden,LeereZeile : boolean;
ZeileBloecke : integer;
begin
if anzahlGleichfarbigerbloecke > 1
then
begin // es gibt bloecke zu löschen
// zu löschende blöcke markieren
for x := 0 to Spielfeld.ColCount -1 do
for y := 0 to Spielfeld.RowCount -1 do
if StrToInt(Spielfeld.Cells[x,y]) > 4
then Spielfeld.Cells[x,y] := '-1';
for x := 0 to Spielfeld.ColCount -1 do
begin
repeat
Lueckevorhanden := false; // Lücke suchen
ZeileBloecke := -1; // eine nicht existierende Zeilennummer
for y := 0 to Spielfeld.RowCount - 2 do
if (Spielfeld.Cells[x,y] <> '-1') and (Spielfeld.Cells[x,y+1]='-1')
then
begin
ZeileBloecke := y;
Lueckevorhanden := true;
end;
if Lueckevorhanden
then
begin
while (ZeileBloecke < Spielfeld.RowCount -1) and (Spielfeld.Cells[x,ZeileBloecke+1]='-1')do
begin
for y := ZeileBloecke downto 0 do
begin
Spielfeld.Cells[x,y+1] :=Spielfeld.Cells[x,y];
Spielfeld.Cells[x,y] := '-1';
end;
end;
end;
until not Lueckevorhanden;
end;
for x := 1 to Spielfeld.ColCount -2 do // ab den vollen Spalten anfangen zuzählen
begin
i := 0; // Anzahl der leeren Kästchen
for y := 0 to Spielfeld.RowCount -1 do
begin
if Spielfeld.Cells[x,y] = '-1'
then i := i+1; // erhöhe die Kästchen um 1
end;
if i = Spielfeld.RowCount // wenn die Spalte leer ist
then
begin
if x <= Spielfeld.ColCount/2 // wenn die Hälfte oder weniger mit Kaestchen belegt ist
then
begin
for x1 := x downto 1 do // schieben alles nach links, welche Spalte frei ist
begin
for y := 0 to Spielfeld.RowCount-1 do
Spielfeld.Cells[x1,y] := Spielfeld.Cells[x1-1,y]; // Verschiebung Bloecke
end;
for y := 0 to Spielfeld.RowCount-1 do
Spielfeld.Cells[0,y] := '-1'; // Übertragung Farben Bloecke
end
else
begin
for x1 := x to Spielfeld.ColCount -2 do // schieben alles nach rechts, welche Spalte frei ist
begin
for y := 0 to Spielfeld.RowCount-1 do
Spielfeld.Cells[x1,y] := Spielfeld.Cells[x1+1,y]; // Verschiebung Bloecke
end;
for y := 0 to Spielfeld.RowCount-1 do
Spielfeld.Cells[Spielfeld.ColCount-1,y] := '-1'; // Übertragung Farben der Bloecke
end;
end;
end;
end
else // keine Bloecke zu löschen
begin
for x := 0 to Spielfeld.ColCount -1 do
for y := 0 to Spielfeld.RowCount -1 do
if StrToInt(Spielfeld.Cells[x,y]) > 4
then Spielfeld.Cells[x,y] := IntToStr(StrToInt(Spielfeld.Cells[x,y])-5); //alter wert wiederherstellen
end;
LeereZeile := true;
for x := 0 to Spielfeld.ColCount-1 do
begin
if Spielfeld.Cells[x,Spielfeld.RowCount-1] <> '-1'
then LeereZeile := false;
end;
if LeereZeile = true
then Punkte := Punkte + 2000;
end;
{============================================================================}
procedure TForm1.GleicheFarbenFinden(x, y : integer);
var farbwert : string;
begin
anzahlgleichfarbigerbloecke := anzahlgleichfarbigerbloecke+1;
// farbcode merken
farbwert := Spielfeld.Cells[x,y];
// zelle markieren
Spielfeld.Cells[x,y] := IntToStr(StrToInt(Spielfeld.Cells[x,y])+5);
// nördliche zelle testen
if y > 0
then
if Spielfeld.Cells[x,y-1] = farbwert
then GleicheFarbenFinden(x,y-1);
// östliche
if x < Spielfeld.ColCount - 1
then
if Spielfeld.Cells[x+1,y] = farbwert
then GleicheFarbenFinden(x+1,y);
// südliche
if y < Spielfeld.RowCount - 1
then
if Spielfeld.Cells[x,y+1] = farbwert
then GleicheFarbenFinden(x,y+1);
// westliche
if x > 0
then
if Spielfeld.Cells[x-1,y] = farbwert
then GleicheFarbenFinden(x-1,y);
end;
{==============================================================================}
procedure TForm1.SpielfeldSelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
var b, i : integer;
begin
anzahlgleichfarbigerbloecke := 0;
if Spielfeld.Cells[ACol,Arow] <> '-1'
then GleicheFarbenFinden(ACol, ARow);
b := anzahlgleichfarbigerbloecke;
case b of
0,1 : Punkte := Anzahlgleichfarbigerbloecke * 0 + Punkte;
2 : Punkte := Anzahlgleichfarbigerbloecke * 5 + Punkte;
3 : Punkte := Anzahlgleichfarbigerbloecke * 10 + Punkte;
4 : Punkte := Anzahlgleichfarbigerbloecke * 15 + Punkte;
5 : Punkte := Anzahlgleichfarbigerbloecke * 20 + Punkte;
6 : Punkte := Anzahlgleichfarbigerbloecke * 25 + Punkte;
7 : Punkte := Anzahlgleichfarbigerbloecke * 30 + Punkte;
else Punkte := Anzahlgleichfarbigerbloecke * 60 + Punkte;
end;
Statusbar1.Panels[0].Text := 'Punkte :' + IntToStr(Punkte);
GleicheFarbenLoeschen;
{ QuickRep1.Prepare;
i := QuickRep1.anzahlgleichfarbigerbloecke;
QuickRep1.Preview;
}

end;
{==============================================================================}
procedure TForm1.ZeitTimer(Sender: TObject);
var x,y : integer;
begin
if Kaestchen = Leiste.ColCount // Leiste voll
then
begin
for x := 0 to Spielfeld.ColCount-1 do // für oberste Zeile
begin
if Spielfeld.Cells[x,0] <> '-1'
then
begin
LetzteZeile := true; // wenn Letzte Zeile belegt
Zeit.Enabled := false;
Spielfeld.Enabled := false;
PunkteEnde := Punkte;
Form8.ShowModal; // öffnen Fenster mit Game Over
end;
if LetzteZeile = true
then break; // beendet for-Schleife
end;
if LetzteZeile = false
then
begin
for y := 0 to Spielfeld.RowCount-1 do
begin
for x := 0 to Spielfeld.ColCount-1 do
Spielfeld.Cells[x,y] := Spielfeld.Cells[x,y+1]; // Spiel läuft weiter
end;
for x := 0 to Spielfeld.ColCount-1 do
Spielfeld.Cells[x,Spielfeld.RowCount-1] := Leiste.Cells[x,0]; // Leiste wird weiter übertragen

for x := 0 to Leiste.ColCount-1 do // leeren der Leiste
Leiste.Cells[x,0] := '-1';
Kaestchen := 0;
Runden := Runden -1;
Statusbar1.Panels[1].Text := 'Runden :' + IntToStr(Runden);
if Runden = 0
then
begin
Zeit.Enabled := false;
Spielfeld.Enabled := false;
PunkteEnde := Punkte;
Form13.ShowModal;
Runden := 30;
if Level = Level+1
then
begin
Runden :=(Level-1)*5+30;
Zeit.Interval := 500;
Zeit.Interval := Zeit.Interval-10;
Zeit.Enabled := true;
Spielfeld.Enabled := true;
end;
end;
end;
end
else // füllen untere Leiste auf
begin
Leiste.Cells[Kaestchen,0] := IntToStr(random(5));
Kaestchen := Kaestchen+1;
end;
end;
{==============================================================================}
procedure TForm1.Info2Click(Sender: TObject);
begin
Form3.ShowModal;
end;
{==============================================================================}
procedure TForm1.Hilfe1Click(Sender: TObject);
begin
Form4.Show;
end;
{==============================================================================}
procedure TForm1.Highscore1Click(Sender: TObject);
begin
Form5.ShowModal;
end;
{==============================================================================}
procedure TForm1.Steuerung1Click(Sender: TObject);
begin
Form6.Show;
end;
{==============================================================================}
procedure TForm1.Stopp1Click(Sender: TObject);
begin
if Zeit.Enabled = true // wenn Zeit läuft dann
then
begin
Zeit.Enabled := false; // Programm stoppen/ Zeit anhalten
end;
if Spielfeld.Enabled = true // wenn Oberfläche bedienbar
then
begin
Spielfeld.Enabled := false; // Oberfläche deaktivieren
end;
end;
{==============================================================================}
procedure TForm1.Fortsetzen1Click(Sender: TObject);
begin
if Zeit.Enabled = false // wenn Zeit nicht läuft dann
then
begin
Zeit.Enabled := true; // Programm starten/Zeit laufen lassen
end;
if Spielfeld.Enabled = false
then
begin
Spielfeld.Enabled := true;
end;
end;
{==============================================================================}
procedure TForm1.LeichtClick(Sender: TObject);
begin
NeuesSpiel;
Zeit.Enabled := true; // Uhr anschalten
Zeit.Interval := 500; // Zeitintervall beträgt 700 Millisekunden
Statusbar1.Panels[1].Text := 'Runden : 30';
Runden := 30;
Leicht.Enabled := False; // deaktiviert Leicht, da geladen
Mittel.Enabled := True;
Schwer.Enabled := True;
Statusbar1.Panels[0].Text := 'Punkte : 0';
Punkte := 0;
if Runden = 0 then
begin
Level :=Level+1;
Runden :=(Level-1)*5+30;
Zeit.Interval := Zeit.Interval-5;
end;
begin
if anzahlGleichfarbigerbloecke > 1
then
begin
GleicheFarbenLoeschen;
end;
end
end;
{==============================================================================}
procedure TForm1.MittelClick(Sender: TObject);
begin
NeuesSpiel;
Zeit.Enabled := true; // Uhr anschalten
Zeit.Interval := 350; // Zeitintervall beträgt 300 Millisekunden
Statusbar1.Panels[1].Text := 'Runden : 50';
Runden := 50;
Leicht.Enabled := True;
Mittel.Enabled := False; // deaktiviert Mittel, da geladen
Schwer.Enabled := True;
Statusbar1.Panels[0].Text := 'Punkte : 0';
Punkte := 0;
end;
{==============================================================================}
procedure TForm1.SchwerClick(Sender: TObject);
begin
NeuesSpiel;
Zeit.Enabled := true; // Uhr anschalten
Zeit.Interval := 200; // Zeitintervall beträgt 100 Millisekunden
Statusbar1.Panels[1].Text := 'Runden : 70';
Runden := 70;
Leicht.Enabled := True;
Mittel.Enabled := True;
Schwer.Enabled := False; // deaktiviert Schwer, da geladen
Statusbar1.Panels[0].Text := 'Punkte : 0';
Punkte := 0;
end;
{==============================================================================}
procedure TForm1.Spielmodus1Click(Sender: TObject);
begin
Zeit.Enabled := false;
Form9.ShowModal;
end;
{==============================================================================}
procedure TForm1.Musik1Click(Sender: TObject);
begin
Form7.ShowModal;
end;
{==============================================================================}
procedure TForm1.Musik2Click(Sender: TObject);
begin
Form11.ShowModal;
end;
{==============================================================================}
procedure TForm1.Musik3Click(Sender: TObject);
begin
Form12.ShowModal;
end;
{==============================================================================}
procedure TForm1.Memories1Click(Sender: TObject);
begin
Form2.ShowModal;
end;
{==============================================================================}
procedure TForm1.SwaggerJackin1Click(Sender: TObject);
begin
Form14.ShowModal;
end;
{==============================================================================}
end.
Private Nachricht sendenPosting in privater Nachricht zitieren
Jann1k
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star

Beiträge: 691
Dabei seit: 03.12.2006
Wohnort: Scharnhorst

Win XP
Borland Delphi 7
BeitragVerfasst: Sa 27.02.10 23:42  Antworten mit Zitat Beitrag melden
Einfach beim speichern der Blockanzahl überprüfen ob NeueBlockzahl > Alte Blockzahl

_________________
Viele Leute denken, Zeit sei wie ein Fluss, der sanft und sicher in eine Richtung fließt, ich aber habe das Antlitz der Zeit gesehen und ich sage euch sie haben Unrecht, Zeit ist ein Ozean im Sturm...
Private Nachricht sendenPosting in privater Nachricht zitieren
Swagger Jackin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star

(Threadstarter)

Beiträge: 26
Dabei seit: 21.02.2010



BeitragVerfasst: So 28.02.10 11:46  Antworten mit Zitat Beitrag melden
werd ich gleich mal ausprobieren, Vielen Dank :lol: :lol: :D

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

in GleichefarbenFinden habe ich:

ausblenden Delphi-Quelltext markieren
1:
2:
NeueBlockanzahl := anzahlgleichfarbigerblöcke;
AlteBlockanzahl := anzahlgleichfarbigerblöcke;


in unit13 zeige ich über FormShow das Label mit Ergebnis an:

ausblenden Delphi-Quelltext markieren
1:
2:
3:
if AlteBlockanzahl > NeueBlockanzahl
then Label4.Caption := 'Anzahl meist gelöschter Blöcke: '+InToStr(AlteBlockanzahl)
else Label4.Caption := 'Anzahl meist gelöschter Blöcke: '+InToStr(NeueBlockanzahl);


funktioniert nicht, fällt Lösung nicht richtig ein
Private Nachricht sendenPosting in privater Nachricht zitieren
Swagger Jackin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star

(Threadstarter)

Beiträge: 26
Dabei seit: 21.02.2010



BeitragVerfasst: So 28.02.10 21:32  Antworten mit Zitat Beitrag melden
okay habs selber rausbekommen
Thema geschlossen
Private Nachricht sendenPosting in privater Nachricht zitieren
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star

Beiträge: 2195
Dabei seit: 09.07.2005


XP
D3Prof, D6Pers.
BeitragVerfasst: So 28.02.10 21:54  Antworten mit Zitat Beitrag melden
user profile iconSwagger Jackin hat folgendes geschrieben Zum zitierten Posting springen:
okay habs selber rausbekommen
Thema geschlossen

Vieleicht solltest Du nicht ganz so Egoistisch sein und auch andere an deiner Lösung teilhaben lassen.
Private Nachricht sendenPosting in privater Nachricht zitieren
Swagger Jackin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star

(Threadstarter)

Beiträge: 26
Dabei seit: 21.02.2010



BeitragVerfasst: So 28.02.10 22:16  Antworten mit Zitat Beitrag melden
Moderiert von user profile iconNarses: Komplett-Zitat des letzten Beitrags entfernt.

Entschuldigung !!! :oops: :oops: :oops:
Private Nachricht sendenPosting in privater Nachricht zitieren
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
Beiträge vom vorherigen Thema anzeigen:   
home home