Fundamentos:Solucións:Bomber
De ASIRodeira
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.
Índice |
Solucións de Xavi
Makefile
Ficheiro de construcción do programa.
Podes Descargar o Makefile
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
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
d=(GtkFileChooser *)glade_xml_get_widget(__gui,"gardar"); gtk_file_chooser_set_do_overwrite_confirmation(d,TRUE);
Na función main.
Interface
Descargar GUI (ficheiro xml tablero.glade)
Descargar Debuxos (Descomprimir na carpeta do programa)
Pseudocódigo
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



