Fundamentos:Solucións:Bomber

De Wiki do Ciclo ASIR do IES de Rodeira
Revisión feita o 26 de xuño de 2014 ás 11:09 por Xavi (conversa | contribucións) (Nova páxina: "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 ...")
(dif) ← Revisión máis antiga | Revisión actual (dif) | Revisión máis nova → (dif)
Saltar á navegación Saltar á procura

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>

Implementación en C

Ver/Descargar