Pokerspiel
-
Ich weiß nicht genau, ob ich hier richtig bin, ich will auch ein Kartenspiel programmieren, den Programmablauf habe ich in Pascal programmiert, ja ich weiß komisch aber wahr.
Mit TurboPascal direkt kann ich aber nichts grafisch darstellen, deshalb greife ich auf API-Funktionen zurück.Zum Kartenspiel: ich hätte gern einen Tisch in der Mittee des Fenster, auf dem karten sind. und um den Tisch ständig aktualisierende Texte.
Soweit bin ich:
{$APPTYPE GUI} program Kartenspiel; uses Windows,Wincrt; {$r name.res} const AppName = 'Kartenspiel'; var AMessage: Msg; hWindow: HWnd; dcWindow : HDC; PROCEDURE Throw(throw_string : pChar); begin MessageBox(0, throw_string, 'Error', MB_OK); Halt(0); end; FUNCTION WindowProc(Window: HWnd; AMessage, WParam, LParam: Longint): Longint; stdcall; export; begin WindowProc := 0; case AMessage of WM_ACTIVATE: begin end; WM_PAINT: begin dcWindow := GetDC(hWindow); RoundRect(dcWindow,0,0,600,300,100,100); TextOut(dcWindow, 50, 1, 'Einfache Textausgabe!', 21); ReleaseDC(hWindow, dcWindow); end; WM_DESTROY: begin PostQuitMessage(0); Exit; end; end; WindowProc := DefWindowProc(Window, AMessage, WParam, LParam); end; PROCEDURE WindowRegister; var WindowClass: WndClass; begin WindowClass.Style := cs_hRedraw or cs_vRedraw; WindowClass.lpfnWndProc := WndProc(@WindowProc); WindowClass.cbClsExtra := 0; WindowClass.cbWndExtra := 0; WindowClass.hInstance := system.MainInstance; WindowClass.hIcon := LoadIcon(system.MainInstance,makeintresource(1)); WindowClass.hCursor := LoadCursor(0, idc_Arrow); WindowClass.hbrBackground := GetStockObject(WHITE_BRUSH); WindowClass.lpszMenuName := nil; WindowClass.lpszClassName := 'WinClass'; if RegisterClass(WindowClass) <> 0 = false then Throw('Could not Register Window!'); end; PROCEDURE WindowCreate; begin hWindow := CreateWindow('WinClass', AppName, ws_OverlappedWindow, cw_UseDefault, cw_UseDefault, cw_UseDefault, cw_UseDefault, 0, 0, system.MainInstance, nil); if hWindow <> 0 then begin ShowWindow(hWindow, CmdShow); UpdateWindow(hWindow); end; if longint(hWindow) = 0 then Throw('Could not create Window!'); end; begin WindowRegister; WindowCreate; while GetMessage(@AMessage, 0, 0, 0) do begin TranslateMessage(AMessage); DispatchMessage(AMessage); end; Halt(AMessage.wParam); end.Nicht viel aber schon mal der umriss des Tisches, als abgerundetes Rechteck.
Jetzt könnt ihr mir sicher auch sagen, ob ich hier im Forum richtig bin.Fragen: Wie kann ich das Rechteck nun mit Farben ausfüllen?
-
Falsches Forum, nur für C/C++ ...
-
CodeFinder schrieb:
Falsches Forum, nur für C/C++ ...
Quatsch...
-
Mach die Graphic mit Bitmaps und zeig diese an. Das ganze mit irgendwelchen Zeichenfunktionen zusammenzufrimeln ist viel zu aufwendig.