wxWidgets Tutorial Part II: Spiel mit mir
-
Hi
Erstmal muss ich auch sagen: Gute Einführung
Aber was mich interessiert:
Heißt es tatsächlich:
"Player X wins 4 games"Vielleicht ist mein Sprachgefühl ja wieder kaputt jetzt sogar im Englischen
Aber ich würde schreiben: Player X won 4 games
Was ist nun richtig?
Danke im Voraus
Gruß Patrick
-
Ich würde sagen beides
Das eine ist halt die Vergangenheitsform, wobei ich noch nicht so lange gespielt habe, das sie sinnvoll wäre
-
[klugscheiß]Ich würde eher sagen "Player has won 4 games" da er die Spiele zwar schon gewonnen hat, aber derzeit noch spielt.[/klugscheiß]
Zum Tutorial selbst: Gut struktiert und auch der Code ist gut lesbar, auch für diejenigen die wxWidgets nicht kenne.
lg, bloodycross
-
Dieser Beitrag wurde gelöscht!
-
Klingt nach einem Linkerfehler. Sind die Dateien auch korrekt im Projekt eingetragen?
-
Dieser Beitrag wurde gelöscht!
-
Also ich hab gerade das Zipfile im Original runter geladen, und das kompiliert hier ohne Probleme.
-
Dieser Beitrag wurde gelöscht!
-
Ich verstehe grade nicht so ganz wie ich das Programm compilieren soll (also den runtergeladenen Beispielcode) steh da total auf dem Schlauch.
Ich benutzte Linux (Ubuntu Intrepid) und den g++ compiler.
tree in meinem tictactoe ordner gibt:
.
|-- Game
| |-- FieldPanel.cpp
| |-- FieldPanel.hpp
| |-- GameLogic.cpp
| |-- GameLogic.hpp
| |-- GamePanel.cpp
| |-- GamePanel.hpp
| |-- SettingsDlg.cpp
|\-\- SettingsDlg.hpp |\-\- TurnEvent.cpp |\-\- TurnEvent.hpp |\-\- app.cpp |\-\- app.h |\-\- main.cpp |\-\- main.h |\-\- settings |\-\- tictactoe.cbp |\-\- tictactoe.depend |\-\- tictactoe.layout
-- wx_pch.hSind also alle Dateien da.
Compilieren tue ich mit:
g++ main.cpp `wx-config --libs` `wx-config --cxxflags` -o progaber er sagt er könne die GamePanel.hpp nicht finden, obwohl sie doch da ist??
was ist falsch?
-
Vielleicht müssen sich alle Datein im selben Ordner befinden?
-
Also entweder ist ein Fehler im Programm selbst was ich mir allerdings bei einem Tutorial nicht vorstellen möchte oder es liegt an dem folgenden Fehler...
Codeblocks couldnt parse wxs file because wxsmith is disabled...
Nach diesem Fehler hab ich mich jetzt schon durch etliche Foren gekämpft aber nichts gefunden. Es wäre schön wenn von euch vll einer Rat wüsste achja die Fehler post ich auch mal
||=== TICTACTOE, Debug ===|
C:\Users\Marcel\Desktop\Schule\Programmieren\WxWidgets\tictactoe\Game\FieldPanel.cpp||In member function 'void Game::FieldPanel::OnPaint(wxPaintEvent&)':|
C:\Users\Marcel\Desktop\Schule\Programmieren\WxWidgets\tictactoe\Game\FieldPanel.cpp|21|error: 'wxPaintDC' was not declared in this scope|
C:\Users\Marcel\Desktop\Schule\Programmieren\WxWidgets\tictactoe\Game\FieldPanel.cpp|21|error: expected ';' before 'dc'|
C:\Users\Marcel\Desktop\Schule\Programmieren\WxWidgets\tictactoe\Game\FieldPanel.cpp|22|error: 'dc' was not declared in this scope|
C:\Users\Marcel\Desktop\Schule\Programmieren\WxWidgets\tictactoe\Game\FieldPanel.cpp|26|error: variable 'wxPen pen' has initializer but incomplete type|
C:\Users\Marcel\Desktop\Schule\Programmieren\WxWidgets\tictactoe\Game\FieldPanel.cpp|35|error: variable 'wxPen pen' has initializer but incomplete type|
||=== Build finished: 5 errors, 0 warnings ===|Muss dazu sagen das ich noch nicht allzuviel Erfahrung mit wxwidgets habe da wir das Thema gerade begonnen haben. Aber auf diesen Fehler weiss unserer Programmierlehrer auch keinen Rat.
Mit freundlichen Grüßen
Tollmer
-
-
Tollmer schrieb:
Also entweder ist ein Fehler im Programm selbst was ich mir allerdings bei einem Tutorial nicht vorstellen möchte oder es liegt an dem folgenden Fehler...
Codeblocks couldnt parse wxs file because wxsmith is disabled...
Nach diesem Fehler hab ich mich jetzt schon durch etliche Foren gekämpft aber nichts gefunden. Es wäre schön wenn von euch vll einer Rat wüsste achja die Fehler post ich auch mal
||=== TICTACTOE, Debug ===|
C:\Users\Marcel\Desktop\Schule\Programmieren\WxWidgets\tictactoe\Game\FieldPanel.cpp||In member function 'void Game::FieldPanel::OnPaint(wxPaintEvent&)':|
C:\Users\Marcel\Desktop\Schule\Programmieren\WxWidgets\tictactoe\Game\FieldPanel.cpp|21|error: 'wxPaintDC' was not declared in this scope|
C:\Users\Marcel\Desktop\Schule\Programmieren\WxWidgets\tictactoe\Game\FieldPanel.cpp|21|error: expected ';' before 'dc'|
C:\Users\Marcel\Desktop\Schule\Programmieren\WxWidgets\tictactoe\Game\FieldPanel.cpp|22|error: 'dc' was not declared in this scope|
C:\Users\Marcel\Desktop\Schule\Programmieren\WxWidgets\tictactoe\Game\FieldPanel.cpp|26|error: variable 'wxPen pen' has initializer but incomplete type|
C:\Users\Marcel\Desktop\Schule\Programmieren\WxWidgets\tictactoe\Game\FieldPanel.cpp|35|error: variable 'wxPen pen' has initializer but incomplete type|
||=== Build finished: 5 errors, 0 warnings ===|Muss dazu sagen das ich noch nicht allzuviel Erfahrung mit wxwidgets habe da wir das Thema gerade begonnen haben. Aber auf diesen Fehler weiss unserer Programmierlehrer auch keinen Rat.
Also das sieht nach einem Problem mit den Pfaden aus.
Überprüfe doch bitte ob deine Pfade zu wx korrekt sind.
-
Heyho leute also mit dem Pfaden müsste das ja eig stimmen weil einfache Proejekte funktionieren ja auch.Das Testprojekt von wxSmith funktioniert übrigens auch.Das ist iwie komisch^^
aber dennohc einmal die Pfade die ich eingestellt habe:
Settings->Compiler und Debuggersettings->Linker Settings->C:\Program Files\CodeBlocks\wxWidgets2.8\lib\gcc_dll
Settings->Compiler und Debuggersettings->Search Directories->C:\Program Files\CodeBlocks\wxWidgets2.8\lib\gcc_dll
Settings->Compiler und Debuggersettings->Toolchain Executables->Additional Paths->C:\Program Files\CodeBlocks\wxWidgets2.8\lib\gcc_dll
Mit freundlichen Grüßen
Tollmer
-
Und das Include Verzeichnis?
-
Also entweder ist ein Fehler im Programm selbst was ich mir allerdings bei einem Tutorial nicht vorstellen möchte oder es liegt an dem folgenden Fehler...
Codeblocks couldnt parse wxs file because wxsmith is disabled...
Nach diesem Fehler hab ich mich jetzt schon durch etliche Foren gekämpft aber nichts gefunden. Es wäre schön wenn von euch vll einer Rat wüsste achja die Fehler post ich auch mal
||=== TICTACTOE, Debug ===|
C:\Users\Marcel\Desktop\Schule\Programmieren\WxWidgets\tictactoe\Game\FieldPanel.cpp||In member function 'void Game::FieldPanel::OnPaint(wxPaintEvent&)':|
C:\Users\Marcel\Desktop\Schule\Programmieren\WxWidgets\tictactoe\Game\FieldPanel.cpp|21|error: 'wxPaintDC' was not declared in this scope|
C:\Users\Marcel\Desktop\Schule\Programmieren\WxWidgets\tictactoe\Game\FieldPanel.cpp|21|error: expected ';' before 'dc'|
C:\Users\Marcel\Desktop\Schule\Programmieren\WxWidgets\tictactoe\Game\FieldPanel.cpp|22|error: 'dc' was not declared in this scope|
C:\Users\Marcel\Desktop\Schule\Programmieren\WxWidgets\tictactoe\Game\FieldPanel.cpp|26|error: variable 'wxPen pen' has initializer but incomplete type|
C:\Users\Marcel\Desktop\Schule\Programmieren\WxWidgets\tictactoe\Game\FieldPanel.cpp|35|error: variable 'wxPen pen' has initializer but incomplete type|
||=== Build finished: 5 errors, 0 warnings ===|Muss dazu sagen das ich noch nicht allzuviel Erfahrung mit wxwidgets habe da wir das Thema gerade begonnen haben. Aber auf diesen Fehler weiss unserer Programmierlehrer auch keinen Rat.
Mit freundlichen Grüßen
TollmerHab mit wxDevC++ die gleiche Fehlermeldungen gehabt.
Folgende Nachtrag in FieldPanel.cpp hat das problem gelöscht......
#include "../TurnEvent.hpp"
#include <wx/wx.h>
namespace Game
.......Gruß
Jordan
-
Ich hab n kleines Problem
Ih kompiliere zwar mit der 2.8er , aber mein minGW wirft folgendes rausld.exe||cannot find -lwx_msw_core-2.6|
Da ich aber keine Ahnung hab, warum er die 2.6er benutzen will , obwohl ich 2.8 eingestellt hab ist mir das fragwürdig.
Herzliche Grüße
nt0rPS: C++0x weg hilft vorallem bei "strdup" einiges
EDIT: Hat sich... mehr oder weniger... erledigt. Hab einfach neues Projekt mit 2.8 gemacht und alles reingezogen.
-
GreenDelta schrieb:
Ich verstehe grade nicht so ganz wie ich das Programm compilieren soll (also den runtergeladenen Beispielcode) steh da total auf dem Schlauch.
Ich benutzte Linux (Ubuntu Intrepid) und den g++ compiler.
tree in meinem tictactoe ordner gibt:
.
|-- Game
| |-- FieldPanel.cpp
| |-- FieldPanel.hpp
| |-- GameLogic.cpp
| |-- GameLogic.hpp
| |-- GamePanel.cpp
| |-- GamePanel.hpp
| |-- SettingsDlg.cpp
|\-\- SettingsDlg.hpp |\-\- TurnEvent.cpp |\-\- TurnEvent.hpp |\-\- app.cpp |\-\- app.h |\-\- main.cpp |\-\- main.h |\-\- settings |\-\- tictactoe.cbp |\-\- tictactoe.depend |\-\- tictactoe.layout
-- wx_pch.hSind also alle Dateien da.
Compilieren tue ich mit:
g++ main.cpp `wx-config --libs` `wx-config --cxxflags` -o progaber er sagt er könne die GamePanel.hpp nicht finden, obwohl sie doch da ist??
was ist falsch?Nur damit andere bescheid wissen die das gleiche Problem mit dem g++ haben: der g++ benötigt ALLE datein des Projektes. das heist jede Datei die mit cpp endet und zum Projekt gehört muss als Quelle angegeben werden. Da das ein sehr langer Befehl wäre gibt es ja auch makefiles....
-
Zunächst einmal vielen vielen Dank für das ausführliche Tutorial das du schriebst.
Tutorial 1 verschaffte mir nun auch einen schnellen Einstieg in wxWidgets.Beim zweiten Tutorial habe ich leider noch ein linker-Problem!
Vielleicht könnte mir ja jemand helfen? Folgender Programmabschnitt scheint nicht linken zu gehen.void FieldPanel::OnLeftClick(wxMouseEvent& event) { if(status == GameLogic::EMPTY) { status = GameLogic::X; Refresh();// Panel aktualisieren TurnEvent myevent(GameLogic::X,id,EVT_TURN_CHANGE); GetParent()->AddPendingEvent(myevent); } }
DevC++ gibt dazu folgende Fehlermeldung:
In member function 'void Game::FieldPanel::OnLeftClick(wxMouseEvent&)':
'virtual void wxEvtHandler::AddPendingEvent(const wxEvent&)' is inaccessible
within this contextIch hoffe jemand kann mir helfen. Es ist bestimmt wieder trivial, allerdings bin ich noch ganz neu in wxWidget.
Vielen Dank
-
Alex der Gast schrieb:
Zunächst einmal vielen vielen Dank für das ausführliche Tutorial das du schriebst.
Tutorial 1 verschaffte mir nun auch einen schnellen Einstieg in wxWidgets.Beim zweiten Tutorial habe ich leider noch ein linker-Problem!
Vielleicht könnte mir ja jemand helfen? Folgender Programmabschnitt scheint nicht linken zu gehen.void FieldPanel::OnLeftClick(wxMouseEvent& event) { if(status == GameLogic::EMPTY) { status = GameLogic::X; Refresh();// Panel aktualisieren TurnEvent myevent(GameLogic::X,id,EVT_TURN_CHANGE); GetParent()->AddPendingEvent(myevent); } }
DevC++ gibt dazu folgende Fehlermeldung:
In member function 'void Game::FieldPanel::OnLeftClick(wxMouseEvent&)':
'virtual void wxEvtHandler::AddPendingEvent(const wxEvent&)' is inaccessible
within this contextIch hoffe jemand kann mir helfen. Es ist bestimmt wieder trivial, allerdings bin ich noch ganz neu in wxWidget.
Vielen Dank
http://clicktobegin.net/programming/why-you-shouldnt-use-dev-c/