Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Eschecs 1.0 (Schachprogramm)
Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 193
Wohnort: Frankreich

BeitragVerfasst am: 13.08.2012, 09:52    Titel: Antworten mit Zitat

Vielen Dank, Mutton ! lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 193
Wohnort: Frankreich

BeitragVerfasst am: 13.08.2012, 19:58    Titel: Antworten mit Zitat

Mehrere wichtige Verbesserungen heute ! happy

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 193
Wohnort: Frankreich

BeitragVerfasst am: 10.01.2013, 16:09    Titel: Antworten mit Zitat

Hallo Freunde !

Ich habe ein neues Programm begonnen.

Kritik und Rat wilkommen ! happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1047
Wohnort: Niederbayern

BeitragVerfasst am: 10.01.2013, 21:02    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 193
Wohnort: Frankreich

BeitragVerfasst am: 10.01.2013, 21:49    Titel: Antworten mit Zitat

Danke, ALWIM !

Ja, das ist wahr, was du sagest : das Programm ist unvollendet.

Aber da sind neue dateien. zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 193
Wohnort: Frankreich

BeitragVerfasst am: 20.01.2013, 20:23    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 193
Wohnort: Frankreich

BeitragVerfasst am: 28.01.2013, 17:33    Titel: Antworten mit Zitat

ALWIM hat Folgendes geschrieben:
Keine schöne Grafik
Kein Computergegner?
Keine Fünfzig-Zügeregel?
Keine dreifache Stellungswiederholung (schwierig umzusetzen)


Alles getan ! happy

0.8.5
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1047
Wohnort: Niederbayern

BeitragVerfasst am: 29.01.2013, 02:14    Titel: Antworten mit Zitat

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 ! happy

0.8.5


Bauernumwandlung funktioniert nicht! (Grafikfehler??)
Gewinne aber relativ leicht.
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 193
Wohnort: Frankreich

BeitragVerfasst am: 29.01.2013, 05:34    Titel: Antworten mit Zitat

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. traurig


Zuletzt bearbeitet von Roland Chastain am 29.01.2013, 07:35, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ichhalt



Anmeldungsdatum: 25.01.2013
Beiträge: 39

BeitragVerfasst am: 29.01.2013, 07:28    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 193
Wohnort: Frankreich

BeitragVerfasst am: 29.01.2013, 07:46    Titel: Antworten mit Zitat

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. zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ichhalt



Anmeldungsdatum: 25.01.2013
Beiträge: 39

BeitragVerfasst am: 29.01.2013, 07:58    Titel: Antworten mit Zitat

Du koenntest auch nen player vs player modus einbauen mit tsne

EDIT: eventuell tsne play benutzen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 193
Wohnort: Frankreich

BeitragVerfasst am: 29.01.2013, 10:56    Titel: Antworten mit Zitat

ichhalt hat Folgendes geschrieben:
Du koenntest auch nen player vs player modus einbauen mit tsne

EDIT: eventuell tsne play benutzen


Gute Idee. lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Muttonhead



Anmeldungsdatum: 26.08.2008
Beiträge: 564
Wohnort: Jüterbog

BeitragVerfasst am: 29.01.2013, 17:41    Titel: Antworten mit Zitat

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...
verlegen
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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 193
Wohnort: Frankreich

BeitragVerfasst am: 29.01.2013, 18:19    Titel: Antworten mit Zitat

Es funktioniert perfekt. Danke viel, Muttonhead !

happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 31.01.2013, 17:33    Titel: Antworten mit Zitat



Habe hier ein paar Figuren in 3D (wavefront OBJ format) vielleicht hast Du ja verwendung dafür lächeln

http://eternalpain.tgp-gaming.de/WWWZIP/schachfiguren.zip
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 193
Wohnort: Frankreich

BeitragVerfasst am: 01.02.2013, 22:04    Titel: Antworten mit Zitat

Sehr hübsch, danke ! Ich werde das Code sehen.

[edit]

Kein Code Beispiel ? Wie kann man das benutzen ?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 02.02.2013, 07:27    Titel: Antworten mit Zitat

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 zwinkern

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 lächeln

Du könntest die obj dateien aber auch mit einer 3D-Engine (zB OpenB3D) direkt laden und benutzen...
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 193
Wohnort: Frankreich

BeitragVerfasst am: 02.02.2013, 15:40    Titel: Antworten mit Zitat

Interessant ! Danke, Eternal_pain.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 193
Wohnort: Frankreich

BeitragVerfasst am: 27.10.2013, 23:21    Titel: Antworten mit Zitat

Hallo !

Da ist eine Alpha Version meines neues Programms.

Eschecs 0.8.6.

lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6  Weiter
Seite 4 von 6

 
Gehe zu:  
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.

 Impressum :: Datenschutz