Pakete, Repositories und App-Kategorien suchen

GitHub-Repositoryflutter-team-archive/pinball

Kugelbahn

Pinball-Spiel von Google I/O 2022, erstellt mit Flutter und Firebase

Projektcover von Kugelbahn
Sterne
2311
Forks
273
Letzter Push (UTC)
08.06.2026
Projektstatus
Archiviert

Original-README

Englischer Projektschnappschuss. Aktuelle Inhalte auf GitHub.

I/O Pinball

Pinball Header

io_pinball coverage style: very good analysis License: MIT

A Pinball game built with Flutter and Firebase for Google I/O 2022.

Try it now and learn about how it's made.

Built by Very Good Ventures in partnership with Google

Created using Very Good CLI 🤖


Getting Started 🚀

Firebase

First, please create a Firebase project for development. After you create your project, remember to activate the following features: - Authentication with the anonymous option - Firestore with the rules in firestore.rules.

Next, use the instructions on Firebase website to set up the flutterfire_cli.

Allow it to override the lib/firebase_options.dart file with your project settings.

Running locally

To run the desired project either use the launch configuration in VSCode/Android Studio or use the following commands:

$ flutter run -d chrome

*I/O Pinball works on Web for desktop and mobile.


Running Tests 🧪

To run all unit and widget tests use the following command:

$ flutter test --coverage --test-randomize-ordering-seed random

To view the generated coverage report you can use lcov.

# Generate Coverage Report
$ genhtml coverage/lcov.info -o coverage/
# Open Coverage Report
$ open coverage/index.html

Working with Translations 🌐

This project relies on flutter_localizations and follows the official internationalization guide for Flutter.

Adding Strings
  1. To add a new localizable string, open the app_en.arb file at lib/l10n/arb/app_en.arb.
{
    "@@locale": "en",
    "counterAppBarTitle": "Counter",
    "@counterAppBarTitle": {
        "description": "Text shown in the AppBar of the Counter Page"
    }
}
  1. Then add a new key/value and description
{
    "@@locale": "en",
    "counterAppBarTitle": "Counter",
    "@counterAppBarTitle": {
        "description": "Text shown in the AppBar of the Counter Page"
    },
    "helloWorld": "Hello World",
    "@helloWorld": {
        "description": "Hello World Text"
    }
}
  1. Use the new string
import 'package:pinball/l10n/l10n.dart';

@override
Widget build(BuildContext context) {
  final l10n = context.l10n;
  return Text(l10n.helloWorld);
}
Adding Translations
  1. For each supported locale, add a new ARB file in lib/l10n/arb.
├── l10n
│   ├── arb
│   │   ├── app_en.arb
│   │   └── app_es.arb
  1. Add the translated strings to each .arb file:

app_en.arb

{
    "@@locale": "en",
    "counterAppBarTitle": "Counter",
    "@counterAppBarTitle": {
        "description": "Text shown in the AppBar of the Counter Page"
    }
}

app_es.arb

{
    "@@locale": "es",
    "counterAppBarTitle": "Contador",
    "@counterAppBarTitle": {
        "description": "Texto mostrado en la AppBar de la página del contador"
    }
}
Flutter archive GitHub avatar
GitHub-Autor

Flutter archive ↗

Archive of inactive repos formerly part of https://github.com/flutter

SprachenDartHTMLJavaScript

Verwendete Abhängigkeiten

Abhängigkeiten 28 Einträge

  • authentication_repository{"path":"packages/authentication_repository"}
  • bloc^8.1.4
  • cloud_firestore^5.0.2
  • equatable^2.0.3
  • firebase_auth^5.1.1
  • firebase_core^3.1.1
  • flame^1.18.0
  • flame_bloc^1.12.0
  • flame_forge2d^0.18.1
  • flutter{"sdk":"flutter"}
  • flutter_bloc^8.0.1
  • flutter_localizations{"sdk":"flutter"}
  • geometry{"path":"packages/geometry"}
  • intl^0.19.0
  • leaderboard_repository{"path":"packages/leaderboard_repository"}
  • pinball_audio{"path":"packages/pinball_audio"}
  • pinball_components{"path":"packages/pinball_components"}
  • pinball_flame{"path":"packages/pinball_flame"}
  • pinball_theme{"path":"packages/pinball_theme"}
  • pinball_ui{"path":"packages/pinball_ui"}
  • platform_helper{"path":"packages/platform_helper"}
  • share_repository{"path":"packages/share_repository"}
  • url_launcher^6.1.0
  • bloc_testEntwicklung^9.0.2
  • flame_testEntwicklung^1.3.0
  • flutter_testEntwicklung{"sdk":"flutter"}
  • mocktailEntwicklung^1.0.4
  • very_good_analysisEntwicklung^6.0.0

Wie wähle ich ein passendes Repository?

Nach Anwendungsfall filtern, Aktivität vergleichen und vor der Nutzung das Originalprojekt prüfen.

  1. Nach Name, Autor oder Beschreibung suchen und nach Thema eingrenzen.
  2. Sterne, Forks und letzte Pushes vergleichen. Sterne zeigen Interesse, garantieren aber keine Qualität.
  3. Vor der Nutzung README, Lizenz und Issues auf GitHub prüfen.

Quellen und Pflege

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗