FLUTTER ECOSYSTEM

flutter-team-archive/pinball

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

Projektcover von Kugelbahn
Stars
2314
Forks
273
Letzter Push (UTC)
08.06.2026
Projektstatus
Archiviert
Flutter archive GitHub avatar
GITHUB Organization

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

Original-README

Englischer Projektschnappschuss. Aktuelle Inhalte auf GitHub.

Projekt-README ein-/ausklappen

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"
    }
}