Это правильный способ доступа к элементам массива? - PullRequest
1 голос
/ 10 июля 2020

У меня есть массив, заполненный единицами и нулями, также у меня есть два светодиода (1 = левый светодиод / 0 = правый светодиод)

int Game[100]

И у меня есть массив, в который я записываю действия пользователя (используя джойстик). ((Первоначальная идея с этим массивом заключалась в том, чтобы постоянно увеличивать его размер на единицу ... но я читал, что вы не можете этого сделать и вам нужно реализовать «связанный список», но пока, хорошо.))

int Player[2]

Я хочу go через все элементы массива «Game», но только через один элемент

    int i;
    for(i = 0; i <= 100; i++) {
        if(Game[i] == 1) {
            // Left LED ON
            // Left LED OFF
        }
        else if (Game[i] == 0) {
            // Right LED ON
            // Right LED ON
        }

То есть, сначала я хочу взять два элемента из массив, включите светодиоды ... дождитесь ввода пользователя ... затем возьмите другой элемент (повторите первые два) и так далее. Есть ли способ сделать это?

1 Ответ

0 голосов
/ 10 июля 2020

Я не уверен, каков ваш точный мотив, но я думаю, что могу помочь вам получить доступ к элементам один за другим в зависимости от ввода пользователя. Проверьте мой код: (Надеюсь, вы найдете что-то полезное)

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int Game[100];
    int i,j=0;
    //filling each element with 1s and 0s
    for(i=0;i<100;i++)
    {
        if(i%2==0)
           Game[i]=0;
        else
           Game[1]=1;
     }
     i=0;
     printf("User Input(-1 to Quit): ");
     scanf("%d",&j);
     while(j!=-1 && i<100)
     {
         //your code
         if(Game[i] == 1)
         {
            // Left LED ON
            // Left LED OFF
         }
         else
         {
            // Right LED ON
            // Right LED ON
         }
         ++i;
         printf("Another User Input(-1 to quit): ");
         scanf("%d",&j);
    }
    return 0;
}
...