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:
| unit Unit3;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, ExtCtrls, ComCtrls;
type TForm3 = class(TForm) MainMenu1: TMainMenu; Spiel1: TMenuItem; Beenden1: TMenuItem; Label1: TLabel; Label2: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; Label13: TLabel; Label14: TLabel; Label15: TLabel; Label17: TLabel; Label3: TLabel; Label16: TLabel; Hilfe1: TMenuItem; Felder1: TMenuItem; Label18: TLabel; Label19: TLabel; Label20: TLabel; Label21: TLabel; Label22: TLabel; Label23: TLabel; Label24: TLabel; Label25: TLabel; Label26: TLabel; Label27: TLabel; Label28: TLabel; Label29: TLabel; Label30: TLabel; Label31: TLabel; Label32: TLabel; Label33: TLabel; Label34: TLabel; Label35: TLabel; Label36: TLabel; Label37: TLabel; Label38: TLabel; Label39: TLabel; Label40: TLabel; Label41: TLabel; Label42: TLabel; Label43: TLabel; Label44: TLabel; Label45: TLabel; Label46: TLabel; Label47: TLabel; Label48: TLabel; Label49: TLabel; Label50: TLabel; Label51: TLabel; Label52: TLabel; Label53: TLabel; Label54: TLabel; Label55: TLabel; Label56: TLabel; Label57: TLabel; Label58: TLabel; Label59: TLabel; Label60: TLabel; Label61: TLabel; Label62: TLabel; Label63: TLabel; Label64: TLabel; Label65: TLabel; Label66: TLabel; Label67: TLabel; Label68: TLabel; Label69: TLabel; Label70: TLabel; Label71: TLabel; Label72: TLabel; Label73: TLabel; Label74: TLabel; Label75: TLabel; Label76: TLabel; Label77: TLabel; Label78: TLabel; Label79: TLabel; Label80: TLabel; Label81: TLabel; Label82: TLabel; Label83: TLabel; Label84: TLabel; Label85: TLabel; Label86: TLabel; Label87: TLabel; Label88: TLabel; Label89: TLabel; Label90: TLabel; Label91: TLabel; Label92: TLabel; Label93: TLabel; Label94: TLabel; Label95: TLabel; Label96: TLabel; Label97: TLabel; Label98: TLabel; Label99: TLabel; Label100: TLabel; Label101: TLabel; Label102: TLabel; Label103: TLabel; Label104: TLabel; Label105: TLabel; Label106: TLabel; Label107: TLabel; Label108: TLabel; Label109: TLabel; Label110: TLabel; Label111: TLabel; Label112: TLabel; Label113: TLabel; Label114: TLabel; Label115: TLabel; Label116: TLabel; Label117: TLabel; Label118: TLabel; Label119: TLabel; Label120: TLabel; Label121: TLabel; Label122: TLabel; Label123: TLabel; Label124: TLabel; Label125: TLabel; Label126: TLabel; Label127: TLabel; Label128: TLabel; Label129: TLabel; Label130: TLabel; Label131: TLabel; Label132: TLabel; Label133: TLabel; Label134: TLabel; Label135: TLabel; Label136: TLabel; Label137: TLabel; Label138: TLabel; Label139: TLabel; Label140: TLabel; Label141: TLabel; Label142: TLabel; Label143: TLabel; Label144: TLabel; Label145: TLabel; Label146: TLabel; Label147: TLabel; Label148: TLabel; Button1: TButton; Button2: TButton; Label149: TLabel; Label150: TLabel; Label151: TLabel; Label152: TLabel; Label153: TLabel; Label154: TLabel; Image1: TImage; Label155: TLabel; Label156: TLabel; Label157: TLabel; StatusBar1: TStatusBar; Timer1: TTimer; Image2: TImage; Image3: TImage; Image4: TImage; Button3: TButton; Image5: TImage; Image6: TImage; Image7: TImage; procedure Beenden1Click(Sender: TObject); procedure Felder1Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); private public end;
Type sPos= array[1..144,0..2] of integer; Type Sp= array[1..5] of integer;
var Form3: TForm3; c,d,e,i,spieler: integer; P:Sp; imagearray : array[1..6] of TImage; f2 : TFileStream; pic : TBitmap;
var s1,s2,s3,s4,s5,s6,sg: integer;
const sFeld: sPos = ((0,1,1),(0,2,2),(0,3,3),(0,4,1),(0,5,4),(0,6,3),(1,6,2),(2,6,3),(3,6,4),(3,5,3),(3,4,5), (4,4,3),(5,4,4),(6,4,3),(7,4,2),(7,3,1),(7,2,3),(7,1,3),(7,0,5),(8,0,4),(9,0,6),(9,1,2),(9,2,4),(9,3,2),(9,4,2),(9,5,2),(9,6,2),(9,7,5), (8,7,2),(7,7,1),(6,7,3),(5,7,7),(5,8,5),(5,9,2),(5,10,3),(6,10,2),(7,10,3),(8,10,1),(8,11,5),(8,12,3),(7,12,2),(6,12,3), (5,12,2),(4,12,2),(4,13,2),(4,14,1),(4,15,3),(4,16,5),(3,16,3),(2,16,2),(1,16,3),(3,12,2),(2,12,1),(1,12,1),(0,12,3),(0,13,3),(0,14,5),(0,15,2),(0,16,1), (0,17,3),(0,18,3),(1,18,3),(2,18,5),(3,18,2),(4,18,2),(5,18,3),(6,18,2),(7,18,5),(8,18,3),(9,18,1),(10,18,1),(11,18,1),(11,17,2),(11,16,2), (11,15,2),(11,14,5),(11,13,2),(11,12,3),(11,11,2),(11,10,1),(11,9,3),(11,8,2),(11,7,5),(11,6,3),(11,5,2),(12,5,1),(13,5,2),(14,5,1), (12,9,2),(13,9,5),(14,9,1),(14,8,2),(14,6,5),(15,6,2),(16,6,3),(16,7,1),(16,8,2),(16,9,3),(16,10,3),(16,11,2),(16,12,3),(16,13,2),(15,13,1), (14,13,1),(13,13,2),(13,14,2),(13,15,2),(14,15,5),(15,15,2),(16,15,2),(16,16,2),(16,17,2),(15,17,2),(14,17,1),(13,17,5),(13,18,2),(13,19,1), (14,19,3),(15,19,1),(16,19,2),(17,19,2),(18,19,5),(18,18,2),(18,17,1),(18,16,3),(18,15,2),(18,14,3),(18,13,1),(18,12,5),(18,11,3),(18,10,1), (18,9,2),(18,8,3),(18,7,5),(18,6,3),(18,5,1),(18,4,3),(18,3,2),(18,2,3),(18,1,5),(17,1,2),(16,1,2),(15,1,1),(14,1,8));
implementation
uses Unit1, Unit2, Unit4, Unit5, Unit6;
{$R *.DFM}
procedure TForm3.Beenden1Click(Sender: TObject); begin Form1.close; Form2.close; Form3.close; end;
procedure TForm3.Felder1Click(Sender: TObject); begin Form4.show; end;
procedure TForm3.Button1Click(Sender: TObject); var a,s,j,bild:integer; begin begin s:=spieler; randomize; a:=random(10)+1; i:=P[s]; P[s]:=P[s]+a; label156.caption:= inttostr(P[s]); showmessage('Sie dürfen '+inttostr(a)+' Felder gehen.'); repeat i:= i+1; label156.caption:= inttostr(P[s]); imagearray[s].left := sFeld[i,1]*40+48; imagearray[s].top := sFeld[i,0]*40+40; if i<44 then begin form5.CheckBox1.Checked:= false; form5.CheckBox2.Checked:= false; end; if i= 44 then begin form5.show; P[s]:=44; break; end; if form5.CheckBox1.checked then if i=52 then begin; P[s]:=58+a; i:=i+a; end; if form5.CheckBox2.checked then if i=45 then begin; P[s]:=51+a; i:=i+a; end; if i= 81 then begin form6.show; P[s]:=81; break; end; if form6.CheckBox1.checked then if i=88 then P[s]:=92+a; if form6.CheckBox2.checked then if i=82 then P[s]:=88+a; if i>=93 then begin image1.left := sFeld[i,1]*40+48+24; image1.top := sFeld[i,0]*40+40; end; until i=P[s]; messagebeep(8); form3.Button2.show; end; end;
procedure TForm3.Button2Click(Sender: TObject);
begin if form2.CheckBox1.checked then s1:=1 else s1:=0; if form2.CheckBox2.checked then s2:=1 else s2:=0; if form2.CheckBox3.checked then s3:=1 else s3:=0; if form2.CheckBox4.checked then s4:=1 else s4:=0; if form2.CheckBox5.checked then s5:=1 else s5:=0; if form2.CheckBox6.checked then s6:=1 else s6:=0; sg:= s1+s2+s3+s4+s5+s6-1; if spieler=sg then spieler:=-1; spieler:= spieler+1; form3.Button1.show; form3.Button2.hide; end;
procedure TForm3.Timer1Timer(Sender: TObject); var zeit:integer; begin statusbar1.Panels.Items[1].Text:= timetostr(now); statusbar1.Panels.Items[2].Text:= datetostr(now); end; END. |