Fundamentos:Solucións:Bomber
Escribir un Xogo no que participan dous xogadores nun taboleiro de 8x8. En cada turno un xogador pode moverse ou poñer unha bomba, perdendo o xogador que non poda efectuar o seu movemento. Un xogador non poderá mover si a casilla á que se ten que desplazar está ocupada por unha bomba ou por outro xogador. As bombas impiden o paso tanto o xogador contrario como ó que as puxo, e teñen unha duración de 5 turnos.
Solucións de Xavi
Makefile
Ficheiro de construcción do programa.
Podes Descargar o Makefile <c> FLAGS = `pkg-config --cflags --libs libglade-2.0` FLAGSC = `pkg-config --cflags libglade-2.0`
bomber: bomber.c gcc bomber.c -o bomber $(FLAGS) -export-dynamic </c>
Aplicación GTK
E preciso ter a versión 2.8 das Gtk para que funcione o diálogo de acerca de... Si non se ten o GTK+ 2.8 é necesario comentar as liñas <c>
d=(GtkFileChooser *)glade_xml_get_widget(__gui,"gardar"); gtk_file_chooser_set_do_overwrite_confirmation(d,TRUE);
</c>
Na función main.
Interface
Descargar GUI (ficheiro xml tablero.glade)
Descargar Debuxos (Descomprimir na carpeta do programa)
Pseudocódigo
<c>
Cando se pulse unha tecla de movemento ou click no rato Segun a Xogada Si e moverse: comprobar que se pode e moverse Si e poñer bomba: comprobar que se pode e poñela Fin Segun Si o xogador efectuou a súa xogada Cambio de xogador Decrementar as bombas, si procede Comprobar que o outro xogador non perdeu Fin-Si
</c>