|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Roland Chastain
Anmeldungsdatum: 05.12.2011 Beiträge: 193 Wohnort: Frankreich
|
Verfasst am: 13.08.2012, 09:52 Titel: |
|
|
Vielen Dank, Mutton ! |
|
Nach oben |
|
|
Roland Chastain
Anmeldungsdatum: 05.12.2011 Beiträge: 193 Wohnort: Frankreich
|
Verfasst am: 13.08.2012, 19:58 Titel: |
|
|
Mehrere wichtige Verbesserungen heute !
Code: | event->EXITEVENT = 1 |
Code: | loadCustomLanguage(default, langue, "language/") |
ALWIM hat Folgendes geschrieben: | Programm hängt sich manchmal (bei Schach?) auf. |
Gefunden !
Code: | function meilleurCoup as coup
'
dim as string liste1 = possibles(courante)
dim as string liste2 = admissibles(liste1)
'
if liste2 = "" and liste1 <> "" then liste2 = liste1
'
dim as string liste3 = meilleurs(liste2) |
Eschecs 0.8.4 |
|
Nach oben |
|
|
Roland Chastain
Anmeldungsdatum: 05.12.2011 Beiträge: 193 Wohnort: Frankreich
|
Verfasst am: 10.01.2013, 16:09 Titel: |
|
|
Hallo Freunde !
Ich habe ein neues Programm begonnen.
Kritik und Rat wilkommen ! |
|
Nach oben |
|
|
ALWIM
Anmeldungsdatum: 08.08.2006 Beiträge: 1047 Wohnort: Niederbayern
|
Verfasst am: 10.01.2013, 21:02 Titel: |
|
|
Fehler/Faute:
Deutsch:
Zitat: | Schach wird nicht erkannt! König steht im Schach und kann anderen Zug machen.
König kann geschlagen werden. Beim Schach nicht erlaubt! |
Französisch:
Zitat: | échecs ne sont pas reconnus! Le roi se trouve dans les échecs et peut faire l'autre train.
Le roi peut être battu. Aux échecs ne permet pas! |
******************************************************
Positives/Positif:
Deutsch:
Zitat: | En Passant funktioniert!
Umwandlung funktioniert!
Rochade funktioniert! |
Französisch:
Zitat: | En Passant fonctionne
La transformation de paysan fonctionne
Rochade fonctionne |
******************************************************
Negatives/Négatif:
Deutsch:
Zitat: | Keine schöne Grafik
Kein Computergegner?
Keine Fünfzig-Zügeregel?
Keine dreifache Stellungswiederholung (schwierig umzusetzen) |
Französisch:
Zitat: | Aucune belle graphique
Aucun opposant informatique ?
Aucune règle de trains cinquante ?
Aucune répétition de position triple (déplacer difficile) |
_________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
|
Roland Chastain
Anmeldungsdatum: 05.12.2011 Beiträge: 193 Wohnort: Frankreich
|
Verfasst am: 10.01.2013, 21:49 Titel: |
|
|
Danke, ALWIM !
Ja, das ist wahr, was du sagest : das Programm ist unvollendet.
Aber da sind neue dateien. |
|
Nach oben |
|
|
Roland Chastain
Anmeldungsdatum: 05.12.2011 Beiträge: 193 Wohnort: Frankreich
|
Verfasst am: 20.01.2013, 20:23 Titel: |
|
|
Ich habe mein GUI wieder gemacht.
@muttonhead
Das ClickMapGadget kompiliert nicht mit Version 0.8.3.8. Es ist kein Problem, denn ich kann die alte Version benutzen, aber wenn du habest frei Zeit...
Zitat: | C:\FreeBasic\fbc -s console "gui_02.bas"
C:\FreeBasic\inc\sGUI\ClickMapGadget.bas(34) error 18: Element not defined, captionalt in 'tmpgad->captionalt=""'
C:\FreeBasic\inc\sGUI\ClickMapGadget.bas(34) error 3: Expected End-of-Line, found '=' in 'tmpgad->captionalt=""' |
Eschecs 0.8.5 alpha |
|
Nach oben |
|
|
Roland Chastain
Anmeldungsdatum: 05.12.2011 Beiträge: 193 Wohnort: Frankreich
|
Verfasst am: 28.01.2013, 17:33 Titel: |
|
|
ALWIM hat Folgendes geschrieben: | Keine schöne Grafik
Kein Computergegner?
Keine Fünfzig-Zügeregel?
Keine dreifache Stellungswiederholung (schwierig umzusetzen) |
Alles getan !
0.8.5 |
|
Nach oben |
|
|
ALWIM
Anmeldungsdatum: 08.08.2006 Beiträge: 1047 Wohnort: Niederbayern
|
Verfasst am: 29.01.2013, 02:14 Titel: |
|
|
Roland Chastain hat Folgendes geschrieben: | ALWIM hat Folgendes geschrieben: | Keine schöne Grafik
Kein Computergegner?
Keine Fünfzig-Zügeregel?
Keine dreifache Stellungswiederholung (schwierig umzusetzen) |
Alles getan !
0.8.5 |
Bauernumwandlung funktioniert nicht! (Grafikfehler??)
Gewinne aber relativ leicht. _________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
|
Roland Chastain
Anmeldungsdatum: 05.12.2011 Beiträge: 193 Wohnort: Frankreich
|
Verfasst am: 29.01.2013, 05:34 Titel: |
|
|
ALWIM hat Folgendes geschrieben: | Bauernumwandlung funktioniert nicht! (Grafikfehler??) |
Ach, ich habe es vergessen !
Code: | if automatic then
this.placement(iA) *= queen
else
'--- console ---
EraseText(23,3,33)
WriteText(23,03,8,0,"k")
WriteText(23,04,7,0,"n") : WriteText(23,05,8,0,"ight")
WriteText(23,10,7,0,"b") : WriteText(23,11,8,0,"ishop")
WriteText(23,17,7,0,"r") : WriteText(23,18,8,0,"ook")
WriteText(23,22,7,0,"q") : WriteText(23,23,8,0,"ueen")
while not((Len(s) = 1) andAlso InStr("nbrqNBRQ", s))
s = this.userInput("What do you choose ?")
wend
EraseText(22,3,33)
EraseText(23,3,33)
EraseText(24,3,33)
'--- |
Danke sehr, ALWIM !
[edit]
Getan, aber du kannst nur in Dame umwandeln.
Zuletzt bearbeitet von Roland Chastain am 29.01.2013, 07:35, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
ichhalt
Anmeldungsdatum: 25.01.2013 Beiträge: 39
|
Verfasst am: 29.01.2013, 07:28 Titel: |
|
|
Hast du dir mal wx-c angeschaut als gui fuer dein projekt? Dazu gibts im Portal den visual wx-c designer unter projektvorstellungen! Und ein schoenes tutorial ist auch vorhanden |
|
Nach oben |
|
|
Roland Chastain
Anmeldungsdatum: 05.12.2011 Beiträge: 193 Wohnort: Frankreich
|
Verfasst am: 29.01.2013, 07:46 Titel: |
|
|
ichhalt hat Folgendes geschrieben: | Hast du dir mal wx-c angeschaut als gui fuer dein projekt? Dazu gibts im Portal den visual wx-c designer unter projektvorstellungen! Und ein schoenes tutorial ist auch vorhanden |
Sehr interessant ! Aber ich bin Mitglied der Gesellschaft der sGUI Freunde. |
|
Nach oben |
|
|
ichhalt
Anmeldungsdatum: 25.01.2013 Beiträge: 39
|
Verfasst am: 29.01.2013, 07:58 Titel: |
|
|
Du koenntest auch nen player vs player modus einbauen mit tsne
EDIT: eventuell tsne play benutzen |
|
Nach oben |
|
|
Roland Chastain
Anmeldungsdatum: 05.12.2011 Beiträge: 193 Wohnort: Frankreich
|
Verfasst am: 29.01.2013, 10:56 Titel: |
|
|
ichhalt hat Folgendes geschrieben: | Du koenntest auch nen player vs player modus einbauen mit tsne
EDIT: eventuell tsne play benutzen |
Gute Idee. |
|
Nach oben |
|
|
Muttonhead
Anmeldungsdatum: 26.08.2008 Beiträge: 564 Wohnort: Jüterbog
|
Verfasst am: 29.01.2013, 17:41 Titel: |
|
|
Zitat: | Das ClickMapGadget kompiliert nicht mit Version 0.8.3.8. Es ist kein Problem, denn ich kann die alte Version benutzen, aber wenn du habest frei Zeit... |
sorry, bin erst jetzt dazu gekommen...
Funktioniert diese Variante?
Code: | declare function AddClickMapGadget (event as EventHandle ptr,x as integer,y as integer,fm as string="") as Gadget ptr
declare function CMGActions(refgad as Gadget ptr,action as integer) as integer
declare sub DrawClickMapGadget (gad as Gadget ptr)
declare function GetClickMapColor (gad as gadget ptr) as integer
'Steuerungsvariablen
'Ctrl(15) angeklickte Farbnummer aus der MaskenBMP (ohne Transparenz)
function AddClickMapGadget (event as EventHandle ptr,x as integer,y as integer,fm as string="") as Gadget ptr
function=0
dim as Gadget ptr tmpgad
dim as integer w,h,ff=freefile
open fm for binary as #ff
get #ff, 19, w
get #ff, 23, h
close #ff
tmpgad=new Gadget
if tmpgad then
tmpgad->event=event
tmpgad->nextGadget=0
tmpgad->sel=0
tmpgad->act=0
tmpgad->posx=x
tmpgad->posy=y
tmpgad->gadw=w
tmpgad->gadh=h
tmpgad->texto=new TextObject
tmpgad->affiliation=1
tmpgad->caption=""
if fm>"" then
tmpgad->Images(1)=imagecreate(w,h)
bload fm,tmpgad->Images(1)
end if
tmpgad->DoDraw =@DrawClickMapGadget
tmpgad->DoAction =@CMGActions
tmpgad->DoUpdate =@UpdateGadgetDummy'falls Veränderungen am TO ein Update erfordern, im Zeifel einfach den Dummy belassen oder die DoDraw Routine nehmen
'SaveBackGround(tmpgad)
event->ChainGadget (tmpgad)
function=tmpgad
end if
end function
function CMGActions(refgad as Gadget ptr,action as integer) as integer
function=0
select case action
case GADGET_HIT 'Control grad frisch gedrückt
case GADGET_HOLD 'Control wird gehalten, Maus über dem Control
case GADGET_HOLDOFF 'Control wird gehalten, Maus neben dem Control
case GADGET_RELEASE 'Control regulär losgelassen
refgad->Ctrl(0)=refgad->event->MOUSEX - refgad->posx
refgad->Ctrl(1)=refgad->event->MOUSEY - refgad->posy
refgad->Ctrl(15)=point(refgad->Ctrl(0),refgad->Ctrl(1),refgad->Images(1)) and &H00FFFFFF'angeklickte Farbe sichern
function=1
case GADGET_RELEASEOFF 'Control losgelassen, dabei ist Maus neben dem Control
case GADGET_KEYBOARD 'Keyboardauswertung
case GADGET_KEYBOARDOFF'Abbruch Keyboardauswertung
end select
end function
sub DrawClickMapGadget (gad as Gadget ptr)
end sub
function GetClickMapColor (gad as gadget ptr) as integer
function=gad->Ctrl(15)
end function
|
oder die entsprechende Zeile einfach kommentieren.
Ich hatte das Gadget UDT geändert und der Eintrag "->captionalt" ist entfallen
Mutton |
|
Nach oben |
|
|
Roland Chastain
Anmeldungsdatum: 05.12.2011 Beiträge: 193 Wohnort: Frankreich
|
Verfasst am: 29.01.2013, 18:19 Titel: |
|
|
Es funktioniert perfekt. Danke viel, Muttonhead !
|
|
Nach oben |
|
|
Eternal_pain
Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
|
Nach oben |
|
|
Roland Chastain
Anmeldungsdatum: 05.12.2011 Beiträge: 193 Wohnort: Frankreich
|
Verfasst am: 01.02.2013, 22:04 Titel: |
|
|
Sehr hübsch, danke ! Ich werde das Code sehen.
[edit]
Kein Code Beispiel ? Wie kann man das benutzen ? |
|
Nach oben |
|
|
Eternal_pain
Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 02.02.2013, 07:27 Titel: |
|
|
Du kannst sie in einem 3D-Programm laden (zB Blender) und dort bearbeiten und 'rendern'
Um nicht den gleichen fehler wie ich zu machen, beim rendern AntiAliasing abstellen, sonst haste hässliche ränder
Dann im Grafikprogramm editieren:
Als Beispiel: http://eternalpain.tgp-gaming.de/WWWZIP/standard.bmp
Code: |
Const FigureSetting as String = "standard.bmp"
#Define Bauer &h00
#Define Turm &h01
#Define Springer &h02
#Define Laeufer &h03
#Define Dame &h04
#Define Koenig &h05
#Define White &h00
#Define Black &h01
Type Figure
Declare Constructor()
Declare Destructor()
Declare SUB Draw(byval FigureType as Integer, FigureColor as Integer, byval PositionX as Integer, byval PositionY as Integer)
Private:
FigureImage as any ptr
FigureWidth as Integer
FigureHeight as Integer
End Type
Constructor Figure()
DIM F as Integer = FREEFILE
Dim ImageWidth as UInteger
Dim ImageHeight as UInteger
OPEN FigureSetting FOR BINARY ACCESS READ AS #F
GET #F, 19, ImageWidth
GET #F, , ImageHeight
Close #F
FigureImage = ImageCreate(ImageWidth,ImageHeight,,32)
BLoad FigureSetting, FigureImage
FigureWidth = ImageWidth/6
FigureHeight = ImageHeight/2
End Constructor
Destructor Figure()
Imagedestroy(FigureImage)
FigureImage = 0
FigureWidth = 0
FigureHeight = 0
End Destructor
SUB Figure.Draw(byval FigureType as Integer, FigureColor as Integer, byval PositionX as Integer, byval PositionY as Integer)
Put(PositionX,PositionY),FigureImage,(FigureType*FigureWidth,FigureColor*FigureHeight)-((FigureWidth-1)+FigureType*FigureWidth,(FigureHeight-1)+FigureColor*FigureHeight),trans
End SUB
'' Example:
Screenres 640,480,32 '' Screen must been set
For xx as integer=0 to 10
For yy as integer=0 to 10
line(xx*40,yy*40)-(xx*40+39,yy*40+39),rnd*&hFFFFFF,bf
next yy
next xx
Dim ChessFigure as Figure
ChessFigure.Draw(Bauer,White,100,100)
ChessFigure.Draw(Bauer,Black,200,100)
ChessFigure.Draw(Dame,White,300,100)
sleep
|
Nicht perfekt, aber erklärt wie ich das meine
Du könntest die obj dateien aber auch mit einer 3D-Engine (zB OpenB3D) direkt laden und benutzen... _________________
|
|
Nach oben |
|
|
Roland Chastain
Anmeldungsdatum: 05.12.2011 Beiträge: 193 Wohnort: Frankreich
|
Verfasst am: 02.02.2013, 15:40 Titel: |
|
|
Interessant ! Danke, Eternal_pain. |
|
Nach oben |
|
|
Roland Chastain
Anmeldungsdatum: 05.12.2011 Beiträge: 193 Wohnort: Frankreich
|
Verfasst am: 27.10.2013, 23:21 Titel: |
|
|
Hallo !
Da ist eine Alpha Version meines neues Programms.
Eschecs 0.8.6.
|
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|