Как исползовать struct с enum - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Начал писать простенькие шахматы (просто с соблюдением правильности ходов). Вот набросок:
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. typedef struct{
  4. enum color {White,Black};
  5. enum pieceName {Pawn,Knight,Bishop,Rook,Queen,King};
  6. }Piece;
  7. typedef struct{
  8. enum vertical {a=1,b,c,d,e,f,g,h};
  9. int horizontal[8] = {1,2,3,4,5,6,7,8};
  10. Piece p;
  11. }Field;
  12. Field board[8][8];
  13. int initialize(){
  14. enum vertical a;
  15. int j;
  16. for(i=a;i<=h;i++){
  17. for(j=1;j<=8;j++){
  18. if(i==a){
  19. if(j==1 || j==8){
  20. Piece whiteRook;
  21. // board[i][j].piece =
  22. }
  23. }
  24. }
  25. }
  26. }
  27. int move(Field from, Field to){
  28. if(isLegalMove(from, to)){
  29. return 1;
  30. }
  31. else{
  32. return 0;
  33. }
  34. }
  35. int isLegalMove(Field from, Field to){
  36. return 1;
  37. }
  38. int main(void) {
  39.  
  40. return EXIT_SUCCESS;
  41. }
Не знаю как присвоить полям фигуры. Помогите пожалуйста.

Решение задачи: «Как исползовать struct с enum»

textual
Листинг программы
  1. enum color {w, b};
  2.  
  3. enum piece_type {pawn, knight, bishop, rook, queen, king};
  4.  
  5. struct piece
  6. {
  7.    enum color color;
  8.    enum piece_type piece;
  9. }
  10.  
  11. /* Создаем объект струкуры */
  12. struct piece p;
  13. /* Заполнение структуры */
  14. p.color = b;
  15. p.piece = rook;
  16.  
  17. /* Или то же самое, но сразу при создании */
  18. struct piece p = {b, rook};

Объяснение кода листинга программы

  1. Объявляется перечисление color с двумя значениями: w и b.
  2. Объявляется перечисление piece_type с шестью значениями: pawn, knight, bishop, rook, queen, king.
  3. Создается структура piece, которая содержит два поля: color и piece.
  4. Инициализируется объект структуры piece с именем p.
  5. Присваивается значение полю color объекта p равное b.
  6. Присваивается значение полю piece объекта p равное rook.
  7. Или же можно инициализировать объект структуры piece сразу при создании с помощью списка значений в фигурных скобках, например, b, rook.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут